import { ListOption, MaskIconName16, MaskIconName24 } from '../../types';
/**
 * A component for selecting one value from a list of options
 */
declare const _default: <M = unknown>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly "onUpdate:modelValue"?: ((value: M | undefined) => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onUpdate:modelValue"> & {
        /**
         * The current selected value of the dropdown.
         */
        modelValue: M;
        /**
         * The label text for the dropdown field (optional)
         */
        label?: string;
        /**
         * List of available options for the dropdown
         */
        options?: Readonly<ListOption<M>[]>;
        /**
         * A helper text displayed below the dropdown when there are no errors (optional).
         */
        helper?: string;
        /**
         * A helper text displayed below the dropdown when there are no options yet or options is undefined (optional).
         */
        loadingOptionsHelper?: string;
        /**
         * Error message displayed below the dropdown (optional)
         */
        error?: unknown;
        /**
         * Shows red border even without an error message
         */
        errorStatus?: boolean;
        /**
         * Placeholder text shown when no value is selected.
         */
        placeholder?: string;
        /**
         * Enables a button to clear the selected value (default: false)
         */
        clearable?: boolean;
        /**
         * If `true`, the dropdown component is marked as required.
         */
        required?: boolean;
        /**
         * If `true`, the dropdown component is disabled and cannot be interacted with.
         */
        disabled?: boolean;
        /**
         * Custom icon (16px) class for the dropdown arrow (optional)
         */
        arrowIcon?: MaskIconName16;
        /**
         * Custom icon (24px) class for the dropdown arrow (optional)
         */
        arrowIconLarge?: MaskIconName24;
        /**
         * Option list item size
         */
        optionSize?: "small" | "medium";
        /**
         * Makes some of corners not rounded
         * */
        groupPosition?: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
    } & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        append?(_: {}): any;
        tooltip?(_: {}): any;
    };
    emit: (e: "update:modelValue", value: M | undefined) => void;
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
