import type React from 'react'; import type { FiasLocale } from '../locale/index.js'; import type { FiasAllFields, FiasAdditionalFields, FiasAddressErrors, FiasAddressFields, FiasAddressResponse, FiasAddressValue, FiasAPIProvider, FiasCountry, FiasFieldsSettings, FiasId, FiasValue, FiasVerifyResponse, FiasSchema } from '../types.js'; import { FiasExtraFields, FiasFields, FiasDivision } from '../types.js'; import { FiasAddressElement } from './FiasAddressElement.js'; export interface FiasAddressOptions { fields?: FiasAddressFields; additionalFields?: FiasAdditionalFields; errors?: FiasAddressErrors; country?: FiasCountry; foreignAddress?: string; } export declare class FiasAddress { static MAIN_FIELDS: FiasFields[]; static ADDITIONAL_FIELDS: FiasExtraFields[]; static ALL_FIELDS: (FiasFields | FiasExtraFields)[]; static FULL_ADDRESS_SEARCH_FIELDS: FiasFields[]; static NOT_ONLY_DIRECT_PARENT_SEARCH_FIELDS: FiasFields[]; static IS_RUSSIA: (country: FiasCountry) => boolean; private static isCountryFull; static responseToFields: (response: FiasAddressResponse) => FiasAddressFields; static fieldsToResponse: (fields: FiasAddressFields) => FiasAddressResponse; static createFromResponse: (response: FiasAddressResponse, additionalFields?: FiasAdditionalFields, country?: FiasCountry) => FiasAddress; static createFromAddressValue: (addressValue: FiasAddressValue, additionalFields?: FiasAdditionalFields, country?: FiasCountry) => FiasAddress; static createFromAddress: (address: FiasAddress, options: FiasAddressOptions) => FiasAddress; static validate: (address: FiasAddress, locale: FiasLocale, fieldsSettings: FiasFieldsSettings) => FiasAddress; private static validateField; static verify: (address: FiasAddress, response: FiasVerifyResponse) => FiasAddress; static filterVisibleFields: (fields: { [key in FiasFields]?: any; }, fieldsSettings: FiasFieldsSettings) => { [key in FiasFields]?: any; }; static isFieldVisible: (field: FiasAllFields, fieldsSettings: FiasFieldsSettings) => boolean; static getParentFields: (field: FiasFields) => FiasFields[]; static getChildFields: (field: FiasFields) => FiasFields[]; static removeFiasData: (address: FiasAddress, fields?: FiasFields[]) => FiasAddress; static getAddress: (api: FiasAPIProvider, value?: Partial, fieldsSettings?: FiasFieldsSettings) => Promise; /** * @see https://yt.skbkontur.ru/issue/IF-1134 */ convertToOriginalFields: () => FiasAddress; /** * @see https://yt.skbkontur.ru/issue/IF-165 */ convertToCorrectFields: ({ division }: { division: FiasDivision; }) => FiasAddress; fields: FiasAddressFields; additionalFields: FiasAdditionalFields; errors: FiasAddressErrors; country: FiasCountry | undefined; foreignAddress: string; constructor({ fields, additionalFields, errors, country, foreignAddress }?: FiasAddressOptions); get isForeign(): boolean; get hasMainFields(): boolean; get isEmpty(): boolean; get hasErrors(): boolean; get postalCode(): string; get isPostalCodeValid(): boolean; get isPostalCodeAltered(): boolean; hasError(field: FiasAllFields): boolean; getError(field: FiasAllFields): React.ReactNode | undefined; getAddressErrors: () => { region?: React.ReactNode; district?: React.ReactNode; municipaldistrict?: React.ReactNode; city?: React.ReactNode; intracityarea?: React.ReactNode; urbansettlement?: React.ReactNode; settlement?: React.ReactNode; planningstructure?: React.ReactNode; street?: React.ReactNode; stead?: React.ReactNode; house?: React.ReactNode; garhouse?: React.ReactNode; room?: React.ReactNode; apartment?: React.ReactNode; postalcode?: React.ReactNode; }; getText: (minField?: FiasFields, skipTypes?: boolean, connector?: string) => string; getFullText: (withPostalCode?: boolean) => string; isAllowedToFill: (field: FiasFields) => boolean; private isFiasData; isAllowedToSearchFullAddress: (field: FiasFields) => boolean; isAllowedToSearchFieldOnlyInClosestFilledParent: (field: FiasFields, fieldsSettings: FiasFieldsSettings, { division, schema }: { division: FiasDivision; schema: FiasSchema; }) => boolean; hasOnlyIndirectParent: (field?: FiasFields) => boolean; getClosestParentFiasId: (field: FiasFields) => FiasId | undefined; getFiasId: () => FiasId; getParent: (field: FiasFields) => FiasAddressElement | undefined; getFiasPostalCode: () => string; getAddressValue: () => FiasAddressValue; getValue: (withPostalCode?: boolean, division?: FiasDivision) => FiasValue; convertForVerification: () => {}; getDiffFields: (address: FiasAddress, fieldsSettings?: FiasFieldsSettings) => FiasAddressFields; }