import type { ComputedRef, PropType, ExtractPropTypes } from 'vue';
export interface Option {
    title: string;
    value: string;
    id: string;
    textI18nKey: string;
    [K: string]: string;
}
export type WithChildrenOption = Option & {
    children?: unknown[];
};
export type SelectOption = WithChildrenOption & {
    label: string;
};
export interface MixSelectArgs {
    value: string;
    label: string;
}
export declare function modeValidator(mode: string): boolean;
export declare const selectProps: {
    readonly value: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly busAccount: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly mode: {
        readonly type: PropType<"multiple" | "tags" | "combobox">;
        readonly default: "combobox";
        readonly validator: typeof modeValidator;
    };
    readonly dictCode: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly options: {
        readonly type: PropType<SelectOption[]>;
        readonly default: () => never[];
    };
    readonly 'onUpdate:value': {
        type: PropType<((value: string) => void) | ((value: string) => void)[]>;
        default: unknown;
    };
    readonly onChange: {
        type: PropType<((args: MixSelectArgs) => void) | ((args: MixSelectArgs) => void)[]>;
        default: unknown;
    };
};
export type SelectProps = ExtractPropTypes<typeof selectProps>;
export interface UseSelectReturnType {
    classes: ComputedRef<{
        [key: string]: string | boolean;
    }>;
}
