/**
 * preflight.ts
 *
 * Boot each detected agent in dry-run mode against the running governance-sidecar.
 * For each agent: fires a PreToolUse-equivalent check-action call, asserts that
 * an audit chain entry lands, and returns per-agent status.
 *
 * Pure async function -- no process.exit, no stdout writes.
 *
 * F-NEW-PRODUCT-AGENT-DIR-WRAPPER slice 4
 * @connexum/ai-governance
 */
import type { DetectedAgent } from './agent-dir-scanner';
export type PreflightStatus = 'ok' | 'error' | 'denied' | 'skipped' | 'pending';
export interface PreflightResult {
    agentId: string;
    filePath: string;
    provider: string | null;
    framework: string | null;
    status: PreflightStatus;
    detail: string;
    /** ISO timestamp of the check */
    checkedAt: string;
    /** auditChainEntryId if an entry was confirmed, null otherwise */
    auditEntryId: string | null;
}
export interface PreflightOptions {
    /** URL of the running governance-sidecar, e.g. 'http://localhost:4201' */
    sidecarUrl: string;
    /** JWT token for authenticating with the sidecar. If absent, uses unauthenticated. */
    authToken?: string;
    /** Organisation ID for multi-tenant sidecars. Defaults to 'preflight-org'. */
    orgId?: string;
    /** Tenant-level JWT secret for minting preflight tokens (if sidecar is started with known secret). */
    jwtSecret?: string;
    /** If true, skip providers that have no governed wrapper. Default true. */
    skipUnsupported?: boolean;
}
/**
 * Run a preflight check for every detected agent against the governance-sidecar.
 *
 * For each agent:
 *   1. Checks the sidecar is reachable.
 *   2. Skips unsupported providers (status: 'skipped').
 *   3. Verifies the .governed shim exists (status: 'error' if missing).
 *   4. Fires a dry-run PreToolUse check-action.
 *   5. Asserts an audit chain entry lands.
 *   6. Returns status 'ok', 'denied', or 'error'.
 *
 * Never throws -- all errors are captured in the result.
 *
 * @param agents    Detected agents from scanAgentDirectory()
 * @param agentDir  Absolute path to the agent directory (for shim resolution)
 * @param opts      Preflight options
 */
export declare function preflightAgents(agents: DetectedAgent[], agentDir: string, opts: PreflightOptions): Promise<PreflightResult[]>;
//# sourceMappingURL=preflight.d.ts.map