export declare type NodeIDStrict = string | { _kind: "NodeIDStrict"; }; export declare type NodeID = NodeIDStrict | number; export declare type LabelChineseSimplified = string | { _kind: "NameLocaled"; _locale: "zh"; _accent: "CN"; }; export declare type LabelEnglish = string | { _kind: "NameLocaled"; _locale: "en"; }; export interface NodeSelectionInternalData { id: string; lastName: string; nodeChain: NodeChain; } export declare type NodeSelection_Empty = { town?: undefined; }; export declare type NodeSelection_CountryOnly = { country: NodeID; town?: undefined; }; export declare type NodeSelection_CountryProvince = { country: NodeID; province: NodeID; town?: undefined; }; export declare type NodeSelection_CountryProvinceCity = { country: NodeID; province: NodeID; city: NodeID; town?: undefined; }; export declare type NodeSelection_CountryProvinceCityArea = { country: NodeID; province: NodeID; city: NodeID; area: NodeID; town?: undefined; }; export declare type NodeSelection_CountryProvinceCityAreaTown = { country: NodeID; province: NodeID; city: NodeID; area: NodeID; town: NodeID; }; export declare type NodeSelection_CountryProvinceCityTown = { country: NodeID; province: NodeID; city: NodeID; town: NodeID; }; export declare type NodeSelection = NodeSelection_Empty | NodeSelection_CountryOnly | NodeSelection_CountryProvince | NodeSelection_CountryProvinceCity | NodeSelection_CountryProvinceCityArea | NodeSelection_CountryProvinceCityAreaTown | NodeSelection_CountryProvinceCityTown; export declare type NodeAnyValue = NodeID | NodeSelection; export declare type AddressNodeRoot = { id: NodeIDStrict; nameZh?: LabelChineseSimplified; namePy?: string; namePyJoined?: string; namePyAbbr?: string; nameEn?: LabelEnglish; level: -1; levelKey: string; ofCountry: NodeIDStrict; value: NodeID; label: string; isLeaf: false; parent: null; parentNode: null; children: AddressNode[] | null; }; export declare type AddressNodeInternal = { id: NodeIDStrict; nameZh?: LabelChineseSimplified; namePy?: string; namePyJoined?: string; namePyAbbr?: string; nameEn?: LabelEnglish; level: number; levelKey: string; ofCountry: NodeIDStrict; value: NodeID; label: string; isLeaf: false; parent: NodeIDStrict; parentNode: AddressNode; children: AddressNode[] | null; }; export declare type AddressNodeLeaf = { id: NodeIDStrict; nameZh?: LabelChineseSimplified; namePy?: string; namePyJoined?: string; namePyAbbr?: string; nameEn?: LabelEnglish; level: number; levelKey: string; ofCountry: NodeIDStrict; value: NodeID; label: string; isLeaf: true; children?: undefined | null; parent: NodeIDStrict; parentNode: AddressNode; }; export declare type AddressNode = AddressNodeRoot | AddressNodeInternal | AddressNodeLeaf; export declare type SelectionChain = NodeIDStrict[]; export declare type NodeChain = AddressNode[]; export declare type AddressTree = AddressNodeInternal; export declare type AddressNodeSet = { [id: string]: AddressNode; }; export declare type AddressDataset = { addressTree: AddressTree; allNodesSet: AddressNodeSet; }; export declare type AddressRequestParams = { addressURL: string; townURL: string; parentURL: string; ignored: NodeIDStrict[]; dataOverride: { [key: string]: string[]; }; preprocessor: (dataRaw: { [key: string]: string[]; }) => { [key: string]: string[]; }; }; export interface CascaderSelectOnChangeExtraData { checked: boolean; currentData: AddressNode[]; checkedData: AddressNode[]; indeterminateData: AddressNode[]; }