@horizon-modules/arbo-crm-integration
Version:
Integração CRM Arbo para conversion de dados imobiliários para property-model-v3
1,691 lines (1,683 loc) • 118 kB
text/typescript
import { z } from 'zod';
export { PropertyModel } from '@horizon-modules/property-model-v3';
declare const ArboImovelSchema: z.ZodObject<{
ref_id: z.ZodNumber;
codigo: z.ZodString;
titulo: z.ZodString;
descricao: z.ZodString;
finalidade: z.ZodString;
categoria: z.ZodString;
tipo_imovel: z.ZodString;
status_comercial: z.ZodOptional<z.ZodString>;
categoria_imovel: z.ZodOptional<z.ZodString>;
valor_venda: z.ZodOptional<z.ZodNumber>;
valor_aluguel: z.ZodOptional<z.ZodNumber>;
valor_condominio: z.ZodOptional<z.ZodNumber>;
valor_iptu: z.ZodOptional<z.ZodNumber>;
qtd_banheiro: z.ZodOptional<z.ZodNumber>;
qtd_quartos: z.ZodOptional<z.ZodNumber>;
qtd_suites: z.ZodOptional<z.ZodNumber>;
qtd_vagas: z.ZodOptional<z.ZodNumber>;
area_total: z.ZodOptional<z.ZodNumber>;
area_privativa: z.ZodOptional<z.ZodNumber>;
end_cep: z.ZodOptional<z.ZodString>;
end_estado: z.ZodOptional<z.ZodString>;
end_cidade: z.ZodOptional<z.ZodString>;
end_bairro: z.ZodOptional<z.ZodString>;
end_logradouro: z.ZodOptional<z.ZodString>;
end_numero: z.ZodOptional<z.ZodNumber>;
end_complemento: z.ZodOptional<z.ZodString>;
end_condominio: z.ZodOptional<z.ZodString>;
latitude: z.ZodOptional<z.ZodNumber>;
longitude: z.ZodOptional<z.ZodNumber>;
caracteristicas: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
mobiliado: z.ZodOptional<z.ZodBoolean>;
permuta: z.ZodOptional<z.ZodBoolean>;
financiamento: z.ZodOptional<z.ZodBoolean>;
fotos: z.ZodOptional<z.ZodArray<z.ZodObject<{
url: z.ZodString;
ordem: z.ZodOptional<z.ZodNumber>;
principal: z.ZodOptional<z.ZodBoolean>;
marcadagua_url: z.ZodOptional<z.ZodString>;
sizes: z.ZodOptional<z.ZodObject<{
medium: z.ZodOptional<z.ZodString>;
small: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
medium?: string | undefined;
small?: string | undefined;
}, {
medium?: string | undefined;
small?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
url: string;
ordem?: number | undefined;
principal?: boolean | undefined;
marcadagua_url?: string | undefined;
sizes?: {
medium?: string | undefined;
small?: string | undefined;
} | undefined;
}, {
url: string;
ordem?: number | undefined;
principal?: boolean | undefined;
marcadagua_url?: string | undefined;
sizes?: {
medium?: string | undefined;
small?: string | undefined;
} | undefined;
}>, "many">>;
url_video: z.ZodOptional<z.ZodString>;
url_tour: z.ZodOptional<z.ZodString>;
corretor: z.ZodOptional<z.ZodObject<{
codigo: z.ZodOptional<z.ZodNumber>;
nome: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
codigo?: number | undefined;
nome?: string | undefined;
}, {
codigo?: number | undefined;
nome?: string | undefined;
}>>;
created_at: z.ZodString;
updated_at: z.ZodString;
}, "strip", z.ZodTypeAny, {
categoria: string;
codigo: string;
ref_id: number;
titulo: string;
descricao: string;
finalidade: string;
tipo_imovel: string;
created_at: string;
updated_at: string;
qtd_banheiro?: number | undefined;
area_privativa?: number | undefined;
qtd_quartos?: number | undefined;
valor_venda?: number | undefined;
area_total?: number | undefined;
categoria_imovel?: string | undefined;
end_bairro?: string | undefined;
latitude?: number | undefined;
caracteristicas?: string[] | undefined;
end_cep?: string | undefined;
longitude?: number | undefined;
end_cidade?: string | undefined;
fotos?: {
url: string;
ordem?: number | undefined;
principal?: boolean | undefined;
marcadagua_url?: string | undefined;
sizes?: {
medium?: string | undefined;
small?: string | undefined;
} | undefined;
}[] | undefined;
end_logradouro?: string | undefined;
status_comercial?: string | undefined;
valor_aluguel?: number | undefined;
valor_condominio?: number | undefined;
valor_iptu?: number | undefined;
qtd_suites?: number | undefined;
qtd_vagas?: number | undefined;
end_estado?: string | undefined;
end_numero?: number | undefined;
end_complemento?: string | undefined;
end_condominio?: string | undefined;
mobiliado?: boolean | undefined;
permuta?: boolean | undefined;
financiamento?: boolean | undefined;
url_video?: string | undefined;
url_tour?: string | undefined;
corretor?: {
codigo?: number | undefined;
nome?: string | undefined;
} | undefined;
}, {
categoria: string;
codigo: string;
ref_id: number;
titulo: string;
descricao: string;
finalidade: string;
tipo_imovel: string;
created_at: string;
updated_at: string;
qtd_banheiro?: number | undefined;
area_privativa?: number | undefined;
qtd_quartos?: number | undefined;
valor_venda?: number | undefined;
area_total?: number | undefined;
categoria_imovel?: string | undefined;
end_bairro?: string | undefined;
latitude?: number | undefined;
caracteristicas?: string[] | undefined;
end_cep?: string | undefined;
longitude?: number | undefined;
end_cidade?: string | undefined;
fotos?: {
url: string;
ordem?: number | undefined;
principal?: boolean | undefined;
marcadagua_url?: string | undefined;
sizes?: {
medium?: string | undefined;
small?: string | undefined;
} | undefined;
}[] | undefined;
end_logradouro?: string | undefined;
status_comercial?: string | undefined;
valor_aluguel?: number | undefined;
valor_condominio?: number | undefined;
valor_iptu?: number | undefined;
qtd_suites?: number | undefined;
qtd_vagas?: number | undefined;
end_estado?: string | undefined;
end_numero?: number | undefined;
end_complemento?: string | undefined;
end_condominio?: string | undefined;
mobiliado?: boolean | undefined;
permuta?: boolean | undefined;
financiamento?: boolean | undefined;
url_video?: string | undefined;
url_tour?: string | undefined;
corretor?: {
codigo?: number | undefined;
nome?: string | undefined;
} | undefined;
}>;
type ArboImovel = z.infer<typeof ArboImovelSchema>;
declare const PropertyModelSchema: z.ZodObject<{
reference: z.ZodString;
title: z.ZodString;
description: z.ZodString;
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, {
url: string;
name: string;
}, {
url: string;
name: string;
}>, "many">>;
}, "strip", z.ZodTypeAny, {
images?: {
full: string;
md?: string | undefined;
sm?: string | undefined;
cover?: boolean | undefined;
}[] | undefined;
videos?: {
provider?: string | undefined;
id?: string | undefined;
embed_url?: string | undefined;
}[] | undefined;
virtual_tours?: {
embed_url: string;
}[] | undefined;
documents?: {
url: string;
name: string;
}[] | undefined;
}, {
images?: {
full: string;
md?: string | undefined;
sm?: string | undefined;
cover?: boolean | undefined;
}[] | undefined;
videos?: {
provider?: string | undefined;
id?: string | undefined;
embed_url?: string | undefined;
}[] | undefined;
virtual_tours?: {
embed_url: string;
}[] | undefined;
documents?: {
url: string;
name: 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: {
images?: {
full: string;
md?: string | undefined;
sm?: string | undefined;
cover?: boolean | undefined;
}[] | undefined;
videos?: {
provider?: string | undefined;
id?: string | undefined;
embed_url?: string | undefined;
}[] | undefined;
virtual_tours?: {
embed_url: string;
}[] | undefined;
documents?: {
url: string;
name: string;
}[] | undefined;
};
attributes: Record<string, any>;
updated_at?: string | 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: {
images?: {
full: string;
md?: string | undefined;
sm?: string | undefined;
cover?: boolean | undefined;
}[] | undefined;
videos?: {
provider?: string | undefined;
id?: string | undefined;
embed_url?: string | undefined;
}[] | undefined;
virtual_tours?: {
embed_url: string;
}[] | undefined;
documents?: {
url: string;
name: string;
}[] | undefined;
};
attributes: Record<string, any>;
updated_at?: string | 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>;
declare function convertArboToPropertyV3(imovel: ArboImovel): PropertyModel;
interface ArboApiClientConfig {
token: string;
baseUrl?: string;
}
interface ArboApiResponse<T> {
data: T;
meta?: {
current_page: number;
from: number;
last_page: number;
per_page: number;
to: number;
total: number;
};
}
interface ArboDownloaderConfig {
token: string;
outputDir: string;
baseUrl?: string;
}
interface DownloadOptions {
page?: number;
perPage?: 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>;
}
interface UploadResult {
totalProcessed: number;
totalSent: number;
totalErrors: number;
errors: string[];
}
declare class ArboApiClient {
private token;
private baseUrl;
constructor(config: ArboApiClientConfig);
private request;
getImoveis(page?: number, perPage?: number): Promise<ArboApiResponse<ArboImovel[]>>;
getImovel(id: string | number): Promise<ArboImovel>;
searchImoveis(searchParams: Record<string, any>, page?: number, perPage?: number): Promise<ArboApiResponse<ArboImovel[]>>;
getAllPages(perPage?: number): Promise<ArboImovel[]>;
}
declare class ArboDownloader {
private apiClient;
private outputDir;
constructor(config: ArboDownloaderConfig);
private ensureOutputDir;
private savePageData;
downloadPage(page: number, perPage?: number): Promise<void>;
downloadPages(options?: DownloadOptions): Promise<DownloadResult>;
downloadAll(perPage?: 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;
}
type ProfileResult = Record<string, any[]>;
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;
}
declare const testMocks: {
validos: ({
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
valor_venda: number;
area_privativa: number;
"corretor.codigo": number;
end_logradouro: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
observacoes: string;
qtd_banheiro?: undefined;
area_construida?: undefined;
area_terreno?: undefined;
area_total?: undefined;
caracteristicas?: undefined;
condominio?: undefined;
end_numero?: undefined;
latitude?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
qtd_banheiro: number;
area_construida: number;
area_terreno: number;
valor_venda: number;
area_total: number;
caracteristicas: string;
condominio: number;
"corretor.codigo": number;
end_logradouro: string;
end_numero: number;
latitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
area_privativa?: undefined;
end_bairro?: undefined;
end_cidade?: undefined;
end_estado?: undefined;
longitude?: undefined;
observacoes?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
qtd_banheiro: number;
area_construida: number;
valor_venda: number;
area_total: number;
end_bairro: string;
end_cep: string;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
end_logradouro: string;
end_numero: string;
end_cidade: string;
end_estado: string;
area_privativa?: undefined;
"corretor.codigo"?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
caracteristicas?: undefined;
condominio?: undefined;
latitude?: undefined;
codigo_origem?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_banheiro: number;
area_construida: number;
valor_venda: number;
area_privativa: number;
area_total: number;
codigo_origem: string;
condominio: number;
"corretor.codigo": number;
end_logradouro: string;
end_numero: number;
end_cidade: string;
end_estado: string;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_quartos?: undefined;
end_bairro?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
caracteristicas?: undefined;
latitude?: undefined;
end_cep?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
valor_venda: number;
area_total: number;
categoria_imovel: string;
end_logradouro: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
end_cep: string;
latitude: number;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_suites: number;
area_privativa?: undefined;
"corretor.codigo"?: undefined;
observacoes?: undefined;
qtd_banheiro?: undefined;
area_construida?: undefined;
area_terreno?: undefined;
caracteristicas?: undefined;
condominio?: undefined;
end_numero?: undefined;
codigo_origem?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
area_construida: number;
valor_locacao: number;
area_privativa: number;
area_total: number;
caracteristicas: string;
categoria_imovel: string;
"corretor.codigo": number;
end_logradouro: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
end_cep: string;
latitude: number;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
observacoes: string;
qtd_quartos?: undefined;
valor_venda?: undefined;
qtd_banheiro?: undefined;
area_terreno?: undefined;
condominio?: undefined;
end_numero?: undefined;
codigo_origem?: undefined;
qtd_suites?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
qtd_banheiro: number;
area_construida: number;
area_privativa: number;
area_total: number;
condominio: number;
"corretor.codigo": number;
qtd_suites: number;
end_logradouro: string;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
valor_venda?: undefined;
longitude?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
caracteristicas?: undefined;
latitude?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
categoria_imovel?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
area_construida: number;
qtd_banheiro: number;
valor_locacao: number;
andar: number;
area_privativa: number;
caracteristicas: string;
categoria_imovel: string;
end_logradouro: string;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_quartos?: undefined;
valor_venda?: undefined;
"corretor.codigo"?: undefined;
longitude?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
area_total?: undefined;
condominio?: undefined;
latitude?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
qtd_suites?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
area_construida: number;
andar: number;
caracteristicas: string;
codigo_origem: string;
condominio: number;
"corretor.codigo": number;
end_logradouro: string;
end_bairro: string;
end_estado: string;
end_cep: string;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_quartos?: undefined;
valor_venda?: undefined;
area_privativa?: undefined;
end_cidade?: undefined;
observacoes?: undefined;
qtd_banheiro?: undefined;
area_terreno?: undefined;
area_total?: undefined;
end_numero?: undefined;
latitude?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
valor_locacao?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
qtd_banheiro: number;
area_construida: number;
area_terreno: number;
area_privativa: number;
area_total: number;
"corretor.codigo": number;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
latitude: number;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_suites: number;
end_logradouro: string;
valor_venda?: undefined;
observacoes?: undefined;
caracteristicas?: undefined;
condominio?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
categoria_imovel?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
qtd_banheiro: number;
valor_venda: number;
area_privativa: number;
area_total: number;
caracteristicas: string;
categoria_imovel: string;
condominio: number;
"corretor.codigo": number;
qtd_suites: number;
end_logradouro: string;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
longitude?: undefined;
observacoes?: undefined;
area_construida?: undefined;
area_terreno?: undefined;
latitude?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
area_construida: number;
valor_venda: number;
caracteristicas: string;
categoria_imovel: string;
"corretor.codigo": number;
qtd_suites: number;
end_logradouro: string;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
area_privativa?: undefined;
longitude?: undefined;
observacoes?: undefined;
qtd_banheiro?: undefined;
area_terreno?: undefined;
area_total?: undefined;
condominio?: undefined;
latitude?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
area_construida: number;
qtd_banheiro: number;
valor_locacao: number;
andar: number;
area_privativa: number;
area_total: number;
caracteristicas: string;
categoria_imovel: string;
codigo_origem: string;
condominio: number;
end_logradouro: string;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_quartos?: undefined;
valor_venda?: undefined;
"corretor.codigo"?: undefined;
longitude?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
latitude?: undefined;
end_cep?: undefined;
qtd_suites?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
area_construida: number;
area_terreno: number;
valor_venda: number;
caracteristicas: string;
categoria_imovel: string;
codigo_origem: string;
qtd_suites: number;
end_logradouro: string;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
area_privativa?: undefined;
"corretor.codigo"?: undefined;
longitude?: undefined;
observacoes?: undefined;
qtd_banheiro?: undefined;
area_total?: undefined;
condominio?: undefined;
latitude?: undefined;
end_cep?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
qtd_banheiro: number;
area_construida: number;
valor_venda: number;
area_total: number;
caracteristicas: string;
codigo_origem: string;
"corretor.codigo": number;
end_logradouro: string;
end_numero: number;
end_bairro: string;
end_cidade: string;
end_estado: string;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
area_privativa?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
condominio?: undefined;
latitude?: undefined;
end_cep?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
valor_venda: number;
area_privativa: number;
condominio: number;
"corretor.codigo": number;
end_logradouro: string;
end_numero: number;
end_bairro: string;
end_cidade: string;
end_estado: string;
latitude: number;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_quartos?: undefined;
observacoes?: undefined;
qtd_banheiro?: undefined;
area_construida?: undefined;
area_terreno?: undefined;
area_total?: undefined;
caracteristicas?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
area_construida: number;
qtd_banheiro: number;
valor_locacao: number;
andar: number;
area_total: number;
categoria_imovel: string;
codigo_origem: string;
condominio: number;
"corretor.codigo": number;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
end_cep: string;
latitude: number;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
end_logradouro: string;
qtd_quartos?: undefined;
valor_venda?: undefined;
area_privativa?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
caracteristicas?: undefined;
qtd_suites?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
qtd_banheiro: number;
area_terreno: number;
valor_venda: number;
codigo_origem: string;
condominio: number;
"corretor.codigo": number;
end_logradouro: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_suites: number;
area_privativa?: undefined;
longitude?: undefined;
observacoes?: undefined;
area_construida?: undefined;
area_total?: undefined;
caracteristicas?: undefined;
end_numero?: undefined;
latitude?: undefined;
end_cep?: undefined;
categoria_imovel?: undefined;
valor_locacao?: undefined;
andar?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
area_construida: number;
qtd_banheiro: number;
valor_locacao: number;
andar: number;
area_privativa: number;
area_total: number;
caracteristicas: string;
condominio: number;
end_logradouro: string;
end_numero: string;
end_bairro: string;
end_cidade: string;
end_estado: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
qtd_quartos?: undefined;
valor_venda?: undefined;
"corretor.codigo"?: undefined;
longitude?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
latitude?: undefined;
end_cep?: undefined;
codigo_origem?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
finalidade: string;
ativo: boolean;
publicado: boolean;
created_at: string;
updated_at: string;
qtd_quartos: number;
qtd_banheiro: number;
area_construida: number;
valor_venda: number;
area_privativa: number;
caracteristicas: string;
condominio: number;
end_logradouro: string;
end_bairro: string;
end_cep: string;
longitude: number;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
"corretor.codigo"?: undefined;
end_cidade?: undefined;
end_estado?: undefined;
observacoes?: undefined;
area_terreno?: undefined;
area_total?: undefined;
end_numero?: undefined;
latitude?: undefined;
codigo_origem?: undefined;
categoria_imovel?: undefined;
qtd_suites?: undefined;
valor_locacao?: undefined;
andar?: undefined;
})[];
problematicos: ({
codigo: string;
titulo: string;
descricao: null;
categoria: string;
valor_venda: number;
area_construida: null;
qtd_quartos?: undefined;
qtd_banheiro?: undefined;
andar?: undefined;
end_logradouro?: undefined;
end_numero?: undefined;
observacoes?: undefined;
fotos?: undefined;
caracteristicas?: undefined;
emp_fields?: undefined;
valor_locacao?: undefined;
finalidade?: undefined;
end_cidade?: undefined;
end_bairro?: undefined;
ativo?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
qtd_quartos: number;
qtd_banheiro: number;
area_construida: number;
valor_venda: number;
andar: number;
categoria?: undefined;
end_logradouro?: undefined;
end_numero?: undefined;
observacoes?: undefined;
fotos?: undefined;
caracteristicas?: undefined;
emp_fields?: undefined;
valor_locacao?: undefined;
finalidade?: undefined;
end_cidade?: undefined;
end_bairro?: undefined;
ativo?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
end_logradouro: string;
end_numero: string;
observacoes: string;
categoria?: undefined;
valor_venda?: undefined;
area_construida?: undefined;
qtd_quartos?: undefined;
qtd_banheiro?: undefined;
andar?: undefined;
fotos?: undefined;
caracteristicas?: undefined;
emp_fields?: undefined;
valor_locacao?: undefined;
finalidade?: undefined;
end_cidade?: undefined;
end_bairro?: undefined;
ativo?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
fotos: never[];
caracteristicas: never[];
emp_fields: never[];
categoria?: undefined;
valor_venda?: undefined;
area_construida?: undefined;
qtd_quartos?: undefined;
qtd_banheiro?: undefined;
andar?: undefined;
end_logradouro?: undefined;
end_numero?: undefined;
observacoes?: undefined;
valor_locacao?: undefined;
finalidade?: undefined;
end_cidade?: undefined;
end_bairro?: undefined;
ativo?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
qtd_quartos: number;
area_construida: number;
valor_locacao: number;
finalidade: string;
valor_venda?: undefined;
qtd_banheiro?: undefined;
andar?: undefined;
end_logradouro?: undefined;
end_numero?: undefined;
observacoes?: undefined;
fotos?: undefined;
caracteristicas?: undefined;
emp_fields?: undefined;
end_cidade?: undefined;
end_bairro?: undefined;
ativo?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: null;
end_cidade: string;
end_bairro: string;
valor_venda?: undefined;
area_construida?: undefined;
qtd_quartos?: undefined;
qtd_banheiro?: undefined;
andar?: undefined;
end_logradouro?: undefined;
end_numero?: undefined;
observacoes?: undefined;
fotos?: undefined;
caracteristicas?: undefined;
emp_fields?: undefined;
valor_locacao?: undefined;
finalidade?: undefined;
ativo?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
qtd_quartos: number;
area_construida: number;
valor_venda: number;
andar: number;
categoria?: undefined;
qtd_banheiro?: undefined;
end_logradouro?: undefined;
end_numero?: undefined;
observacoes?: undefined;
fotos?: undefined;
caracteristicas?: undefined;
emp_fields?: undefined;
valor_locacao?: undefined;
finalidade?: undefined;
end_cidade?: undefined;
end_bairro?: undefined;
ativo?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
qtd_quartos: string;
area_construida: string;
valor_venda: string;
ativo: string;
categoria?: undefined;
qtd_banheiro?: undefined;
andar?: undefined;
end_logradouro?: undefined;
end_numero?: undefined;
observacoes?: undefined;
fotos?: undefined;
caracteristicas?: undefined;
emp_fields?: undefined;
valor_locacao?: undefined;
finalidade?: undefined;
end_cidade?: undefined;
end_bairro?: undefined;
})[];
};
declare const fakeData: {
apartamentos: ({
codigo: string;
titulo: string;
descricao: string;
categoria: string;
ativo: boolean;
publicado: boolean;
destaque: boolean;
created_at: string;
updated_at: string;
finalidade: string;
qtd_quartos: number;
qtd_banheiro: number;
qtd_suites: number;
area_construida: number;
qtd_vagas: number;
andar: number;
valor_venda: number;
valor_locacao: number;
valor_condominio: number;
end_bairro: string;
end_cidade: string;
end_estado: string;
end_cep: string;
end_logradouro: string;
end_numero: string;
area_privativa: number;
categoria_imovel: string;
codigo_origem: string;
condominio: number;
observacoes: string;
data_disponibilidade: string;
status: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
area_total?: undefined;
caracteristicas?: undefined;
"corretor.codigo"?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
ativo: boolean;
publicado: boolean;
destaque: boolean;
created_at: string;
updated_at: string;
finalidade: string;
qtd_quartos: number;
qtd_banheiro: number;
qtd_suites: number;
area_construida: number;
qtd_vagas: number;
andar: number;
valor_venda: number;
valor_locacao: number;
valor_condominio: number;
end_bairro: string;
end_cidade: string;
end_estado: string;
end_cep: string;
end_logradouro: string;
end_numero: string;
area_privativa: number;
area_total: number;
data_disponibilidade: string;
status: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
categoria_imovel?: undefined;
codigo_origem?: undefined;
condominio?: undefined;
observacoes?: undefined;
caracteristicas?: undefined;
"corretor.codigo"?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
ativo: boolean;
publicado: boolean;
destaque: boolean;
created_at: string;
updated_at: string;
finalidade: string;
qtd_quartos: number;
qtd_banheiro: number;
qtd_suites: number;
area_construida: number;
qtd_vagas: number;
andar: number;
valor_venda: number;
valor_locacao: number;
valor_condominio: number;
end_bairro: string;
end_cidade: string;
end_estado: string;
end_cep: string;
end_logradouro: string;
end_numero: string;
codigo_origem: string;
data_disponibilidade: string;
status: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
area_privativa?: undefined;
categoria_imovel?: undefined;
condominio?: undefined;
observacoes?: undefined;
area_total?: undefined;
caracteristicas?: undefined;
"corretor.codigo"?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
ativo: boolean;
publicado: boolean;
destaque: boolean;
created_at: string;
updated_at: string;
finalidade: string;
qtd_quartos: number;
qtd_banheiro: number;
qtd_suites: number;
area_construida: number;
qtd_vagas: number;
andar: number;
valor_venda: number;
valor_locacao: number;
valor_condominio: number;
end_bairro: string;
end_cidade: string;
end_estado: string;
end_cep: string;
end_logradouro: string;
end_numero: string;
caracteristicas: string[];
codigo_origem: string;
condominio: number;
"corretor.codigo": number;
observacoes: string;
data_disponibilidade: string;
status: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
area_privativa?: undefined;
categoria_imovel?: undefined;
area_total?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
ativo: boolean;
publicado: boolean;
destaque: boolean;
created_at: string;
updated_at: string;
finalidade: string;
qtd_quartos: number;
qtd_banheiro: number;
qtd_suites: number;
area_construida: number;
qtd_vagas: number;
andar: number;
valor_venda: number;
valor_locacao: number;
valor_condominio: number;
end_bairro: string;
end_cidade: string;
end_estado: string;
end_cep: string;
end_logradouro: string;
end_numero: string;
area_privativa: number;
categoria_imovel: string;
codigo_origem: string;
condominio: number;
data_disponibilidade: string;
status: string;
fotos: {
id: string;
url: string;
descricao: string;
destaque: boolean;
ordem: number;
}[];
observacoes?: undefined;
area_total?: undefined;
caracteristicas?: undefined;
"corretor.codigo"?: undefined;
} | {
codigo: string;
titulo: string;
descricao: string;
categoria: string;
ativo: boolean;
publicado: boolean;
destaque: boolean;
created_at: string;
updated_at: string;
finalidade: string;
qtd_quartos: number;
qtd_banheiro: number;
qtd_suites: number;
area_construida: number;
qtd_vagas: