import type { Plugin } from '@vue/runtime-core';
import type { Recordable } from '../typings/global';
import type { ComponentInternalInstance, VNodeProps, AllowedComponentProps, ComponentCustomProps, Slot, ComponentPublicInstance, ComponentOptionsBase, ComputedRef, Ref, ComponentOptionsMixin, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ShallowUnwrapRef, ComponentCustomProperties } from 'vue';
declare const _default: {
    new (...args: any[]): {
        $: ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            size: "small" | "large" | "default";
            fieldNames: {
                label: string;
                value: string;
            };
            resultField: string;
            params: Recordable<any>;
            buttonStyle: "outline" | "solid";
            optionType: "default" | "button";
        }> & Omit<Readonly<{
            api?: unknown;
            params?: unknown;
            resultField?: unknown;
            buttonStyle?: unknown;
            value?: unknown;
            fieldNames?: unknown;
            optionType?: unknown;
            size?: unknown;
        } & {
            size: "small" | "large" | "default";
            fieldNames: {
                label: string;
                value: string;
            };
            resultField: string;
            params: Recordable<any>;
            buttonStyle: "outline" | "solid";
            optionType: "default" | "button";
        } & {
            value?: any;
            api?: ((arg?: Recordable<any> | undefined) => Promise<Recordable<any> | {
                label: string;
                value: string;
                disabled?: boolean | undefined;
            }[]>) | undefined;
        }> & {
            "onUpdate:value"?: ((...args: any[]) => any) | undefined;
            onChange?: ((...args: any[]) => any) | undefined;
            "onOptions-change"?: ((...args: any[]) => any) | undefined;
        } & VNodeProps & AllowedComponentProps & ComponentCustomProps, "size" | "fieldNames" | "resultField" | "params" | "buttonStyle" | "optionType">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: Slot | undefined;
        }>;
        $root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $emit: (event: "change" | "update:value" | "options-change", ...args: any[]) => void;
        $el: any;
        $options: ComponentOptionsBase<Readonly<{
            api?: unknown;
            params?: unknown;
            resultField?: unknown;
            buttonStyle?: unknown;
            value?: unknown;
            fieldNames?: unknown;
            optionType?: unknown;
            size?: unknown;
        } & {
            size: "small" | "large" | "default";
            fieldNames: {
                label: string;
                value: string;
            };
            resultField: string;
            params: Recordable<any>;
            buttonStyle: "outline" | "solid";
            optionType: "default" | "button";
        } & {
            value?: any;
            api?: ((arg?: Recordable<any> | undefined) => Promise<Recordable<any> | {
                label: string;
                value: string;
                disabled?: boolean | undefined;
            }[]>) | undefined;
        }> & {
            "onUpdate:value"?: ((...args: any[]) => any) | undefined;
            onChange?: ((...args: any[]) => any) | undefined;
            "onOptions-change"?: ((...args: any[]) => any) | undefined;
        }, {
            getClass: ComputedRef<string[]>;
            getGroupProps: ComputedRef<{
                buttonStyle: "outline" | "solid";
                optionType: "default" | "button";
                size: "small" | "large" | "default";
            }>;
            state: any;
            options: Ref<{
                label: string;
                value: string;
                disabled?: boolean | undefined;
            }[]>;
            loading: Ref<boolean>;
            handleChange: (e: any) => void;
        }, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("change" | "update:value" | "options-change")[], string, {
            size: "small" | "large" | "default";
            fieldNames: {
                label: string;
                value: string;
            };
            resultField: string;
            params: Recordable<any>;
            buttonStyle: "outline" | "solid";
            optionType: "default" | "button";
        }> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch(source: string | Function, cb: Function, options?: WatchOptions<boolean> | undefined): WatchStopHandle;
    } & Readonly<{
        api?: unknown;
        params?: unknown;
        resultField?: unknown;
        buttonStyle?: unknown;
        value?: unknown;
        fieldNames?: unknown;
        optionType?: unknown;
        size?: unknown;
    } & {
        size: "small" | "large" | "default";
        fieldNames: {
            label: string;
            value: string;
        };
        resultField: string;
        params: Recordable<any>;
        buttonStyle: "outline" | "solid";
        optionType: "default" | "button";
    } & {
        value?: any;
        api?: ((arg?: Recordable<any> | undefined) => Promise<Recordable<any> | {
            label: string;
            value: string;
            disabled?: boolean | undefined;
        }[]>) | undefined;
    }> & {
        "onUpdate:value"?: ((...args: any[]) => any) | undefined;
        onChange?: ((...args: any[]) => any) | undefined;
        "onOptions-change"?: ((...args: any[]) => any) | undefined;
    } & ShallowUnwrapRef<{
        getClass: ComputedRef<string[]>;
        getGroupProps: ComputedRef<{
            buttonStyle: "outline" | "solid";
            optionType: "default" | "button";
            size: "small" | "large" | "default";
        }>;
        state: any;
        options: Ref<{
            label: string;
            value: string;
            disabled?: boolean | undefined;
        }[]>;
        loading: Ref<boolean>;
        handleChange: (e: any) => void;
    }> & {} & {} & ComponentCustomProperties;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & ComponentOptionsBase<Readonly<{
    api?: unknown;
    params?: unknown;
    resultField?: unknown;
    buttonStyle?: unknown;
    value?: unknown;
    fieldNames?: unknown;
    optionType?: unknown;
    size?: unknown;
} & {
    size: "small" | "large" | "default";
    fieldNames: {
        label: string;
        value: string;
    };
    resultField: string;
    params: Recordable<any>;
    buttonStyle: "outline" | "solid";
    optionType: "default" | "button";
} & {
    value?: any;
    api?: ((arg?: Recordable<any> | undefined) => Promise<Recordable<any> | {
        label: string;
        value: string;
        disabled?: boolean | undefined;
    }[]>) | undefined;
}> & {
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
    "onOptions-change"?: ((...args: any[]) => any) | undefined;
}, {
    getClass: ComputedRef<string[]>;
    getGroupProps: ComputedRef<{
        buttonStyle: "outline" | "solid";
        optionType: "default" | "button";
        size: "small" | "large" | "default";
    }>;
    state: any;
    options: Ref<{
        label: string;
        value: string;
        disabled?: boolean | undefined;
    }[]>;
    loading: Ref<boolean>;
    handleChange: (e: any) => void;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("change" | "update:value" | "options-change")[], "change" | "update:value" | "options-change", {
    size: "small" | "large" | "default";
    fieldNames: {
        label: string;
        value: string;
    };
    resultField: string;
    params: Recordable<any>;
    buttonStyle: "outline" | "solid";
    optionType: "default" | "button";
}> & VNodeProps & AllowedComponentProps & ComponentCustomProps & Plugin;
export default _default;
