'use client';

import { default as React } from 'react';
export interface SelectOption {
    value: string | number;
    label: string;
    isDisabled?: boolean;
    startContent?: React.ReactNode;
    endContent?: React.ReactNode;
    description?: string;
}
export interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "size" | "children"> {
    /** Select variant */
    variant?: "flat" | "bordered" | "underlined" | "faded";
    /** Select color theme */
    color?: "primary" | "secondary" | "success" | "warning" | "danger";
    /** Select size */
    size?: "sm" | "md" | "lg";
    /** Select radius */
    radius?: "none" | "sm" | "md" | "lg" | "full";
    /** Label text */
    label?: string;
    /** Placeholder text */
    placeholder?: string;
    /** Description text */
    description?: string;
    /** Error message */
    errorMessage?: string;
    /** Invalid state */
    isInvalid?: boolean;
    /** Disabled state */
    isDisabled?: boolean;
    /** Required field */
    isRequired?: boolean;
    /** Full width select */
    fullWidth?: boolean;
    /** Multiple selection */
    isMultiple?: boolean;
    /** Options array */
    options?: SelectOption[];
    /** Selected value(s) */
    selectedKeys?: Set<string | number> | string | number;
    /** Default selected value(s) */
    defaultSelectedKeys?: Set<string | number> | string | number;
    /** Selection change handler */
    onSelectionChange?: (keys: Set<string | number>) => void;
    /** Start content (icon) */
    startContent?: React.ReactNode;
    /** End content (icon) */
    endContent?: React.ReactNode;
    /** Custom class name */
    className?: string;
    /** Custom styles */
    css?: any;
    /** Label placement */
    labelPlacement?: "inside" | "outside" | "outside-left";
}
export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
//# sourceMappingURL=select.d.ts.map