import { ComponentPropsWithoutRef, ReactNode } from 'react';
import { ExperimentalChipProps } from './Chip';
import { OptionValue } from './shared';
export declare namespace ExperimentalSelectChipProps {
    interface BaseProps<T extends OptionValue = OptionValue> extends Omit<ExperimentalChipProps.ButtonProps, 'selected' | 'type' | 'value' | 'defaultValue' | 'onChange'> {
        valueIdKey?: T extends Record<string, unknown> ? keyof T : never;
        valueLabelKey?: T extends Record<string, unknown> ? keyof T : never;
        valueLabel?: ReactNode;
        label?: string;
        /** @default false */
        disabled?: boolean;
        /** @default "start" */
        menuAlign?: 'start' | 'center' | 'end';
    }
    interface SingleProps<T extends OptionValue = OptionValue, TClearable extends boolean = false> extends BaseProps<T> {
        value?: T;
        defaultValue?: T;
        onChange?: (value: T | (TClearable extends true ? null : never)) => void;
        /** @default false */
        clearable?: TClearable;
        /** @default false */
        multiple?: false;
    }
    interface MultipleProps<T extends OptionValue = OptionValue> extends BaseProps<T> {
        value?: T[];
        defaultValue?: T[];
        onChange?: (value: T[]) => void;
        /** @default false */
        clearable?: false;
        /** @default false */
        multiple: true;
    }
}
export type ExperimentalSelectChipProps<T extends OptionValue = OptionValue, TClearable extends boolean = false> = ExperimentalSelectChipProps.MultipleProps<T> | ExperimentalSelectChipProps.SingleProps<T, TClearable>;
export declare const ExperimentalSelectChipRoot: <T extends OptionValue, TClearable extends boolean>(props: ExperimentalSelectChipProps<T, TClearable> & import('react').RefAttributes<HTMLButtonElement>) => ReactNode | null;
export interface ExperimentalSelectChipOptionProps extends ComponentPropsWithoutRef<'div'> {
    value?: OptionValue;
    disabled?: boolean;
}
export declare const ExperimentalSelectChipOption: import('react').ForwardRefExoticComponent<ExperimentalSelectChipOptionProps & import('react').RefAttributes<HTMLElement>>;
//# sourceMappingURL=SelectChip.parts.d.ts.map