import './assert_dev_env.js';
import type { SessionOptions } from '../auth/session_cookie.js';
import { type RoleSchemaResult } from '../auth/role_schema.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_standard_admin_integration_tests`.
 */
export interface StandardAdminIntegrationTestOptions {
    /**
     * Per-test fixture-producing function. The admin suite calls this in
     * every `test()` body — auth_integration_truncate_tables clears
     * `account`, so each test re-bootstraps the keeper.
     */
    setup_test: SetupTest;
    /**
     * App surface (with route specs + middleware specs) for route iteration
     * and error-coverage scoping. Constructed in TS by the consumer (same
     * shape for in-process and cross-process tests).
     */
    surface_source: AppSurfaceSpec;
    /** Backend capability declarations. */
    capabilities: BackendCapabilities;
    /** Session config — needed for cookie_name + factory-form rpc_endpoints resolution. */
    session_options: SessionOptions<string>;
    /** Role schema result from `create_role_schema()` — used to determine valid/invalid/web-grantable roles. */
    roles: RoleSchemaResult;
    /**
     * RPC endpoint specs — the source `RpcAction` arrays. Required; role_grant
     * grant/revoke are RPC-only and the suite hard-fails without them.
     */
    rpc_endpoints: RpcEndpointsSuiteOption;
    /**
     * Path prefix where admin routes are mounted (e.g., `'/api/admin'`).
     * Used by the 401/403 error-coverage probe to scope to fuz_app admin
     * routes only, avoiding app-specific admin-gated routes that may use
     * stub deps. Default `'/api/admin'`.
     */
    admin_prefix?: string;
}
/**
 * Standard admin integration test suite for fuz_app admin routes.
 *
 * Exercises account listing, role_grant grant/revoke (via RPC), session
 * management, token management, audit log reads, admin-to-admin
 * isolation, and 401/403 error-coverage on the admin REST surface.
 * Output-schema conformance is not in scope — see the module docstring
 * for the suites that cover it.
 *
 * @throws Error at setup time when `options.rpc_endpoints` is empty — admin
 *   role_grant grant/revoke, session/token revoke-all, and audit-log reads
 *   are RPC-only. Hard-fails via `require_rpc_endpoint_path` so consumers
 *   see a clear setup error rather than `method not found` mid-suite.
 */
export declare const describe_standard_admin_integration_tests: (options: StandardAdminIntegrationTestOptions) => void;
//# sourceMappingURL=admin_integration.d.ts.map