import BaseComponent from '../BaseComponent';
import { IComboBoxOption, IComboBoxProps } from './ComboBox.types';
import { CreateElement } from 'vue';
export interface IComboBoxState {
    /** The open state */
    isOpen?: boolean;
    /** The currently selected indices */
    selectedIndices?: number[];
    /** The focused state of the comboBox */
    focused?: boolean;
    /** This value is used for the autocomplete hint value */
    suggestedDisplayValue?: string;
    /** The options currently available for the callout */
    currentOptions: IComboBoxOption[];
    /**
     * When taking input, this will store the index that the options input matches
     * (-1 if no input or match)
     */
    currentPendingValueValidIndex: number;
    /**
     * Stores the hovered over value in the dropdown
     * (used for styling the options without updating the input)
     */
    currentPendingValueValidIndexOnHover: number;
    /** When taking input, this will store the actual text that is being entered */
    currentPendingValue?: string;
}
export declare class ComboBoxBase extends BaseComponent<IComboBoxProps, IComboBoxState> {
    $refs: {
        comboBoxWrapper: HTMLDivElement;
        comboBoxMenu: HTMLDivElement;
        autofill: any;
    };
    allowFreeform: boolean;
    autoComplete: string;
    errorMessage: string;
    text: any;
    calloutProps: any;
    buttonIconProps: any;
    comboBoxOptionStyles: any;
    autofill: boolean;
    disabled: boolean;
    required: boolean;
    persistMenu: boolean;
    multiSelect: boolean;
    state: IComboBoxState;
    comboBoxMenuWidth: number;
    mounted(): void;
    get hasErrorMessage(): boolean;
    get classNames(): any;
    /**
     * Gets the current comboBoxWrapper width, including its border offset. Has to be recalculated on each render cycle of
     * the Callout, in case the window size changed.
     */
    private getComboBoxMenuWidth;
    private onFocus;
    private onBlur;
    render(h: CreateElement): import("vue").VNode;
}
//# sourceMappingURL=ComboBox.base.d.ts.map