import { ExtractPropTypes } from 'vue'; import { RegionModel, RegionValues, RegionLanguage, RegionLevel, RegionUIOptions, RegionProps, RegionEmits } from '../types'; /** * 响应 `v-model` 与 `change` 事件 * * 要求组件中已定义 `update:modelValue` 与 `change` * @param {function} emit 事件响应对象 */ export declare function useEvent(emit?: RegionEmits): { emitUpdateModelValue: (data: RegionValues) => void | undefined; emitUpdateNames: (data: string[]) => void | undefined; emitChange: (data: RegionModel) => void | undefined; }; export declare function useRegionUI(props: ExtractPropTypes, emit?: RegionEmits, options?: RegionUIOptions): { state: import('vue').Ref<{ province: { key: string | undefined; name: string | undefined; list: { key?: string | undefined; value?: string | undefined; }[]; enable: boolean; getModel: () => import('..').RegionItem | undefined; }; city: { key: string | undefined; name: string | undefined; list: { key?: string | undefined; value?: string | undefined; }[]; enable: boolean; getModel: () => import('..').RegionItem | undefined; }; area: { key: string | undefined; name: string | undefined; list: { key?: string | undefined; value?: string | undefined; }[]; enable: boolean; getModel: () => import('..').RegionItem | undefined; }; town: { key: string | undefined; name: string | undefined; list: { key?: string | undefined; value?: string | undefined; }[]; enable: boolean; getModel: () => import('..').RegionItem | undefined; }; }, { province: import('..').RegionLevelData; city: import('..').RegionLevelData; area: import('..').RegionLevelData; town: import('..').RegionLevelData; } | { province: { key: string | undefined; name: string | undefined; list: { key?: string | undefined; value?: string | undefined; }[]; enable: boolean; getModel: () => import('..').RegionItem | undefined; }; city: { key: string | undefined; name: string | undefined; list: { key?: string | undefined; value?: string | undefined; }[]; enable: boolean; getModel: () => import('..').RegionItem | undefined; }; area: { key: string | undefined; name: string | undefined; list: { key?: string | undefined; value?: string | undefined; }[]; enable: boolean; getModel: () => import('..').RegionItem | undefined; }; town: { key: string | undefined; name: string | undefined; list: { key?: string | undefined; value?: string | undefined; }[]; enable: boolean; getModel: () => import('..').RegionItem | undefined; }; }>; lang: RegionLanguage; loading: import('vue').Ref; isComplete: () => boolean; regionText: import('vue').ComputedRef; hasCity: import('vue').ComputedRef; hasArea: import('vue').ComputedRef; hasTown: import('vue').ComputedRef; reset: () => void; setLevel: (level: RegionLevel, key?: string) => Promise; setupTownListLoader: (fn: import('..').AsyncLevelListLoader) => void; };