export type ReleaseCheckName = 'ac-evidence-mapping' | 'code-analyzer' | 'open-blockers' | 'threat-model' | 'performance-baseline' | 'docs-link-check' | 'deprecation-policy' | 'migration-path' | 'changelog' | 'risk-governance' | 'e2e-suite' | 'manual-qa-signoff' | 'npm-audit' | 'knip' | 'coverage' | 'secret-scan';
export type CheckResult = {
    name: string;
    status: 'pass' | 'warn' | 'fail';
    blocking: boolean;
    detail: string;
    evidenceId?: string;
};
export type ReleaseCheckReport = {
    taskId: string;
    checks: CheckResult[];
    overallPass: boolean;
    runAt: string;
};
export type CriterionClassification = 'blocking' | 'advisory';
export type ReleaseGateConfig = {
    criteria: Record<ReleaseCheckName, {
        enabled: boolean;
        classification: CriterionClassification;
    }>;
    timeoutMs: number;
    totalTimeoutMs: number;
};
export type CriterionResult = {
    id: ReleaseCheckName;
    name: string;
    number: number;
    status: 'pass' | 'warn' | 'fail';
    classification: CriterionClassification;
    blocking: boolean;
    detail: string;
    evidenceId?: string;
    executionTimeMs: number;
};
export type ReleaseGateReport = {
    taskId: string;
    criteria: CriterionResult[];
    overallPass: boolean;
    advisoryWarnings: string[];
    executionTimeMs: number;
    runAt: string;
    configSource: string;
};
export type NpmAuditOutput = {
    metadata?: {
        vulnerabilities?: {
            [key: string]: number | undefined;
            high?: number;
            critical?: number;
        };
    };
    vulnerabilities?: Record<string, unknown>;
};
export declare function parseNpmAudit(stdout: string): {
    blocking: boolean;
    detail: string;
};
export type KnipOutput = {
    files?: string[];
    issues?: Array<{
        [key: string]: unknown;
        file?: string;
        owners?: string[];
    }>;
};
export declare function parseKnip(stdout: string): {
    hasIssues: boolean;
    detail: string;
};
export type SecretScanOutput = {
    hits: Array<{
        file: string;
        line: number;
        match: string;
        pattern: string;
    }>;
};
export declare function parseSecretScan(stdout: string): {
    blocking: boolean;
    detail: string;
};
export declare function parseCoverageOutput(stdout: string): {
    detail: string;
};
export declare function withTimeout<T>(fn: () => Promise<T>, ms: number): Promise<T>;
export declare function loadGateConfig(cwd: string): {
    config: ReleaseGateConfig;
    source: string;
};
export declare function runReleaseChecks(cwd: string, taskId: string, checks?: ReleaseCheckName[]): Promise<ReleaseCheckReport>;
export declare function runReleaseGate(cwd: string, taskId: string, config?: ReleaseGateConfig): Promise<ReleaseGateReport>;
