@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
TypeScript
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 };