import { type RefusalFilter, type RefusalRecord } from '@substrat-run/contracts'; /** The raw row shape, as either adapter hands it back. */ export interface RefusalDbRow { id: string; kind: string; tenant_id: string; scope_id: string | null; entity_type: string | null; entity_id: string | null; from_state: string | null; attempted_state: string | null; operation: string; invoked_operation: string | null; guard: string | null; /** NULL on a row written before the column; the kind implies it there. */ reason: string | null; actor: string; impersonation: string | null; invocation_id: string | null; at: string; drained_at: string | null; } /** * Turn a stored row into the contract shape, tolerantly (#1636's rule for the denial log): * an actor or impersonation that will not parse reads as its empty value with * `decodeError` naming it, and only a row whose required scalars break throws. */ export declare function mapRefusalRow(row: RefusalDbRow): RefusalRecord; /** A bounded page of raw refusal rows, newest first. */ export declare function refusalListQuery(filter?: RefusalFilter): { sql: string; params: (string | number)[]; }; //# sourceMappingURL=refusal-query.d.ts.map