import { type PropType } from "vue";
import type { ValidationError } from "../slds-form-element/validation-error";
import type { DropdownOption } from "../slds-dropdown/dropdown-option";
declare const _default: import("vue").DefineComponent<{
    /**
     * Indicates whether the picklist is disabled.
     */
    disabled: BooleanConstructor;
    /**
     * Array of error objects from vuelidate.
     */
    errors: {
        type: PropType<ValidationError[]>;
        default: () => ValidationError[];
    };
    /**
     * Inline help text.
     * When using the help slot this prop is ignored.
     */
    help: StringConstructor;
    /**
     * Picklist label.
     */
    label: StringConstructor;
    large: BooleanConstructor;
    medium: BooleanConstructor;
    /**
     * Picklist value.
     */
    modelValue: StringConstructor;
    /**
     * Picklist placeholder.
     */
    placeholder: StringConstructor;
    /**
     * Indicates whether this label's picklist is required.
     */
    required: BooleanConstructor;
    small: BooleanConstructor;
    /**
     * Indicates whether the picklist is stacked among other inputs.
     */
    stacked: BooleanConstructor;
    /**
     * Tooltip text.
     * When using the tooltip slot this prop is ignored.
     */
    tooltip: StringConstructor;
    xLarge: BooleanConstructor;
    xSmall: BooleanConstructor;
    xxLarge: BooleanConstructor;
    xxSmall: BooleanConstructor;
}, unknown, unknown, {
    /**
     * The CSS class names for the container.
     */
    containerClassNames(): string;
    /**
     * Bindable form element attributes.
     */
    formElementAttributes(): Record<string, unknown>;
    /**
     * Bindable input attributes.
     */
    inputAttributes(): Record<string, unknown>;
    /**
     * The CSS class names for the input.
     */
    inputClassNames(): string;
    /**
     * The readable value displayed inside the input.
     */
    readableValue(): string;
    /**
     * The currently selected option, if any.
     */
    selectedOption(): DropdownOption | undefined;
}, {
    /**
     * Handles the blur event on the input.
     */
    handleBlurInput(): void;
    /**
     * Handles the click event on the input.
     */
    handleClickInput(): void;
    /**
     * Handles the click event on an option.
     * @param option The clicked option.
     */
    handleClickOption(option: DropdownOption): void;
    /**
     * Handles the focus event on the input.
     */
    handleFocusInput(): void;
    /**
     * Handles the click event outside this component.
     */
    handleClickOutside(): void;
    /**
     * Handles the key up esc event on the input.
     * @param event The fired event.
     */
    handleEscInput(event: Event): void;
    /**
     * Handles the key down event on the combobox.
     */
    handleKeyDown(): void;
    /**
     * Handles the key enter event on the combobox.
     */
    handleKeyEnter(): void;
    /**
     * Handles the key up event on the combobox.
     */
    handleKeyUp(): void;
    /**
     * Selects an option.
     * @param selectedOption Selected option.
     */
    selectOption(selectedOption: DropdownOption): void;
    /**
     * Set the focused item.
     * @param focusedOption Hovered option, if any.
     */
    setFocusedOption(focusedOption?: DropdownOption): void;
}, import("vue").DefineComponent<{
    bottomAlignment: BooleanConstructor;
    centerAlignment: BooleanConstructor;
    length: {
        type: NumberConstructor;
        validator(value: number): boolean;
    };
    options: {
        type: PropType<DropdownOption[]>;
        default: () => DropdownOption[];
    };
    rightAlignment: BooleanConstructor;
    showSpinner: BooleanConstructor;
}, unknown, {
    filter: string;
    focusedOption: DropdownOption;
    isFocused: boolean;
    isOpen: boolean;
}, {
    filteredOptions(): DropdownOption[];
    isEmpty(): boolean;
}, {
    clearFilter(): void;
    clearFocusedOption(): void;
    hideDropdown(): void;
    setFocusedOptionDown(): void;
    setFocusedOptionUp(): void;
    showDropdown(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    bottomAlignment: BooleanConstructor;
    centerAlignment: BooleanConstructor;
    length: {
        type: NumberConstructor;
        validator(value: number): boolean;
    };
    options: {
        type: PropType<DropdownOption[]>;
        default: () => DropdownOption[];
    };
    rightAlignment: BooleanConstructor;
    showSpinner: BooleanConstructor;
}>>, {
    showSpinner: boolean;
    options: DropdownOption[];
    bottomAlignment: boolean;
    centerAlignment: boolean;
    rightAlignment: boolean;
}, {}>, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * Indicates whether the picklist is disabled.
     */
    disabled: BooleanConstructor;
    /**
     * Array of error objects from vuelidate.
     */
    errors: {
        type: PropType<ValidationError[]>;
        default: () => ValidationError[];
    };
    /**
     * Inline help text.
     * When using the help slot this prop is ignored.
     */
    help: StringConstructor;
    /**
     * Picklist label.
     */
    label: StringConstructor;
    large: BooleanConstructor;
    medium: BooleanConstructor;
    /**
     * Picklist value.
     */
    modelValue: StringConstructor;
    /**
     * Picklist placeholder.
     */
    placeholder: StringConstructor;
    /**
     * Indicates whether this label's picklist is required.
     */
    required: BooleanConstructor;
    small: BooleanConstructor;
    /**
     * Indicates whether the picklist is stacked among other inputs.
     */
    stacked: BooleanConstructor;
    /**
     * Tooltip text.
     * When using the tooltip slot this prop is ignored.
     */
    tooltip: StringConstructor;
    xLarge: BooleanConstructor;
    xSmall: BooleanConstructor;
    xxLarge: BooleanConstructor;
    xxSmall: BooleanConstructor;
}>>, {
    small: boolean;
    required: boolean;
    large: boolean;
    disabled: boolean;
    xSmall: boolean;
    xxSmall: boolean;
    medium: boolean;
    errors: ValidationError[];
    stacked: boolean;
    xLarge: boolean;
    xxLarge: boolean;
}, {}>;
export default _default;
