import { type PropType } from 'vue';
import type { Primitive } from '../../../core';
import type { ComboboxLikeRenderOptionInput, ComboboxParsedItem, OptionsFilter } from '../Combobox.types';
export type OptionsData = ComboboxParsedItem<Primitive>[];
export interface OptionsDropdownProps {
    data: OptionsData;
    filter?: OptionsFilter<Primitive>;
    search?: string;
    limit?: number;
    withScrollArea?: boolean;
    maxDropdownHeight?: number | string;
    floatingHeight?: 'viewport';
    hidden?: boolean;
    hiddenWhenEmpty?: boolean;
    filterOptions?: boolean;
    withCheckIcon?: boolean;
    withAlignedLabels?: boolean;
    value?: Primitive | Primitive[] | null;
    checkIconPosition?: 'left' | 'right';
    nothingFoundMessage?: any;
    unstyled?: boolean;
    labelId?: string;
    'aria-label'?: string;
    renderOption?: (input: ComboboxLikeRenderOptionInput<any>) => any;
    scrollAreaProps?: Record<string, any>;
}
export declare const OptionsDropdown: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    data: {
        type: PropType<OptionsData>;
        required: true;
    };
    filter: PropType<OptionsFilter<Primitive>>;
    search: StringConstructor;
    limit: NumberConstructor;
    withScrollArea: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxDropdownHeight: (NumberConstructor | StringConstructor)[];
    floatingHeight: PropType<"viewport">;
    hidden: BooleanConstructor;
    hiddenWhenEmpty: BooleanConstructor;
    filterOptions: {
        type: BooleanConstructor;
        default: boolean;
    };
    withCheckIcon: BooleanConstructor;
    withAlignedLabels: BooleanConstructor;
    value: {
        type: PropType<any>;
        default: null;
    };
    checkIconPosition: {
        type: PropType<"left" | "right">;
        default: string;
    };
    nothingFoundMessage: {
        type: PropType<any>;
        default: undefined;
    };
    unstyled: BooleanConstructor;
    labelId: StringConstructor;
    ariaLabel: StringConstructor;
    renderOption: PropType<any>;
    scrollAreaProps: ObjectConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    data: {
        type: PropType<OptionsData>;
        required: true;
    };
    filter: PropType<OptionsFilter<Primitive>>;
    search: StringConstructor;
    limit: NumberConstructor;
    withScrollArea: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxDropdownHeight: (NumberConstructor | StringConstructor)[];
    floatingHeight: PropType<"viewport">;
    hidden: BooleanConstructor;
    hiddenWhenEmpty: BooleanConstructor;
    filterOptions: {
        type: BooleanConstructor;
        default: boolean;
    };
    withCheckIcon: BooleanConstructor;
    withAlignedLabels: BooleanConstructor;
    value: {
        type: PropType<any>;
        default: null;
    };
    checkIconPosition: {
        type: PropType<"left" | "right">;
        default: string;
    };
    nothingFoundMessage: {
        type: PropType<any>;
        default: undefined;
    };
    unstyled: BooleanConstructor;
    labelId: StringConstructor;
    ariaLabel: StringConstructor;
    renderOption: PropType<any>;
    scrollAreaProps: ObjectConstructor;
}>> & Readonly<{}>, {
    value: any;
    hidden: boolean;
    unstyled: boolean;
    hiddenWhenEmpty: boolean;
    withCheckIcon: boolean;
    withAlignedLabels: boolean;
    withScrollArea: boolean;
    filterOptions: boolean;
    checkIconPosition: "left" | "right";
    nothingFoundMessage: any;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
