import { EntityId } from '@contember/react-binding';
import { MessageFormatter } from '@contember/react-i18n';
import { ComponentType, ReactNode } from 'react';
import { UploadDictionary } from '../../uploadDictionary';
import { EntityConnector } from '../hooks/useConnectSelectedEntities';
export type SelectFileDialogProps = ResolvedFileSelectionComponent & {
    onSelect: (entities: EntityConnector[]) => void;
    onCancel: () => void;
    formatMessage: MessageFormatter<UploadDictionary>;
    insertSelectedText?: string;
    selectButtonText: ReactNode;
    isMultiple: boolean;
};
export interface ResolvedFileSelectionInnerProps {
    onToggleSelectConnector: (connector: EntityConnector) => void;
    selectedEntityIds: EntityId[];
}
export type ResolvedFileSelectionComponent<SFExtraProps extends {} = {}> = {
    dialogComponent: ComponentType<SFExtraProps & ResolvedFileSelectionInnerProps>;
    dialogProps: SFExtraProps;
};
export declare const SelectFileDialog: ({ onSelect, onCancel, formatMessage, insertSelectedText, selectButtonText, isMultiple, dialogComponent: Component, dialogProps, }: SelectFileDialogProps) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=SelectFileDialog.d.ts.map