import type { DatabaseSync } from "node:sqlite";
export declare const RELATIONSHIP_AUDIT_SCHEMA_VERSION: "1";
export declare const RELATIONSHIP_AUDIT_SUMMARY_MAX_CHARS = 240;
export type RelationshipAuditKind = "relationship.created" | "relationship.updated" | "relationship.deleted" | "relationship.reconnected" | "relationship.validation-denied" | "relationship.policy-denied" | "relationship.activity-transitioned" | "relationship.impact-analysis-bounded" | "relationship.health-finding";
export type RelationshipAuditActorSurface = "chat" | "inspector" | "workflow" | "health-check" | "system";
export type RelationshipAuditPlacement = "sibling-table" | "evidence-manifest";
export interface RelationshipAuditEntryInput {
    readonly eventId: string;
    readonly workspaceId: string;
    readonly occurredAt: number;
    readonly kind: RelationshipAuditKind;
    readonly relationshipId?: string | undefined;
    readonly actor: {
        readonly surface: RelationshipAuditActorSurface;
        readonly redactedActorId: string;
    };
    readonly summary: string;
    readonly payload: Readonly<Record<string, unknown>>;
}
export interface RelationshipAuditEntryRow {
    readonly eventId: string;
    readonly workspaceId: string;
    readonly sequence: number;
    readonly occurredAt: number;
    readonly kind: RelationshipAuditKind;
    readonly relationshipId: string | undefined;
    readonly actorSurface: RelationshipAuditActorSurface;
    readonly redactedActorId: string;
    readonly redactionState: "redacted-on-write" | "redacted-on-write-and-persist";
    readonly summary: string;
    readonly payload: Readonly<Record<string, unknown>>;
}
export declare function resolveAuditPlacement(input: {
    readonly kind: RelationshipAuditKind;
    readonly sourceKind?: string | undefined;
}): RelationshipAuditPlacement;
export declare const MAX_AUDIT_LIST_LIMIT = 256;
export declare const DEFAULT_AUDIT_LIST_LIMIT = 64;
export declare function insertRelationshipAuditEntry(db: DatabaseSync, entry: RelationshipAuditEntryInput, redactString: (value: string) => string): RelationshipAuditEntryRow;
export declare function listRelationshipAuditEntries(db: DatabaseSync, workspaceId: string, limit?: number): readonly RelationshipAuditEntryRow[];
export declare function listRelationshipAuditEntriesForRelationship(db: DatabaseSync, workspaceId: string, relationshipId: string, limit?: number): readonly RelationshipAuditEntryRow[];
//# sourceMappingURL=relationship-audit.d.ts.map