import { record } from '@synnaxlabs/x';
import { ReactElement } from 'react';
import { Dialog } from '../dialog';
import { List } from '../list';
import { Select } from '.';
import { DialogProps } from './Dialog';
import { SingleFrameProps } from './Frame';
import { SingleTriggerProps } from './SingleTrigger';
import { Variant } from './variant';
export interface SingleProps<K extends record.Key, E extends record.Keyed<K> | undefined> extends Omit<SingleFrameProps<K, E>, "multiple" | "children">, Pick<DialogProps<K>, "emptyContent" | "status" | "onSearch" | "actions">, Omit<Dialog.FrameProps, "onChange" | "children" | "variant">, Pick<SingleTriggerProps, "disabled" | "icon" | "haulType">, Pick<List.ItemsProps<K>, "children"> {
    resourceName: string;
    variant?: Variant;
    triggerProps?: Select.SingleTriggerProps;
    dialogProps?: Dialog.FrameProps;
}
export declare const Single: <K extends record.Key, E extends record.Keyed<K> | undefined>({ resourceName, onChange, value, allowNone, emptyContent, haulType, data, getItem, subscribe, itemHeight, onFetchMore, disabled, onSearch, status, icon, children, variant, actions, dialogProps, triggerProps, virtual, closeDialogOnSelect, ...rest }: SingleProps<K, E>) => ReactElement;
//# sourceMappingURL=Single.d.ts.map