import { components } from 'react-select';
import { createFilter } from 'react-select';
import { GroupBase } from 'react-select';
import { JSX } from 'react/jsx-runtime';
import { MultiValue as MultiValueOption } from 'react-select';
import { OnChangeValue } from 'react-select';
import { Props } from 'react-select';
import { SingleValue as SingleValueOption } from 'react-select';

export { components }

export { createFilter }

export declare function DropdownSelect<Option extends OptionType = OptionType, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>>({ className, classNames, variant, size, truncateLabel, placeholder, maxTagCount, isDisabled, components, isSearchable, color, showCheck, ...props }: SelectPropsDataType<Option, IsMulti, Group>): JSX.Element;

export { MultiValueOption }

export { OnChangeValue }

export declare interface OptionType {
    value: string | number;
    label: string | number;
}

declare interface SelectPropsDataType<Option extends OptionType = OptionType, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>> extends Props<Option, IsMulti, Group> {
    truncateLabel?: boolean;
    variant?: 'light' | 'normal';
    size?: 'sm' | 'base';
    maxTagCount?: number;
    color?: 'primary' | 'secondary' | 'tertiary' | 'foreground' | 'quaternary';
    showCheck?: boolean;
}

export { SingleValueOption }

export { }


declare namespace BreadcrumbSeparator {
    var displayName: string;
}


declare namespace BreadcrumbEllipsis {
    var displayName: string;
}


declare namespace DialogHeader {
    var displayName: string;
}


declare namespace DialogFooter {
    var displayName: string;
}


declare namespace PaginationUnit {
    var displayName: string;
}


declare namespace PaginationLink {
    var displayName: string;
}


declare namespace PaginationPrevious {
    var displayName: string;
}


declare namespace PaginationNext {
    var displayName: string;
}


declare namespace PaginationEllipsis {
    var displayName: string;
}
