import { Fn, KeyValueType, Recordable } from '@maxax/types';
import { SelectOption, SelectProps } from 'naive-ui';
export declare const basicSelectProps: {};
type ValueAtom = string | number;
export type BasicSelectValue = ValueAtom | string[] | number[] | ValueAtom[];
export type BasicSelectOnUpdateValue = (value: string & number & ValueAtom & string[] & number[] & ValueAtom[] & (ValueAtom | null) & (string[] | null) & (number[] | null) & (ValueAtom[] | null), option: SelectOption & null & SelectOption[]) => void;
export type BasicSelectOnUpdateValueImpl = (value: ValueAtom | string[] | number[] | ValueAtom[] | (ValueAtom | null) | (string[] | null) | (number[] | null) | (ValueAtom[] | null), option: SelectOption | null | SelectOption[]) => void;
export interface BasicSelectFetchSetting {
    listField: string;
}
export interface BasicSelectProps extends /* @vue-ignore */ Omit<SelectProps, 'options' | 'labelField' | 'valueField' | 'value' | 'defaultValue'> {
    defaultValue?: BasicSelectValue | null;
    value?: BasicSelectValue | null;
    options?: SelectOption[];
    labelField?: KeyValueType;
    valueField?: KeyValueType;
    disabled?: boolean;
    immediate?: boolean;
    api?: (...arg: any) => Promise<any>;
    dynamicApi?: (params?: Recordable) => (...arg: any) => Promise<any>;
    beforeFetch?: Fn;
    afterFetch?: Fn;
    handleSearchInfoFn?: Fn;
    searchInfo?: Recordable;
    fetchSetting?: Partial<BasicSelectFetchSetting>;
}
export interface BasicSelectContext {
    name: string;
}
export {};
//# sourceMappingURL=interface.d.ts.map