import { record } from '@synnaxlabs/x'; import { ReactElement } from 'react'; import { List } from '../list'; import { UseMultipleProps, UseSingleProps } from './use'; /** Props a custom {@link Frame} trigger receives. */ export interface TriggerProps | undefined> { value: K | null; /** Reads the entry for a key, subscribing to its changes. */ useItem: (key: K) => E; /** Opens the dialog. */ onClick: () => void; } interface BaseFrameProps | undefined> extends Omit, "onChange"> { } export interface MultipleFrameProps | undefined> extends BaseFrameProps, UseMultipleProps { multiple: true; } export interface SingleFrameProps | undefined = record.Keyed | undefined> extends BaseFrameProps, UseSingleProps { multiple?: false; } /** Props for {@link Frame}. Set `multiple` to switch to a multi-entry selection. */ export type FrameProps | undefined = record.Keyed> = MultipleFrameProps | SingleFrameProps; /** * Provides list data and selection state to its children, with no UI of its own. Use it * to build a selection whose trigger and dialog are not the standard ones. */ export declare const Frame: { | undefined = record.Keyed>({ data, getItem, subscribe, itemHeight, multiple, onFetchMore, overscan, virtual, value, onChange, ...rest }: FrameProps): ReactElement; displayName: string; }; export {}; //# sourceMappingURL=Frame.d.ts.map