import { Fn, Recordable } from '@maxax/types';
import { CascaderOption, CascaderProps } from 'naive-ui';
export declare const basicCascaderProps: {};
type ValueAtom = string | number;
export type BasicCascaderValue = ValueAtom | string[] | number[] | ValueAtom[];
export type BasicCascaderOnUpdateValue = (value: string & number & string[] & number[] & Array<string | number> & (string | null) & (number | null) & (string[] | null) & (number[] | null) & (Array<string | number> | null), option: null & CascaderOption & CascaderOption[] & Array<CascaderOption | null>, path: null & CascaderOption[] & Array<CascaderOption[] | null>) => void;
export type BasicCascaderOnUpdateValueImpl = (value: BasicCascaderValue | null, option: CascaderOption | null | Array<CascaderOption | null>, path: Array<CascaderOption[] | null> | CascaderOption[] | null) => void;
export interface BasicCascaderFetchSetting {
    listField: string;
}
export interface BasicCascaderProps extends /* @vue-ignore */ Omit<CascaderProps, 'options' | 'value' | 'defaultValue'> {
    defaultValue?: BasicCascaderValue | null;
    value?: BasicCascaderValue | null;
    options?: CascaderOption[];
    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<BasicCascaderFetchSetting>;
}
export interface BasicCascaderContext {
    name: string;
}
export interface CascaderActionType {
    reload: (opt?: Recordable<any> | undefined) => Promise<void>;
    getSearchInfo: <T = Recordable<any>>() => T;
    getOptions: () => CascaderOption[];
}
export {};
//# sourceMappingURL=interface.d.ts.map