import { StoreDefinition, PiniaCustomStateProperties } from 'pinia'; export const useUploadStore: StoreDefinition<"upload", { isUploading: boolean; files: any[]; progress: { completed: number; total: number; }; worker: any; activeRequests: {}; classificationPlanFiles: any[]; onCompleteCallback: any; pendingNodes: any[]; ghostContext: any; }, { overallMessage(state: { isUploading: boolean; files: any[]; progress: { completed: number; total: number; }; worker: any; activeRequests: {}; classificationPlanFiles: any[]; onCompleteCallback: any; pendingNodes: any[]; ghostContext: any; } & PiniaCustomStateProperties<{ isUploading: boolean; files: any[]; progress: { completed: number; total: number; }; worker: any; activeRequests: {}; classificationPlanFiles: any[]; onCompleteCallback: any; pendingNodes: any[]; ghostContext: any; }>): string; }, { startUpload(uploadItems: any, nodeId: any): void; initializeWorker(): void; handleUploadRequest(item: any, nodeId: any): Promise; cancelUpload(fileName: any): void; clearCompleted(): void; setGhostContext(context: any): void; addGhostNode(ghostData: any): void; removeGhostNode(nodeId: any): void; /** * Update a pre-created ghost with real data after upload success. * Finds the ghost by _originalFileName (stored at creation time). */ updateGhostAfterUpload(fileName: any, data: any): void; /** * Remove a pre-created ghost on upload failure. */ removeGhostByTempKey(fileName: any): void; cleanExpiredGhosts(ttl?: number): void; /** * Start upload with classification plan * Uses the injector webscript to upload files with metadata * @param {string} workspaceSiteId - Site ID of the workspace * @param {string} pathFull - Full path within the site * @param {Array} files - Array of File objects to upload * @param {Object} metadata - Metadata properties to inject * @param {Array} fileRenames - Array of {original, new} rename mappings */ startUploadWithClassificationPlan(workspaceSiteId: string, pathFull: string, files: any[], metadata: any, fileRenames: any[], destinationNodeId: any): void; /** * Start a classification plan upload where each file has its own * pathFull, metadata, and fileRenames. * @param {string} workspaceSiteId * @param {File[]} files * @param {Object[]} perFileData - Array of { pathFull, metadata, fileRenames } per file * @param {string} destinationNodeId */ startUploadWithClassificationPlanMulti(workspaceSiteId: string, files: File[], perFileData: any[], destinationNodeId: string): void; /** * Handle classification plan upload request from worker * Uses multipart/form-data for efficient upload without base64 encoding */ handleClassificationPlanUpload(item: any): Promise; }>; //# sourceMappingURL=upload.d.ts.map