/** * Mexico Address Model * * Extends Address with Mexico-specific accessors for the standard * Mexican address format: street, exteriorNumber, interiorNumber, neighborhood. */ import type { MexAddressData } from "@artu-ai/shared"; import { Address } from "../Address"; /** * Mexico-specific address data */ export type { MexAddressData }; /** * Mexico Address Model. * * Extends `Address` with Mexico-specific accessors for the standard * Mexican address format. * * @example * ```typescript * if (address instanceof MexAddress) { * console.log(`Street: ${address.street}`); * console.log(`Number: ${address.exteriorNumber}`); * console.log(`Neighborhood: ${address.neighborhood}`); * console.log(`Formatted: ${address.formattedMexican}`); * } * ``` */ export declare class MexAddress extends Address { /** * Mexico-specific address data */ protected get mexicoData(): MexAddressData | undefined; /** * Exterior number (número exterior) * @example "222", "S/N" */ get exteriorNumber(): string | undefined; /** * Interior number (número interior) * @example "Piso 5", "Depto. 301", "Local A" */ get interiorNumber(): string | undefined; /** * Neighborhood/Colony (colonia) * @example "Juárez", "Roma Norte", "Polanco" */ get neighborhood(): string | undefined; /** * Municipality or delegation (municipio/alcaldía) * @example "Cuauhtémoc", "Miguel Hidalgo" */ get municipality(): string | undefined; /** * Between streets reference (entre calles) * @example "Between Varsovia and Praga" */ get betweenStreets(): string | undefined; /** * Additional reference (referencia) * @example "Blue building in front of the park" */ get reference(): string | undefined; /** * Street address line with number (Mexican format) * @example "Paseo de la Reforma 222 Int. Piso 5" */ get streetLine(): string; /** * Returns a formatted single-line address in Mexican format * @example "Paseo de la Reforma 222, Col. Juárez, 06600 Ciudad de México, CDMX" */ get formattedMexican(): string; /** * Returns a formatted multi-line address in Mexican format */ get formattedMexicanMultiLine(): string; /** * Override the base formatted to use Mexican format */ get formatted(): string; /** * Override the base formattedMultiLine to use Mexican format */ get formattedMultiLine(): string; toString(): string; } import type { AddressModel } from "../types"; /** * Check if address is a Mexico address */ export declare function isMexAddress(address: AddressModel): address is MexAddress;