import { BaseSelectProps } from '../select/interfaces';
import { OptionDefinition, OptionGroup as OptionGroupDefinition } from '../internal/components/option/interfaces';
import { SelectedTokensProps } from '../internal/components/selected-tokens';
import { NonCancelableEventHandler } from '../internal/events';
export interface MultiselectProps extends BaseSelectProps {
    selectedOptions: ReadonlyArray<MultiselectProps.Option>;
    keepOpen?: boolean;
    tokenLimit?: number;
    deselectAriaLabel?: SelectedTokensProps.ContainingOptionString;
    i18nStrings?: MultiselectProps.I18nStrings;
    onChange?: NonCancelableEventHandler<MultiselectProps.MultiselectChangeDetail>;
}
export declare namespace MultiselectProps {
    type Option = OptionDefinition;
    type OptionGroup = OptionGroupDefinition;
    type Options = ReadonlyArray<Option | OptionGroup>;
    type I18nStrings = SelectedTokensProps.I18nStrings;
    interface MultiselectChangeDetail {
        selectedOptions: ReadonlyArray<Option>;
    }
    interface Ref {
        focus(): void;
    }
}
