import './assert_dev_env.js';
import type { SessionOptions } from '../auth/session_cookie.js';
import { type RpcEndpointsSuiteOption } from './rpc_helpers.js';
import type { AppSurfaceSpec } from '../http/surface.js';
import type { BackendCapabilities } from './cross_backend/capabilities.js';
import type { SetupTest } from './cross_backend/setup.js';
/**
 * Configuration for `describe_audit_completeness_tests`.
 */
export interface AuditCompletenessTestOptions {
    /**
     * Per-test fixture-producing function. The audit suite calls this
     * in every `test()` body — `auth_integration_truncate_tables` clears
     * the audit log between tests, so each test re-bootstraps the
     * keeper and the observer admin against a fresh table.
     */
    setup_test: SetupTest;
    /**
     * App surface (with route specs). Constructed in TS by the consumer;
     * same shape for in-process and cross-process tests. The audit suite is
     * Tier 2 today (stays in-process per the cross-backend-integration
     * design), but takes the same surface shape as Tier 1 suites for
     * options uniformity.
     */
    surface_source: AppSurfaceSpec;
    /** Backend capability declarations. */
    capabilities: BackendCapabilities;
    /** Session config — needed for factory-form rpc_endpoints resolution. */
    session_options: SessionOptions<string>;
    /**
     * RPC endpoint specs — required. The admin role_grant flow is RPC-only
     * and the suite hard-fails without it.
     */
    rpc_endpoints: RpcEndpointsSuiteOption;
}
/**
 * Composable audit log completeness test suite.
 *
 * Verifies that every auth mutation route produces the correct audit log
 * event type. Exercises routes via HTTP requests against a real PGlite
 * database, then reads events back through the `audit_log_list` RPC
 * (the production observation path the admin UI consumes).
 *
 * @throws Error at setup time when `options.rpc_endpoints` is empty — the
 *   mutation-audit tests drive role_grant flow, session/token revoke-all, and
 *   invite create/delete through their RPC action specs. Hard-fails via
 *   `require_rpc_endpoint_path`.
 */
export declare const describe_audit_completeness_tests: (options: AuditCompletenessTestOptions) => void;
//# sourceMappingURL=audit_completeness.d.ts.map