import { ChacaUtils } from "../../core/utils"; import { DatatypeModule } from "../datatype"; export declare type ZipCodeProps = { format?: string; }; export declare type CountryProps = { continent?: "Asia" | "Africa" | "Oseania" | "Europe" | "South America" | "North America" | "Antartica"; }; export declare type LatitudeProps = { max?: number; min?: number; precision?: number; }; export declare type LongitudProps = { max?: number; min?: number; precision?: number; }; export declare class AddressModule { private readonly utils; private readonly datatypeModule; constructor(utils: ChacaUtils, datatypeModule: DatatypeModule); readonly constants: { timeZones: string[]; countries: { country: string; continent: string; }[]; countriesCode: string[]; cardinalDirections: string[]; ordinalDirection: string[]; }; /** * Returns a zip code * @param args.format format of the zip code. Default '#####' * @example * modules.address.zipCode() // '62581' * modules.address.zipCode({ format: '###' }) // '453' * @returns string */ zipCode({ format: iformat }?: ZipCodeProps): string; /** * Returns a time zone * @example modules.address.timeZone() // "Asia/Magadan" * @returns string */ timeZone(): string; /** * Returns a cardinal direction * @example modules.address.cardinalDirection()// 'North' * @returns string */ cardinalDirection(): string; /** * Returns a country * @param args.continent Continent of the country that you want * @example modules.address.country() // 'Spain' * @returns string */ country({ continent }?: CountryProps): string; /** * Returns a country name code * @example modules.address.countryCode() // 'CU' * @returns string */ countryCode(): string; /** * Returns a random ordinal direction (northwest, southeast, etc). * * @example * modules.address.ordinalDirection() // 'Northeast' */ ordinalDirection(): string; /** * Generates a random latitude. * * @param options.max The upper bound for the latitude to generate. Defaults to `90`. * @param options.min The lower bound for the latitude to generate. Defaults to `-90`. * @param options.precision The number of decimal points of precision for the latitude. Defaults to `4`. * * @example * modules.address.latitude() // -30.9501 * modules.address.latitude({ max: 10 }) // 5.7225 * modules.address.latitude({ max: 10, min: -10 }) // -9.6273 * modules.address.latitude({ max: 10, min: -10, precision: 5 }) // 2.68452 */ latitude(options?: LatitudeProps): number; /** * Generates a random longitude. * * @param options.max The upper bound for the longitude to generate. Defaults to `180`. * @param options.min The lower bound for the longitude to generate. Defaults to `-180`. * @param options.precision The number of decimal points of precision for the longitude. Defaults to `4`. * * @example * modules.address.longitude() // -30.9501 * modules.address.longitude({ max: 10 }) // 5.7225 * modules.address.longitude({ max: 10, min: -10 }) // -9.6273 * modules.address.longitude({ max: 10, min: -10, precision: 5 }) // 2.68452 */ longitude(options?: LongitudProps): number; }