import { FunctionComponent } from 'react';
import { TextOverride } from '../../../shared-logic/src/Translations/types';
import { FreeTextOptions } from './Dropdown/Dropdown.types';
export declare type MultiSelectOptions = {
    hide?: boolean;
    value: any;
    label: string;
};
export declare type AsyncMultiSelectOptions = (abortSignal: AbortSignal) => Promise<MultiSelectOptions[] | null>;
export declare const MultiSelect: FunctionComponent<{
    setSelected: (selected: Array<number>) => void;
    selected: Array<number>;
    options: Array<MultiSelectOptions> | AsyncMultiSelectOptions;
    placeholder?: string;
    id?: string;
    testId?: string;
    labelHidden?: boolean;
    label?: string;
    disableClearAll?: boolean;
    selectedPrefix?: string;
    showableChips?: number;
    isLoading?: boolean;
    textOverride?: TextOverride;
    labelWidth?: number;
    dropdownForFilter?: boolean;
    onFreeTextSelected?: (() => void) | undefined;
    freeTextOptions?: FreeTextOptions;
    isFilter?: boolean;
    hasPreselectedValues?: boolean;
}>;
export declare function getSelectedIndices<T extends {
    value: string;
}>(selected: (string | number)[], options: Array<T>): number[];
