import React from "react";
import { ButtonProps } from "./Button";
export type Severity = "critical" | "high" | "medium" | "low" | "info" | "exposure";
export interface DropdownOption {
    id?: string | number;
    severity?: Severity;
    label: string;
    count?: number | string;
    value?: string | number;
    icon?: React.ReactNode;
    onClick?: () => void;
    isDivider?: boolean;
    disabled?: boolean;
    checked?: boolean;
    isGroup?: boolean;
    items?: DropdownOption[];
    isExpanded?: boolean;
    groupId?: string;
    groupItems?: DropdownOption[];
    tooltip?: string;
}
export declare const sizeClasses: {
    readonly xs: "py-1 px-2 text-xs";
    readonly sm: "py-1.5 px-3 text-sm";
    readonly md: "py-2 px-4 text-sm";
    readonly lg: "py-2.5 px-5 text-base";
    readonly xl: "py-3 px-6 text-base";
};
export declare const iconSizes: {
    readonly xs: "size-3";
    readonly sm: "size-3.5";
    readonly md: "size-4";
    readonly lg: "size-4";
    readonly xl: "size-5";
};
interface DropdownTriggerProps {
    selected?: DropdownOption[];
    onClick?: () => void;
    className?: string;
    size?: keyof typeof sizeClasses;
    isOpen?: boolean;
    placeholder?: string;
    styleType?: ButtonProps["styleType"];
    icon?: React.ReactNode;
    multiSelect?: boolean;
}
export declare const DropdownTrigger: React.FC<DropdownTriggerProps>;
interface DropdownListProps {
    border?: boolean;
    options: DropdownOption[];
    onSelect?: (option: DropdownOption) => void;
    onToggleCheckbox?: (option: DropdownOption) => void;
    className?: string;
    style?: React.CSSProperties;
    virtualized?: boolean;
    title?: string;
    searchValue?: string;
    onSearchChange?: (value: string) => void;
    searchPlaceholder?: string;
    multiSelect?: boolean;
    onApply?: () => void;
    isPraetorianUser?: boolean;
    fitWidth?: boolean;
    isLoadingOptions?: boolean;
}
export declare const DropdownList: React.FC<DropdownListProps>;
interface DropdownProps {
    options: DropdownOption[];
    selected?: DropdownOption[];
    onSelect?: (option: DropdownOption) => void;
    className?: string;
    size?: keyof typeof sizeClasses;
    triggerClassName?: string;
    listClassName?: string;
    placeholder?: string;
    styleType?: ButtonProps["styleType"];
    virtualized?: boolean;
    title?: string;
    searchValue?: string;
    onSearchChange?: (value: string) => void;
    searchPlaceholder?: string;
    icon?: React.ReactNode;
    border?: boolean;
    multiSelect?: boolean;
    onApply?: (selectedOptions: DropdownOption[]) => void;
    position?: "left" | "right";
    isPraetorianUser?: boolean;
    disablePortal?: boolean;
    fitWidth?: boolean;
    isLoadingOptions?: boolean;
}
export declare const Dropdown: React.FC<DropdownProps>;
export {};
//# sourceMappingURL=Dropdown.d.ts.map