import * as React from 'react'; type ItemRecord = Record; type ItemsInput = ItemRecord | ReadonlyArray | ReadonlyArray> | undefined; interface LabeledItem { value: any; label: React.ReactNode; } export interface Group { [key: string]: unknown; items: ReadonlyArray; } export declare function isGroupedItems(items: ReadonlyArray> | undefined): items is ReadonlyArray>; export declare function flattenLeafItems(items: readonly Item[] | readonly Group[]): readonly Item[]; /** * Checks if the items array contains an item with a null value that has a non-null label. */ export declare function hasNullItemLabel(items: ItemsInput): boolean; export declare function stringifyAsLabel(item: any, itemToStringLabel?: (item: any) => string): string; export declare function stringifyAsValue(item: any, itemToStringValue?: (item: any) => string): string; export declare function resolveSelectedLabel(value: any, items: ItemsInput, itemToStringLabel?: (item: any) => string): React.ReactNode; export declare function resolveMultipleLabels(values: any[], items: ItemsInput, itemToStringLabel?: (item: any) => string): React.ReactNode; export {};