import { type Nullable } from '@redneckz/uni-jsx/lib/utils/ts/Nullable'; export interface DaDataSuggestion { value: string; unrestricted_value: string; data: DaDataResponseItem; processedValue: string; additionalValue?: string; } declare type DaDataGender = 'MALE' | 'FEMALE' | 'UNKNOWN'; declare type DaDataQC = '0' | '1'; interface DaDataFio { surname: Nullable; name: Nullable; patronymic: Nullable; gender: DaDataGender; qc: DaDataQC; source: null; } interface DaDataEmail { domain: Nullable; local: string; } interface DaDataPassportFms { code: string; name: string; } interface DaDataOrganization { address: { data: DaDataAddress; value: string; }; inn: string; employee_count: number; name: { short_with_opf: string; }; opf: { short: string; code: string; }; okved: string; } export interface DaDataAddress { area_with_type: Nullable; block: Nullable; block_type: Nullable<'к' | 'стр' | 'литера'>; city: Nullable; fias_id: string; flat: Nullable; house: Nullable; okato: Nullable; postal_code: Nullable; region: string; region_kladr_id: string; settlement_with_type: Nullable; street: Nullable; fias_code: string; qc: DaDataQC; qc_complete: Nullable; qc_house: Nullable; } declare type DaDataResponseItem = Partial; export interface ListRequestOption { url: string; query?: string; queryPrefix?: string; requestData?: { parts?: string[]; gender?: string; }; responseItemHandler?: (item?: DaDataSuggestion) => { value: string; additionalValue?: string; }; responseFilter?: (item?: DaDataSuggestion) => boolean; } export {};