import { type Snippet } from 'svelte';
import { type ListboxOption } from '../optionlistbox/OptionListbox.svelte';
/**
 * A combobox is an input field that allows users to select an option from a dropdown list or enter a custom value. It combines the functionality of a text input and a dropdown menu, providing flexibility and ease of use in forms and user interfaces.
 * @slot item - Use this slot to customize the content of each item.
 * @event update:open {CustomEvent<boolean>} - Emitted when the listbox is opened or closed.
 */
interface Props {
    [key: string]: any;
    /**
     * The current selected value(s) of the combobox.
     */
    value: string | number | null | (string | number)[];
    /**
     * Enable multiple value mode.
     */
    multiple?: boolean;
    /**
     * Size of the combobox: small ('s') or medium ('m').
     */
    size?: 's' | 'm';
    /**
     * Disable the combobox input.
     */
    disabled?: boolean;
    /**
     * Make the combobox read-only.
     */
    readonly?: boolean;
    /**
     * Mark the combobox as invalid.
     */
    invalid?: boolean;
    /**
     * Show a clear value button.
     */
    clearable?: boolean;
    /**
     * Enable the search input inside the listbox.
     */
    search?: boolean;
    /**
     * Show select all / clear buttons when multiple.
     */
    actions?: boolean;
    /**
     * Enable checkable section headers in the listbox.
     */
    checkablesections?: boolean;
    /**
     * Placeholder text when no value is selected.
     */
    placeholder?: string;
    /**
     * Label for the selected items counter.
     */
    counterlabel?: string;
    /**
     * Placeholder text for the search input.
     */
    searchplaceholder?: string;
    /**
     * Label for the "Select all" button.
     */
    selectlabel?: string;
    /**
     * Label for the "Clear value" button.
     */
    clearlabel?: string;
    /**
     * Array of options to display in the listbox.
     */
    options: Array<{
        label: string;
        content?: string;
        value?: string | number;
        disabled?: boolean;
        type?: 'option' | 'section';
    }>;
    /**
     * Callback to trigger when the listbox is opened or closed.
     */
    onopen?: (value: boolean) => void;
    item?: Snippet<[{
        option: ListboxOption;
    }]>;
}
declare const Combobox: import("svelte").Component<Props, {}, "value">;
type Combobox = ReturnType<typeof Combobox>;
export default Combobox;
//# sourceMappingURL=Combobox.svelte.d.ts.map