import { FieldLayoutType, Mandatory, ValidationType } from "../../../viewModel";
export interface FieldSelectValue {
    label: string;
    value: string;
    values?: FieldSelectValue[];
}
export declare enum FieldSelectTitlesProps {
    title = "title",
    subtitle = "subtitle",
    secondSubtitle = "secondSubtitle"
}
export interface FieldSelectProps {
    id: string;
    label: string;
    helperMessage?: string;
    errorMessage?: string;
    placeholder?: string;
    mandatory: Mandatory;
    disabled?: boolean;
    taggable?: boolean;
    layout?: FieldLayoutType;
    values: FieldValueModelType[];
    allSelectedPlaceholderKey?: string;
    multipleSelectionPlaceholderKey?: string;
    multiple?: boolean;
    selectAllOptions?: {
        enable: boolean;
        allLabel?: string;
        clearLabel?: string;
    };
    category?: boolean;
    preselectFirst?: boolean;
    tooltips?: boolean;
    subTitle?: (option: FieldValueModelType) => string | undefined;
    secondSubTitle?: (option: FieldValueModelType) => string | undefined;
    selectedValues?: FieldSelectedObjectValuesModelType;
    validationType?: ValidationType;
    titlesDisplayedOnSelected?: FieldSelectTitlesProps[];
    openDirection?: '' | 'top' | 'bottom';
    appendToBody?: boolean;
    maxWidth?: string;
}
export declare function getValueOrLabel(option: FieldSelectedObjectsModelType): string;
export declare function getLabelOrValue(option: FieldSelectedObjectsModelType, fieldOrder?: string[]): string;
export declare type FieldValueModelType = string | FieldSelectValue;
export declare type FieldSelectedObjectsModelType = FieldValueModelType | FieldValueModelType[];
export declare type FieldSelectedObjectValuesModelType = string | string[] | undefined;
//# sourceMappingURL=viewModel.d.ts.map