import { OneBotAction } from '../../action/OneBotAction'; import { Static } from '@sinclair/typebox'; import { NetworkAdapterConfig } from '../../config/config'; import { StreamPacket } from './StreamBasic'; export declare const UploadFileStreamPayloadSchema: import("@sinclair/typebox").TObject<{ stream_id: import("@sinclair/typebox").TString; chunk_data: import("@sinclair/typebox").TOptional; chunk_index: import("@sinclair/typebox").TOptional; total_chunks: import("@sinclair/typebox").TOptional; file_size: import("@sinclair/typebox").TOptional; expected_sha256: import("@sinclair/typebox").TOptional; is_complete: import("@sinclair/typebox").TOptional; filename: import("@sinclair/typebox").TOptional; reset: import("@sinclair/typebox").TOptional; verify_only: import("@sinclair/typebox").TOptional; file_retention: import("@sinclair/typebox").TNumber; }>; export type UploadFileStreamPayload = Static; interface StreamResult { stream_id: string; status: 'file_created' | 'chunk_received' | 'file_complete'; received_chunks: number; total_chunks: number; file_path?: string; file_size?: number; sha256?: string; } export declare class UploadFileStream extends OneBotAction> { actionName: "upload_file_stream"; payloadSchema: import("@sinclair/typebox").TObject<{ stream_id: import("@sinclair/typebox").TString; chunk_data: import("@sinclair/typebox").TOptional; chunk_index: import("@sinclair/typebox").TOptional; total_chunks: import("@sinclair/typebox").TOptional; file_size: import("@sinclair/typebox").TOptional; expected_sha256: import("@sinclair/typebox").TOptional; is_complete: import("@sinclair/typebox").TOptional; filename: import("@sinclair/typebox").TOptional; reset: import("@sinclair/typebox").TOptional; verify_only: import("@sinclair/typebox").TOptional; file_retention: import("@sinclair/typebox").TNumber; }>; returnSchema: import("@sinclair/typebox").TAny; actionSummary: string; actionDescription: string; actionTags: string[]; payloadExample: { stream_id: string; chunk_data: string; chunk_index: number; total_chunks: number; file_size: number; }; returnExample: { type: string; stream_id: string; status: string; received_chunks: number; total_chunks: number; }; useStream: boolean; private static streams; private static memoryUsage; _handle(payload: UploadFileStreamPayload, _adaptername: string, _config: NetworkAdapterConfig): Promise>; private getOrCreateStream; private createStream; private shouldUseMemory; private setupDiskStorage; private setupTimeout; private processChunk; private refreshTimeout; private getStreamStatus; private completeStream; private mergeMemoryChunks; private mergeDiskChunks; private validateSha256; private cleanupStream; } export {};