import React from "react"; declare type TItem = { id: string; label: React.ReactNode; labelText?: string; disabled?: boolean; }; declare type TItemSearchable = { id: string; label: React.ReactNode; labelText: string; disabled?: boolean; }; interface IPropsBase extends Omit, "onChange" | "prefix"> { onChange: (selectedItem?: TItem | null) => void; selectedItemId?: string | null; prefix?: React.ReactNode; placeholder?: string; alwaysShowPlaceholder?: boolean; disabled?: boolean; error?: boolean; id?: string; withSearchBar?: TWithSearchBar; searchBarPlaceholder?: string; Footer?: React.ReactNode; small?: boolean; /** * The item property used to group the items */ groupBy?: string; /** * Number of items to show at the top without grouping and separated from the rest */ topItems?: number; } declare type IProps = TWithSearchBar extends true ? IPropsBase & { items: TItemSearchable[]; } : IPropsBase & { items: TItem[]; }; export declare const DSSelect: ({ onChange, selectedItemId, prefix, placeholder, alwaysShowPlaceholder, disabled, error, id, withSearchBar, searchBarPlaceholder, Footer, small, items, groupBy, topItems, ...rest }: IProps) => JSX.Element; export {};