export interface ArticleItem {
  articleNumber: string;
  articleName: string;
  buildingType: string;
  tradeType: string;
  realEstateType: string;
  spaceInfo: {
    supplySpace: number;
    exclusiveSpace: number;
    landSpace: number;
    exclusiveSpaceName: string;
  };
  buildingInfo: {
    buildingConjunctionDateType: string;
    buildingConjunctionDate: string;
    approvalElapsedYear: number;
  };
  verificationInfo: {
    verificationType: string;
    isAssociationArticle: boolean;
    exposureStartDate: string;
    articleConfirmDate: string;
  };
  articleDetail: {
    direction: string;
    directionStandard: string;
    articleFeatureDescription: string;
    directTrade: boolean;
    floorInfo: string;
    floorDetailInfo: {
      targetFloor: string;
      totalFloor: string;
      groundTotalFloor: string;
      undergroundTotalFloor: string;
      floorType: string;
    };
    isSafeLessorOfHug: boolean;
  };
  articleMedia: {
    imageUrl: string;
    imageType: string;
    imageCount: number;
    isVrExposed: boolean;
  };
  address: {
    city: string;
    division: string;
    sector: string;
    coordinates: {
      xCoordinate: number;
      yCoordinate: number;
    };
    subwayInfo: any;
  };
  priceInfo: {
    dealPrice: number;
    warrantyPrice: number;
    rentPrice: number;
    managementFeeAmount: number;
    priceChangeStatus: number;
  };
  [key: string]: any;
}

export interface ArticleResponse {
  seed: string;
  lastInfo: (string | number)[];
  hasNextPage: boolean;
  list: Array<{
    representativeArticleInfo: ArticleItem;
  }>;
}

export interface NaverRealEstateConfig {
  realtorId: string;
  seed?: string;
  baseUrl?: string;
  tradeTypes?: string[];
  realestateTypes?: string[];
}
