import type { SelectProps as AntDSelectProps } from 'antd';
import { Select as AntDSelect } from 'antd';
import type { RefSelectProps } from 'antd/es/select';
import type { SelectValue as AntdSelectValue } from 'antd/lib/select';
import type { FC } from 'react';
import React from 'react';
import type { DangerouslySetAntdProps, HTMLDataAttributes } from '../types';
export declare type SelectValue = AntdSelectValue;
declare type OmittedProps = 'bordered' | 'autoClearSearchValue' | 'dropdownRender' | 'dropdownStyle' | 'size' | 'suffixIcon' | 'tagRender' | 'clearIcon' | 'removeIcon' | 'showArrow' | 'dropdownMatchSelectWidth' | 'menuItemSelectedIcon' | 'showSearch';
export interface SelectProps<T = string> extends Omit<AntDSelectProps<T>, OmittedProps>, HTMLDataAttributes, DangerouslySetAntdProps<Pick<AntDSelectProps<T>, OmittedProps>> {
}
export interface SelectInterface<T> extends FC<SelectProps<T>> {
    Option: typeof AntDSelect.Option;
    OptGroup: typeof AntDSelect.OptGroup;
}
export interface OptionProps extends DangerouslySetAntdProps<typeof AntDSelect.Option> {
    value: string | number;
    disabled?: boolean;
    key?: string | number;
    title?: string;
    label?: React.ReactNode;
    children: React.ReactNode;
    'data-testid'?: string;
    onClick?: () => void;
    className?: string;
}
export declare const Option: React.ForwardRefExoticComponent<OptionProps & React.RefAttributes<HTMLElement>>;
export declare const Select: (<T extends AntdSelectValue>(props: SelectProps<T> & {
    ref?: RefSelectProps | undefined;
}) => JSX.Element) & {
    Option: React.ForwardRefExoticComponent<OptionProps & React.RefAttributes<HTMLElement>>;
    OptGroup: import("rc-select/lib/OptGroup").OptionGroupFC;
};
export declare const __INTERNAL_DO_NOT_USE__Option: React.ForwardRefExoticComponent<OptionProps & React.RefAttributes<HTMLElement>>;
export {};
//# sourceMappingURL=Select.d.ts.map