import { multiSelectSlots } from './multi-select-styles';
import * as React from "react";
export interface MultiSelectOption {
    label: string;
    value: string;
    icon?: React.ComponentType<{
        className?: string;
    }>;
}
export interface MultiSelectProps {
    options: MultiSelectOption[];
    defaultValue?: string[];
    value?: string[];
    onValueChange?: (value: string[]) => void;
    placeholder?: string;
    searchPlaceholder?: string;
    emptyMessage?: string;
    maxCount?: number;
    variant?: "filled" | "filled-inverted" | "outlined" | "outlined-inverted" | "underlined" | "underlined-inverted" | "ghost" | "ghost-inverted";
    size?: "sm" | "md" | "lg";
    shape?: "full" | "minimal" | "sharp";
    labelPlacement?: "inside" | "outside" | "outside-left";
    disabled?: boolean;
    isInvalid?: boolean;
    className?: string;
    classNames?: Partial<Record<keyof typeof multiSelectSlots, string>>;
    label?: string;
    description?: React.ReactNode;
    errorMessage?: React.ReactNode;
    mobileLayout?: "default" | "bottom-sheet" | "dialog";
}
export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLButtonElement>>;
