import './assert_dev_env.js';
import type { BackendCapabilities } from './cross_backend/capabilities.js';
import type { SetupTest } from './cross_backend/setup.js';
import type { AppSurfaceSpec } from '../http/surface.js';
/** Options for `describe_round_trip_validation`. */
export interface RoundTripTestOptions {
    /**
     * Per-test fixture-producing function. `describe_round_trip_validation`
     * invokes this once in `beforeAll` (per-describe cadence — see module
     * docstring) to share a single bootstrapped keeper + accounts across
     * every route case.
     */
    setup_test: SetupTest;
    /**
     * App surface (with route specs) for route iteration. Constructed in
     * TS by the consumer; same shape for in-process and cross-process tests.
     */
    surface_source: AppSurfaceSpec;
    /** Backend capability declarations — see `cross_backend/capabilities.ts`. */
    capabilities: BackendCapabilities;
    /** Routes to skip, in `'METHOD /path'` format. */
    skip_routes?: Array<string>;
    /** Override generated bodies for specific routes (`'METHOD /path'` → body). */
    input_overrides?: Map<string, Record<string, unknown>>;
}
/**
 * Run schema-driven round-trip validation tests.
 *
 * For each route:
 * 1. Resolve URL with valid params
 * 2. Generate a valid request body (or use override)
 * 3. Pick auth headers matching the route's auth requirement
 * 4. Fire the request through `fixture.transport` and validate the response
 *
 * SSE routes are skipped by Content-Type sniff. Routes returning non-2xx
 * with valid input are still validated against their declared error schemas.
 */
export declare const describe_round_trip_validation: (options: RoundTripTestOptions) => void;
//# sourceMappingURL=round_trip.d.ts.map