import { Ref, ComputedRef } from 'vue'; import { GetInstanceMetadataTemplatesPayload } from '../../sdk/payload.types'; import { CanvasType } from '../../types/canvases'; import { PaginatedMetadataTemplateList, CanvasRetrieve, PatchedCanvasUpdateRequest } from '../../../types/openapi'; interface BaseBulkProps { selectedRows: Ref>; title?: string; onComplete: () => void | Promise; confirmText?: string; cancelText?: string; } interface BulkUpdateFileAttributeProps extends BaseBulkProps { fileNames: string[]; metadataFetcher?: (params?: GetInstanceMetadataTemplatesPayload) => Promise; noMetadataErrorText?: string; subtitle?: string; isBulkUpdating: Ref; } interface BulkUpdateMetadataDialogProps extends BaseBulkProps { selectedItemNames?: string[]; metadataFetcher?: (params?: GetInstanceMetadataTemplatesPayload) => Promise; noMetadataErrorText?: string; subtitle?: string; isBulkUpdating: Ref; canvasType: CanvasType; updater?: (params: PatchedCanvasUpdateRequest & { id: CanvasRetrieve['id']; fields?: string; }) => Promise; } interface BulkDeleteDialogProps extends BaseBulkProps { filteredData: ComputedRef; isBulkDeleting: Ref; canvasType: CanvasType; isReadonly?: (canvas: CanvasRetrieve) => boolean; content?: string; } interface BulkTagsProps extends BaseBulkProps { filteredData: ComputedRef; isBulkUpdating: Ref; canvasType: CanvasType; isReadonly?: (canvas: CanvasRetrieve) => boolean; content?: string; } export default function useCanvasesManagementBulk(): { bulkDeleteDialog: ({ filteredData, selectedRows, isBulkDeleting, canvasType, onComplete, isReadonly, title, content, confirmText, cancelText, }: BulkDeleteDialogProps) => Promise; bulkUpdateMetadataDialog: ({ selectedRows, selectedItemNames, metadataFetcher, noMetadataErrorText, title, subtitle, isBulkUpdating, onComplete, confirmText, cancelText, canvasType, updater, }: BulkUpdateMetadataDialogProps) => Promise; bulkUpdateFileAttributes: ({ selectedRows, fileNames, metadataFetcher, noMetadataErrorText, title, subtitle, isBulkUpdating, onComplete, confirmText, cancelText, }: BulkUpdateFileAttributeProps) => Promise; bulkAddTagsDialog: ({ filteredData, selectedRows, isBulkUpdating, canvasType, onComplete, isReadonly, title, confirmText, cancelText, }: BulkTagsProps) => Promise; bulkRemoveTagsDialog: ({ filteredData, selectedRows, isBulkUpdating, canvasType, onComplete, isReadonly, title, confirmText, cancelText, }: BulkTagsProps) => Promise; bulkUpdateDistributionDialog: ({ selectedCount, isBulkUpdating, canvasType, selectedRows, onComplete, title, confirmText, cancelText, }: { selectedCount: number; isBulkUpdating: Ref; canvasType: CanvasType; selectedRows: Ref>; onComplete: () => void | Promise; title?: string; confirmText?: string; cancelText?: string; }) => Promise; bulkUpdateFileDistributionDialog: ({ selectedCount, isBulkUpdating, selectedRows, onComplete, title, confirmText, cancelText, }: { selectedCount: number; isBulkUpdating: Ref; selectedRows: Ref>; onComplete: () => void | Promise; title?: string; confirmText?: string; cancelText?: string; }) => Promise; }; export {};