@orfeas126/box-ui-elements
Version:
Box UI Elements
25 lines (24 loc) • 1.4 kB
TypeScript
import { type MessageDescriptor } from 'react-intl';
import { type MetadataTemplate, type MetadataTemplateInstance, type MetadataTemplateField } from '@box/metadata-editor';
import API from '../../../api';
import { type BoxItem } from '../../../common/types/core';
import { type ErrorContextProps, type ExternalProps } from '../MetadataSidebarRedesign';
export declare enum STATUS {
IDLE = "idle",
LOADING = "loading",
ERROR = "error",
SUCCESS = "success"
}
interface DataFetcher {
errorMessage: MessageDescriptor | null;
extractSuggestions: (templateKey: string, fields: MetadataTemplateField[]) => Promise<MetadataTemplateField[]>;
file: BoxItem | null;
handleCreateMetadataInstance: (templateInstance: MetadataTemplateInstance, successCallback: () => void) => Promise<void>;
handleDeleteMetadataInstance: (metadataInstance: MetadataTemplateInstance) => Promise<void>;
handleUpdateMetadataInstance: (metadataTemplateInstance: MetadataTemplateInstance, JSONPatch: Array<Object>, successCallback: () => void) => Promise<void>;
status: STATUS;
templateInstances: Array<MetadataTemplateInstance>;
templates: Array<MetadataTemplate>;
}
declare function useSidebarMetadataFetcher(api: API, fileId: string, onError: ErrorContextProps['onError'], isFeatureEnabled: ExternalProps['isFeatureEnabled']): DataFetcher;
export default useSidebarMetadataFetcher;