import { type Firestore } from 'firebase/firestore'; export type OpType = 'FileWrite' | 'FileDelete' | 'FolderCreate' | 'FolderDelete' | 'FolderMove'; export type ActorType = 'user' | 'agent'; export type SubjectType = 'file' | 'folder'; export type Outcome = 'success' | 'integrity_error' | 'io_error' | 'permission_denied'; export interface OperationLogActor { type: ActorType; id: string; } export interface OperationLogSubject { type: SubjectType; id: string; } export interface OperationLogError { code: string; message: string; } export interface OperationLogEntryInput { orgId: string; actor: OperationLogActor; subject: OperationLogSubject; opType: OpType; path: string; outcome: Outcome; preContentHash?: string | null; postContentHash?: string | null; sizeBytes?: number | null; error?: OperationLogError | null; agentVersion?: string; } export interface LogOperationInput extends OperationLogEntryInput { db: Firestore; } export declare const DAEMON_AGENT_VERSION: string; export interface OperationLogDoc { id: string; timestamp: string; actor: OperationLogActor; subject: OperationLogSubject; op_type: OpType; path: string; pre_content_hash: string | null; post_content_hash: string | null; size_bytes: number | null; outcome: Outcome; error: OperationLogError | null; agent_version: string; org_id: string; } export declare function buildOperationLogDoc(input: OperationLogEntryInput, now?: string, id?: string): OperationLogDoc; export declare function logOperation(input: LogOperationInput): Promise; //# sourceMappingURL=operation-log.d.ts.map