UNPKG

@horizon-modules/jetimob-crm-integration

Version:

Integração CRM Jetimob para conversão de dados imobiliários para property-model-v3

893 lines (883 loc) 31.2 kB
import { z } from 'zod'; declare const JetimobImovelSchema: z.ZodObject<{ codigo: z.ZodString; titulo_anuncio: z.ZodOptional<z.ZodString>; descricao_anuncio: z.ZodOptional<z.ZodString>; observacoes: z.ZodOptional<z.ZodString>; meta_title: z.ZodOptional<z.ZodString>; meta_description: z.ZodOptional<z.ZodString>; data_cadastro: z.ZodOptional<z.ZodString>; data_update: z.ZodOptional<z.ZodString>; data_atualizacao: z.ZodOptional<z.ZodString>; updated_at: z.ZodOptional<z.ZodString>; medida: z.ZodOptional<z.ZodString>; contrato: z.ZodOptional<z.ZodString>; tipo: z.ZodOptional<z.ZodString>; subtipo: z.ZodOptional<z.ZodString>; tags: z.ZodOptional<z.ZodString>; imovel_comodidades: z.ZodOptional<z.ZodString>; dormitorios: z.ZodOptional<z.ZodString>; suites: z.ZodOptional<z.ZodString>; banheiros: z.ZodOptional<z.ZodString>; garagens: z.ZodOptional<z.ZodString>; area_total: z.ZodOptional<z.ZodString>; area_privativa: z.ZodOptional<z.ZodString>; area_util: z.ZodOptional<z.ZodString>; status: z.ZodOptional<z.ZodString>; situacao: z.ZodOptional<z.ZodString>; destaque: z.ZodOptional<z.ZodString>; seguro_fianca: z.ZodOptional<z.ZodString>; tipo_construcao: z.ZodOptional<z.ZodString>; entrega_ano: z.ZodOptional<z.ZodString>; entrega_mes: z.ZodOptional<z.ZodString>; mobiliado: z.ZodOptional<z.ZodString>; permuta: z.ZodOptional<z.ZodString>; financiavel: z.ZodOptional<z.ZodString>; exclusividade: z.ZodOptional<z.ZodString>; tipo_piso: z.ZodOptional<z.ZodString>; terreno_frente: z.ZodOptional<z.ZodString>; terreno_fundos: z.ZodOptional<z.ZodString>; terreno_esquerdo: z.ZodOptional<z.ZodString>; terreno_direita: z.ZodOptional<z.ZodString>; terreno_total: z.ZodOptional<z.ZodString>; medida_terreno_total: z.ZodOptional<z.ZodString>; rural: z.ZodOptional<z.ZodObject<{ atividade_rural: z.ZodOptional<z.ZodString>; rural_sedes: z.ZodOptional<z.ZodString>; rural_area_aravel: z.ZodOptional<z.ZodString>; medida_total_area_aravel: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { atividade_rural?: string | undefined; rural_sedes?: string | undefined; rural_area_aravel?: string | undefined; medida_total_area_aravel?: string | undefined; }, { atividade_rural?: string | undefined; rural_sedes?: string | undefined; rural_area_aravel?: string | undefined; medida_total_area_aravel?: string | undefined; }>>; numero_pessoas: z.ZodOptional<z.ZodString>; calendario_temporada: z.ZodOptional<z.ZodString>; posicao: z.ZodOptional<z.ZodString>; posicao_solar: z.ZodOptional<z.ZodString>; distancia_mar: z.ZodOptional<z.ZodString>; valor_venda_visivel: z.ZodOptional<z.ZodString>; valor_venda: z.ZodOptional<z.ZodString>; valor_locacao_visivel: z.ZodOptional<z.ZodString>; valor_locacao: z.ZodOptional<z.ZodString>; valor_temporada_visivel: z.ZodOptional<z.ZodString>; valor_temporada: z.ZodOptional<z.ZodString>; valor_condominio_visivel: z.ZodOptional<z.ZodString>; valor_condominio: z.ZodOptional<z.ZodString>; periodicidade_iptu: z.ZodOptional<z.ZodString>; valor_iptu_visivel: z.ZodOptional<z.ZodString>; valor_iptu: z.ZodOptional<z.ZodString>; valor_seguro_incendio: z.ZodOptional<z.ZodString>; valor_taxa_limpeza: z.ZodOptional<z.ZodString>; endereco_estado: z.ZodOptional<z.ZodString>; endereco_cidade: z.ZodOptional<z.ZodString>; endereco_bairro: z.ZodOptional<z.ZodString>; endereco_zona: z.ZodOptional<z.ZodString>; endereco_logradouro: z.ZodOptional<z.ZodString>; endereco_cep: z.ZodOptional<z.ZodString>; endereco_referencia: z.ZodOptional<z.ZodString>; endereco_numero: z.ZodOptional<z.ZodString>; andar: z.ZodOptional<z.ZodString>; latitude: z.ZodOptional<z.ZodString>; longitude: z.ZodOptional<z.ZodString>; endereco_complemento: z.ZodOptional<z.ZodString>; endereco_numero_visivel: z.ZodOptional<z.ZodString>; endereco_referencia_visivel: z.ZodOptional<z.ZodString>; endereco_logradouro_visivel: z.ZodOptional<z.ZodString>; endereco_bairro_visivel: z.ZodOptional<z.ZodString>; endereco_cidade_visivel: z.ZodOptional<z.ZodString>; endereco_estado_visivel: z.ZodOptional<z.ZodString>; endereco_complemento_visivel: z.ZodOptional<z.ZodString>; andar_visivel: z.ZodOptional<z.ZodString>; geoposicionamento_visivel: z.ZodOptional<z.ZodString>; videos: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; plantas: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; imagens: z.ZodOptional<z.ZodArray<z.ZodObject<{ link: z.ZodString; titulo: z.ZodOptional<z.ZodString>; link_thumb: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { link: string; titulo?: string | undefined; link_thumb?: string | undefined; }, { link: string; titulo?: string | undefined; link_thumb?: string | undefined; }>, "many">>; tour360: z.ZodOptional<z.ZodString>; id_corretor: z.ZodOptional<z.ZodString>; id_condominio: z.ZodOptional<z.ZodString>; id_subcondominio: z.ZodOptional<z.ZodString>; condominio_tipo: z.ZodOptional<z.ZodString>; condominio_nome: z.ZodOptional<z.ZodString>; condominio_fechado: z.ZodOptional<z.ZodString>; condominio_comodidades: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { codigo: string; status?: string | undefined; titulo_anuncio?: string | undefined; descricao_anuncio?: string | undefined; observacoes?: string | undefined; meta_title?: string | undefined; meta_description?: string | undefined; data_cadastro?: string | undefined; data_update?: string | undefined; data_atualizacao?: string | undefined; updated_at?: string | undefined; medida?: string | undefined; contrato?: string | undefined; tipo?: string | undefined; subtipo?: string | undefined; tags?: string | undefined; imovel_comodidades?: string | undefined; dormitorios?: string | undefined; suites?: string | undefined; banheiros?: string | undefined; garagens?: string | undefined; area_total?: string | undefined; area_privativa?: string | undefined; area_util?: string | undefined; situacao?: string | undefined; destaque?: string | undefined; seguro_fianca?: string | undefined; tipo_construcao?: string | undefined; entrega_ano?: string | undefined; entrega_mes?: string | undefined; mobiliado?: string | undefined; permuta?: string | undefined; financiavel?: string | undefined; exclusividade?: string | undefined; tipo_piso?: string | undefined; terreno_frente?: string | undefined; terreno_fundos?: string | undefined; terreno_esquerdo?: string | undefined; terreno_direita?: string | undefined; terreno_total?: string | undefined; medida_terreno_total?: string | undefined; rural?: { atividade_rural?: string | undefined; rural_sedes?: string | undefined; rural_area_aravel?: string | undefined; medida_total_area_aravel?: string | undefined; } | undefined; numero_pessoas?: string | undefined; calendario_temporada?: string | undefined; posicao?: string | undefined; posicao_solar?: string | undefined; distancia_mar?: string | undefined; valor_venda_visivel?: string | undefined; valor_venda?: string | undefined; valor_locacao_visivel?: string | undefined; valor_locacao?: string | undefined; valor_temporada_visivel?: string | undefined; valor_temporada?: string | undefined; valor_condominio_visivel?: string | undefined; valor_condominio?: string | undefined; periodicidade_iptu?: string | undefined; valor_iptu_visivel?: string | undefined; valor_iptu?: string | undefined; valor_seguro_incendio?: string | undefined; valor_taxa_limpeza?: string | undefined; endereco_estado?: string | undefined; endereco_cidade?: string | undefined; endereco_bairro?: string | undefined; endereco_zona?: string | undefined; endereco_logradouro?: string | undefined; endereco_cep?: string | undefined; endereco_referencia?: string | undefined; endereco_numero?: string | undefined; andar?: string | undefined; latitude?: string | undefined; longitude?: string | undefined; endereco_complemento?: string | undefined; endereco_numero_visivel?: string | undefined; endereco_referencia_visivel?: string | undefined; endereco_logradouro_visivel?: string | undefined; endereco_bairro_visivel?: string | undefined; endereco_cidade_visivel?: string | undefined; endereco_estado_visivel?: string | undefined; endereco_complemento_visivel?: string | undefined; andar_visivel?: string | undefined; geoposicionamento_visivel?: string | undefined; videos?: string[] | undefined; plantas?: string[] | undefined; imagens?: { link: string; titulo?: string | undefined; link_thumb?: string | undefined; }[] | undefined; tour360?: string | undefined; id_corretor?: string | undefined; id_condominio?: string | undefined; id_subcondominio?: string | undefined; condominio_tipo?: string | undefined; condominio_nome?: string | undefined; condominio_fechado?: string | undefined; condominio_comodidades?: string | undefined; }, { codigo: string; status?: string | undefined; titulo_anuncio?: string | undefined; descricao_anuncio?: string | undefined; observacoes?: string | undefined; meta_title?: string | undefined; meta_description?: string | undefined; data_cadastro?: string | undefined; data_update?: string | undefined; data_atualizacao?: string | undefined; updated_at?: string | undefined; medida?: string | undefined; contrato?: string | undefined; tipo?: string | undefined; subtipo?: string | undefined; tags?: string | undefined; imovel_comodidades?: string | undefined; dormitorios?: string | undefined; suites?: string | undefined; banheiros?: string | undefined; garagens?: string | undefined; area_total?: string | undefined; area_privativa?: string | undefined; area_util?: string | undefined; situacao?: string | undefined; destaque?: string | undefined; seguro_fianca?: string | undefined; tipo_construcao?: string | undefined; entrega_ano?: string | undefined; entrega_mes?: string | undefined; mobiliado?: string | undefined; permuta?: string | undefined; financiavel?: string | undefined; exclusividade?: string | undefined; tipo_piso?: string | undefined; terreno_frente?: string | undefined; terreno_fundos?: string | undefined; terreno_esquerdo?: string | undefined; terreno_direita?: string | undefined; terreno_total?: string | undefined; medida_terreno_total?: string | undefined; rural?: { atividade_rural?: string | undefined; rural_sedes?: string | undefined; rural_area_aravel?: string | undefined; medida_total_area_aravel?: string | undefined; } | undefined; numero_pessoas?: string | undefined; calendario_temporada?: string | undefined; posicao?: string | undefined; posicao_solar?: string | undefined; distancia_mar?: string | undefined; valor_venda_visivel?: string | undefined; valor_venda?: string | undefined; valor_locacao_visivel?: string | undefined; valor_locacao?: string | undefined; valor_temporada_visivel?: string | undefined; valor_temporada?: string | undefined; valor_condominio_visivel?: string | undefined; valor_condominio?: string | undefined; periodicidade_iptu?: string | undefined; valor_iptu_visivel?: string | undefined; valor_iptu?: string | undefined; valor_seguro_incendio?: string | undefined; valor_taxa_limpeza?: string | undefined; endereco_estado?: string | undefined; endereco_cidade?: string | undefined; endereco_bairro?: string | undefined; endereco_zona?: string | undefined; endereco_logradouro?: string | undefined; endereco_cep?: string | undefined; endereco_referencia?: string | undefined; endereco_numero?: string | undefined; andar?: string | undefined; latitude?: string | undefined; longitude?: string | undefined; endereco_complemento?: string | undefined; endereco_numero_visivel?: string | undefined; endereco_referencia_visivel?: string | undefined; endereco_logradouro_visivel?: string | undefined; endereco_bairro_visivel?: string | undefined; endereco_cidade_visivel?: string | undefined; endereco_estado_visivel?: string | undefined; endereco_complemento_visivel?: string | undefined; andar_visivel?: string | undefined; geoposicionamento_visivel?: string | undefined; videos?: string[] | undefined; plantas?: string[] | undefined; imagens?: { link: string; titulo?: string | undefined; link_thumb?: string | undefined; }[] | undefined; tour360?: string | undefined; id_corretor?: string | undefined; id_condominio?: string | undefined; id_subcondominio?: string | undefined; condominio_tipo?: string | undefined; condominio_nome?: string | undefined; condominio_fechado?: string | undefined; condominio_comodidades?: string | undefined; }>; type JetimobImovel = z.infer<typeof JetimobImovelSchema>; declare const PropertyModelSchema: z.ZodObject<{ reference: z.ZodString; title: z.ZodString; description: z.ZodString; seo: z.ZodOptional<z.ZodObject<{ meta_title: z.ZodOptional<z.ZodString>; meta_description: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { meta_title?: string | undefined; meta_description?: string | undefined; }, { meta_title?: string | undefined; meta_description?: string | undefined; }>>; media_assets: z.ZodObject<{ images: z.ZodOptional<z.ZodArray<z.ZodObject<{ full: z.ZodString; md: z.ZodOptional<z.ZodString>; sm: z.ZodOptional<z.ZodString>; cover: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { full: string; md?: string | undefined; sm?: string | undefined; cover?: boolean | undefined; }, { full: string; md?: string | undefined; sm?: string | undefined; cover?: boolean | undefined; }>, "many">>; videos: z.ZodOptional<z.ZodArray<z.ZodObject<{ provider: z.ZodOptional<z.ZodString>; id: z.ZodOptional<z.ZodString>; embed_url: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { provider?: string | undefined; id?: string | undefined; embed_url?: string | undefined; }, { provider?: string | undefined; id?: string | undefined; embed_url?: string | undefined; }>, "many">>; virtual_tours: z.ZodOptional<z.ZodArray<z.ZodObject<{ embed_url: z.ZodString; }, "strip", z.ZodTypeAny, { embed_url: string; }, { embed_url: string; }>, "many">>; documents: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; url: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; url: string; }, { name: string; url: string; }>, "many">>; }, "strip", z.ZodTypeAny, { videos?: { provider?: string | undefined; id?: string | undefined; embed_url?: string | undefined; }[] | undefined; images?: { full: string; md?: string | undefined; sm?: string | undefined; cover?: boolean | undefined; }[] | undefined; virtual_tours?: { embed_url: string; }[] | undefined; documents?: { name: string; url: string; }[] | undefined; }, { videos?: { provider?: string | undefined; id?: string | undefined; embed_url?: string | undefined; }[] | undefined; images?: { full: string; md?: string | undefined; sm?: string | undefined; cover?: boolean | undefined; }[] | undefined; virtual_tours?: { embed_url: string; }[] | undefined; documents?: { name: string; url: string; }[] | undefined; }>; attributes: z.ZodRecord<z.ZodString, z.ZodAny>; settings: z.ZodOptional<z.ZodObject<{ currency_unit: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"BRL">, z.ZodLiteral<"USD">]>>; area_unit: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"m2">, z.ZodLiteral<"ft2">]>>; distance_unit: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"km">, z.ZodLiteral<"mi">, z.ZodLiteral<"meters">]>>; exibir_no_mapa: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { currency_unit?: "BRL" | "USD" | undefined; area_unit?: "m2" | "ft2" | undefined; distance_unit?: "km" | "mi" | "meters" | undefined; exibir_no_mapa?: boolean | undefined; }, { currency_unit?: "BRL" | "USD" | undefined; area_unit?: "m2" | "ft2" | undefined; distance_unit?: "km" | "mi" | "meters" | undefined; exibir_no_mapa?: boolean | undefined; }>>; updated_at: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { reference: string; title: string; description: string; media_assets: { videos?: { provider?: string | undefined; id?: string | undefined; embed_url?: string | undefined; }[] | undefined; images?: { full: string; md?: string | undefined; sm?: string | undefined; cover?: boolean | undefined; }[] | undefined; virtual_tours?: { embed_url: string; }[] | undefined; documents?: { name: string; url: string; }[] | undefined; }; attributes: Record<string, any>; updated_at?: string | undefined; seo?: { meta_title?: string | undefined; meta_description?: string | undefined; } | undefined; settings?: { currency_unit?: "BRL" | "USD" | undefined; area_unit?: "m2" | "ft2" | undefined; distance_unit?: "km" | "mi" | "meters" | undefined; exibir_no_mapa?: boolean | undefined; } | undefined; }, { reference: string; title: string; description: string; media_assets: { videos?: { provider?: string | undefined; id?: string | undefined; embed_url?: string | undefined; }[] | undefined; images?: { full: string; md?: string | undefined; sm?: string | undefined; cover?: boolean | undefined; }[] | undefined; virtual_tours?: { embed_url: string; }[] | undefined; documents?: { name: string; url: string; }[] | undefined; }; attributes: Record<string, any>; updated_at?: string | undefined; seo?: { meta_title?: string | undefined; meta_description?: string | undefined; } | undefined; settings?: { currency_unit?: "BRL" | "USD" | undefined; area_unit?: "m2" | "ft2" | undefined; distance_unit?: "km" | "mi" | "meters" | undefined; exibir_no_mapa?: boolean | undefined; } | undefined; }>; type PropertyModel = z.infer<typeof PropertyModelSchema>; /** * Converte um imóvel do formato Jetimob para o formato PropertyV3 * Baseado no MAPEAMENTO_COMPLETO_DE_PARA.md */ declare function convertJetimobToPropertyV3(imovel: JetimobImovel): PropertyModel; declare class JetimobApiClient { private webserviceKey; private baseUrl; constructor(config: { webserviceKey: string; baseUrl?: string; }); private request; getImoveis(page?: number, pageSize?: number): Promise<any>; getImovel(id: string | number): Promise<any>; testConnection(): Promise<any>; } interface JetimobDownloaderConfig { webserviceKey: string; outputDir: string; baseUrl?: string; } interface DownloadOptions { page?: number; pageSize?: number; startPage?: number; endPage?: number; maxPages?: number; } interface DownloadResult { totalPages: number; totalItems: number; downloadedItems: number; errors: string[]; } interface ApiUploadConfig { endpoint: string; headers?: Record<string, string>; convertData?: boolean; } interface UploadResult { totalProcessed: number; totalSent: number; totalErrors: number; errors: string[]; } declare class JetimobDownloader { private apiClient; private outputDir; constructor(config: JetimobDownloaderConfig); private ensureOutputDir; private savePageData; downloadPage(page: number, pageSize?: number): Promise<void>; downloadPages(options?: DownloadOptions): Promise<DownloadResult>; downloadAll(pageSize?: number): Promise<DownloadResult>; uploadToApi(uploadConfig: ApiUploadConfig): Promise<UploadResult>; downloadAndUpload(downloadOptions: DownloadOptions, uploadConfig: ApiUploadConfig): Promise<{ downloadResult: DownloadResult; uploadResult: UploadResult; }>; } interface FieldConfig { maxExamples?: number; } interface ProfilerConfig { inputDir: string; outputDir: string; outputFileName?: string; fieldConfigs?: Record<string, FieldConfig>; defaultMaxExamples?: number; verbose?: boolean; uniqueField?: string; dataLabel?: string; serviceLabel?: string; } type ProfileResult = Record<string, any[]>; /** * Serviço genérico para análise e profiling de dados JSON * Baseado no ProfilerService do Arbo-CRM */ declare class ProfilerService { private config; private fieldData; private fieldExamples; constructor(config: ProfilerConfig); profile(): Promise<ProfileResult>; private loadData; private processData; private processObject; private processArrayField; private processSimpleField; private generateResult; private saveResult; /** * Método para analisar apenas dados únicos * Remove duplicatas baseado no campo configurado em uniqueField */ profileUnique(): Promise<ProfileResult>; } declare const fakeData: { apartamentos: { codigo: string; titulo_anuncio: string; observacoes: string; contrato: string; tipo: string; subtipo: string; mobiliado: number; financiavel: number; exclusividade: boolean; medida: string; endereco_estado: string; endereco_cidade: string; data_cadastro: string; data_update: string; data_atualizacao: string; updated_at: string; dormitorios: number; suites: number; banheiros: number; garagens: number; area_total: number; area_privativa: number; andar: number; valor_venda: number; endereco_bairro: string; endereco_logradouro: string; endereco_numero: string; endereco_cep: string; endereco_complemento: string; latitude: number; longitude: number; imovel_comodidades: string; imagens: { link: string; titulo: string; link_thumb: string; }[]; videos: never[]; tour360: never[]; plantas: never[]; valor_venda_visivel: boolean; valor_locacao_visivel: boolean; valor_temporada_visivel: boolean; valor_condominio_visivel: boolean; valor_iptu_visivel: boolean; endereco_estado_visivel: boolean; endereco_cidade_visivel: boolean; endereco_bairro_visivel: boolean; endereco_logradouro_visivel: boolean; endereco_numero_visivel: boolean; endereco_complemento_visivel: boolean; }[]; casas: { codigo: string; titulo_anuncio: string; observacoes: string; contrato: string; tipo: string; subtipo: string; mobiliado: number; financiavel: number; exclusividade: boolean; medida: string; endereco_estado: string; endereco_cidade: string; data_cadastro: string; data_update: string; data_atualizacao: string; updated_at: string; dormitorios: number; suites: number; banheiros: number; garagens: number; area_total: number; area_privativa: number; terreno_total: number; valor_venda: number; endereco_bairro: string; endereco_logradouro: string; endereco_numero: string; endereco_cep: string; endereco_complemento: string; latitude: number; longitude: number; imovel_comodidades: string; imagens: { link: string; titulo: string; link_thumb: string; }[]; videos: never[]; tour360: never[]; plantas: never[]; valor_venda_visivel: boolean; valor_locacao_visivel: boolean; valor_temporada_visivel: boolean; valor_condominio_visivel: boolean; valor_iptu_visivel: boolean; endereco_estado_visivel: boolean; endereco_cidade_visivel: boolean; endereco_bairro_visivel: boolean; endereco_logradouro_visivel: boolean; endereco_numero_visivel: boolean; endereco_complemento_visivel: boolean; }[]; comerciais: { codigo: string; titulo_anuncio: string; observacoes: string; contrato: string; tipo: string; mobiliado: number; financiavel: number; exclusividade: boolean; medida: string; endereco_estado: string; endereco_cidade: string; data_cadastro: string; data_update: string; data_atualizacao: string; updated_at: string; subtipo: string; banheiros: number; garagens: number; area_total: number; area_privativa: number; andar: number; valor_venda: number; endereco_bairro: string; endereco_logradouro: string; endereco_numero: string; endereco_cep: string; endereco_complemento: string; latitude: number; longitude: number; imovel_comodidades: string; imagens: { link: string; titulo: string; link_thumb: string; }[]; videos: never[]; tour360: never[]; plantas: never[]; valor_venda_visivel: boolean; valor_locacao_visivel: boolean; valor_temporada_visivel: boolean; valor_condominio_visivel: boolean; valor_iptu_visivel: boolean; endereco_estado_visivel: boolean; endereco_cidade_visivel: boolean; endereco_bairro_visivel: boolean; endereco_logradouro_visivel: boolean; endereco_numero_visivel: boolean; endereco_complemento_visivel: boolean; }[]; terrenos: { codigo: string; titulo_anuncio: string; observacoes: string; contrato: string; tipo: string; subtipo: string; mobiliado: number; financiavel: number; exclusividade: boolean; dormitorios: number; suites: number; banheiros: number; area_total: number; area_privativa: number; medida: string; endereco_estado: string; endereco_cidade: string; data_cadastro: string; data_update: string; data_atualizacao: string; updated_at: string; terreno_total: number; valor_venda: number; endereco_bairro: string; endereco_logradouro: string; endereco_numero: string; endereco_cep: string; endereco_complemento: string; latitude: number; longitude: number; imovel_comodidades: string; imagens: { link: string; titulo: string; link_thumb: string; }[]; videos: never[]; tour360: never[]; plantas: never[]; valor_venda_visivel: boolean; valor_locacao_visivel: boolean; valor_temporada_visivel: boolean; valor_condominio_visivel: boolean; valor_iptu_visivel: boolean; endereco_estado_visivel: boolean; endereco_cidade_visivel: boolean; endereco_bairro_visivel: boolean; endereco_logradouro_visivel: boolean; endereco_numero_visivel: boolean; endereco_complemento_visivel: boolean; }[]; coberturas: { codigo: string; titulo_anuncio: string; observacoes: string; contrato: string; tipo: string; subtipo: string; mobiliado: number; financiavel: number; exclusividade: boolean; medida: string; endereco_estado: string; endereco_cidade: string; data_cadastro: string; data_update: string; data_atualizacao: string; updated_at: string; dormitorios: number; suites: number; banheiros: number; garagens: number; area_total: number; area_privativa: number; andar: number; valor_venda: number; endereco_bairro: string; endereco_logradouro: string; endereco_numero: string; endereco_cep: string; endereco_complemento: string; latitude: number; longitude: number; imovel_comodidades: string; imagens: { link: string; titulo: string; link_thumb: string; }[]; videos: never[]; tour360: never[]; plantas: never[]; valor_venda_visivel: boolean; valor_locacao_visivel: boolean; valor_temporada_visivel: boolean; valor_condominio_visivel: boolean; valor_iptu_visivel: boolean; endereco_estado_visivel: boolean; endereco_cidade_visivel: boolean; endereco_bairro_visivel: boolean; endereco_logradouro_visivel: boolean; endereco_numero_visivel: boolean; endereco_complemento_visivel: boolean; }[]; }; export { type FieldConfig, JetimobApiClient, JetimobDownloader, type JetimobImovel, type ProfileResult, type ProfilerConfig, ProfilerService, type PropertyModel, convertJetimobToPropertyV3, fakeData };