import { AgentAttachment } from '@multiplayer-app/ai-agent-types';

export interface FileUploadConfig {
    presignedUrlEndpoint: string;
    getAuthHeaders?: () => Record<string, string>;
}
export interface FileUploadProgress {
    fileId: string;
    fileName: string;
    progress: number;
    status: 'pending' | 'uploading' | 'completed' | 'error';
    error?: string;
}
/**
 * Converts a file to base64 string
 */
export declare function fileToBase64(file: File): Promise<string>;
/**
 * Processes a file and creates an attachment
 * All files are uploaded to S3
 */
export declare function processFile(file: File, config: FileUploadConfig, options: {
    chatId?: string;
    userId?: string;
    onProgress?: (progress: FileUploadProgress) => void;
}): Promise<AgentAttachment>;
/**
 * Processes multiple files in parallel
 */
export declare function processFiles(files: File[], config: FileUploadConfig, options: {
    chatId?: string;
    userId?: string;
    onProgress?: (progress: FileUploadProgress) => void;
}): Promise<AgentAttachment[]>;
//# sourceMappingURL=fileUpload.d.ts.map