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 { MultipleFrameProps } from './Frame';
import { MultipleTriggerProps } from './MultipleTrigger';
import { Variant } from './variant';
export interface MultipleProps<K extends record.Key, E extends record.Keyed<K> | undefined> extends Omit<MultipleFrameProps<K, E>, "multiple" | "children">, Pick<DialogProps<K>, "emptyContent" | "status" | "onSearch" | "actions">, Omit<Dialog.FrameProps, "onChange" | "children" | "variant">, Pick<MultipleTriggerProps<K>, "disabled" | "icon" | "haulType">, Pick<List.ItemsProps<K>, "children"> {
    resourceName: string;
    renderTag?: Select.MultipleTriggerProps<K>["children"];
    triggerProps?: Select.MultipleTriggerProps<K>;
    dialogProps?: Dialog.FrameProps;
    variant?: Variant;
}
export declare const Multiple: <K extends record.Key, E extends record.Keyed<K> | undefined>({ resourceName, value, onChange, data, getItem, subscribe, haulType, icon, disabled, onSearch, emptyContent, status, onFetchMore, children, renderTag, actions, allowNone, replaceOnSingle, triggerProps, virtual, dialogProps, variant, ...rest }: MultipleProps<K, E>) => ReactElement;
//# sourceMappingURL=Multiple.d.ts.map