import type { HushIdentityName, HushLogicalPath, HushFilePath, HushTargetName, HushBundleName } from './domain.js'; import type { HushContext, StoreContext, StoreMode } from '../types.js'; export declare const HUSH_AUDIT_EVENT_VERSION = 1; export type HushAuditEventType = 'identity_change' | 'read_attempt' | 'write' | 'metadata_change' | 'import_resolution' | 'materialize' | 'access_denied'; export interface HushAuditCommandContext { name: string; args?: string[]; } export interface HushAuditEvent { version: typeof HUSH_AUDIT_EVENT_VERSION; type: HushAuditEventType; timestamp: string; projectSlug: string; storeMode: StoreMode; storeRoot: string; activeIdentity?: HushIdentityName; success: boolean; command?: HushAuditCommandContext; files?: HushFilePath[]; logicalPaths?: HushLogicalPath[]; bundle?: HushBundleName; target?: HushTargetName; importProject?: string; requestedIdentity?: HushIdentityName; previousIdentity?: HushIdentityName; nextIdentity?: HushIdentityName; reason?: string; details?: Record; } export interface AppendAuditEventInput { type: HushAuditEventType; activeIdentity?: HushIdentityName; success: boolean; command?: HushAuditCommandContext; files?: HushFilePath[]; logicalPaths?: HushLogicalPath[]; bundle?: HushBundleName; target?: HushTargetName; importProject?: string; requestedIdentity?: HushIdentityName; previousIdentity?: HushIdentityName; nextIdentity?: HushIdentityName; reason?: string; details?: Record; } export declare function createAuditEvent(store: StoreContext, input: AppendAuditEventInput): HushAuditEvent; export declare function serializeAuditEvent(event: HushAuditEvent): string; export declare function appendAuditEvent(ctx: HushContext, store: StoreContext, input: AppendAuditEventInput): HushAuditEvent; //# sourceMappingURL=audit.d.ts.map