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

export interface FileValidationConfig {
    maxFileSize: number;
    maxTotalAttachmentsSize: number;
    maxFilesPerMessage: number;
    allowedMimeTypes?: string[];
}
export interface FileValidationError {
    type: 'size' | 'type' | 'count' | 'totalSize';
    message: string;
    fileName?: string;
}
/**
 * Validates a single file against configuration
 */
export declare function validateFile(file: File, config: FileValidationConfig): FileValidationError | null;
/**
 * Validates multiple files and checks aggregate limits
 */
export declare function validateFiles(files: File[], existingAttachments: AgentAttachment[], config: FileValidationConfig): FileValidationError | null;
/**
 * Formats file size in human-readable format
 */
export declare function formatFileSize(bytes: number): string;
/**
 * Gets default file validation config
 */
export declare function getDefaultFileValidationConfig(): FileValidationConfig;
//# sourceMappingURL=fileValidation.d.ts.map