export interface FileItem {
    id: string;
    name: string;
    type: string;
    size: number;
    workspaceId: number;
}
export interface StorageQuota {
    used: number;
    total: number;
    unit: 'KB' | 'MB' | 'GB';
}
export interface UploadProgress {
    fileId: string;
    fileName: string;
    fileSize: number;
    progress: number;
    status: 'uploading' | 'completed' | 'error';
    error?: string;
}
export interface FileUpload {
    file: File;
    id: string;
    progress: number;
    status: 'pending' | 'uploading' | 'completed' | 'error';
    error?: string;
}
export interface SourcesSummary {
    files: {
        count: number;
        size: number;
    };
    text: {
        count: number;
        size: number;
    };
    websites: {
        count: number;
        size: number;
    };
    integrations: {
        count: number;
        size: number;
    };
}
export type SupportedFileType = 'TXT' | 'MD' | 'JSON' | 'HTML';
export interface FileValidationResult {
    isValid: boolean;
    error?: string;
}
export interface FileTableColumn {
    key: keyof FileItem;
    label: string;
    sortable?: boolean;
    width?: string;
}
export interface FileTableFilters {
    search: string;
    type: string;
    dateRange: {
        from?: Date;
        to?: Date;
    };
}
export interface TextItem {
    id: string;
    name: string;
    size: number;
    workspaceId: number;
    createdAt?: string;
}
export interface TextTableFilters {
    search: string;
}
