import React, { ComponentType } from 'react';
export type ListItemProps<Option> = {
    value: Option;
    displayOption: (opt: Option) => string;
    light: boolean;
    disabled: boolean;
};
export type DropdownSelectProps<Option> = {
    className?: string;
    displayOption?: string | ((opt: Option) => string);
    disabled?: boolean;
    onClick: (e: React.MouseEvent) => void;
    inputTheme?: string;
    error?: boolean;
    size?: string;
    value: Option;
    placeholder?: string;
    erasable?: boolean;
    showArrow?: boolean;
    onErase?: (e: React.MouseEvent) => void;
    showDropdown: (e: React.MouseEvent) => void;
    DropDownLineItemRenderComponent?: ComponentType<ListItemProps<Option>>;
};
export declare const StyledDropdownSelect: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
    ref?: ((instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLDivElement> | null | undefined;
}>, {
    className?: string;
}>, {
    size: DropdownSelectProps<any>["size"];
    inputTheme: DropdownSelectProps<any>["inputTheme"];
}>>;
export declare const DropdownSelectValue: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {
    inputTheme: DropdownSelectProps<any>["inputTheme"];
    hasPlaceholder: boolean;
}>>;
declare function DropdownSelect<Option>({ className, displayOption, disabled, onClick, inputTheme, size, value, placeholder, erasable, showArrow, onErase, showDropdown, DropDownLineItemRenderComponent }: DropdownSelectProps<Option>): JSX.Element;
export default DropdownSelect;
