import type { DependencySnapshotData, DependencyStatus } from '../dependencies/types.js';
import type { DeployPlan, IntegrationVersionMismatch } from './types.js';
/**
 * The deploy gate (WS5), in one place: `computeDeployPlan` computes the blocking
 * set with {@link isDeployBlocking}, and every deploy surface — `adk deploy`, the
 * dev-console deploy handler, and any future entry point — enforces it through
 * {@link assertNoBlockingDependencies}. Keeping projection, predicate, and error
 * here means the surfaces cannot drift on what blocks a deploy or how it reads.
 */
/** JSON-safe projection of a deploy-blocking dependency (CLI error details + dev-console plan summary). */
export interface BlockingDependencySummary {
    type: string;
    alias: string;
    state: string;
    missingFields?: string[];
    reason?: string;
}
/**
 * Whether a dependency's verdict blocks a deploy. `disabled` never blocks: it is
 * an intentional, supported state (an integration toggled off, or a plugin whose
 * backing integration is) — the dependency ships inert, exactly as the user chose.
 * Every other non-`available` state on an enabled dependency blocks.
 */
export declare function isDeployBlocking(dependency: DependencyStatus): boolean;
export declare function summarizeBlockingDependencies(blocking: DependencyStatus[]): BlockingDependencySummary[];
export declare function findIntegrationVersionMismatches(devSnapshot: DependencySnapshotData, prodSnapshot: DependencySnapshotData): IntegrationVersionMismatch[];
/**
 * Throw the canonical `UNCONFIGURED_DEPENDENCIES` error when the plan carries a
 * blocking dependency set and the caller didn't opt into shipping them inert.
 * Entry points map this typed error to their transport (CLI exit, HTTP 422) and
 * may append surface-specific remediation, but the core message and the
 * `details.blocking` projection are shared.
 */
export declare function assertNoBlockingDependencies(plan: DeployPlan, options?: {
    allowUnconfigured?: boolean;
}): void;
//# sourceMappingURL=dependency-gate.d.ts.map