export type ApplicationLifecycleSignal = "start" | "pause" | "unload" | "reload";
export type RuntimeLifecycleState = "cold" | "ready" | "paused" | "shutting-down" | "stopped";
export type RuntimeLifecycleCommand = "boot" | "resume" | "shutdown";
export type ApplicationLifecycleBridgeErrorCode = "MISSING_RUNTIME_ID" | "MISSING_APPLICATION_ID" | "MISSING_APPLICATION_SIGNAL" | "GOVERNANCE_REJECTED" | "INVALID_RUNTIME_STATE";
export type ApplicationLifecycleBridgeError = {
    code: ApplicationLifecycleBridgeErrorCode;
    message: string;
    boundary: "input" | "governance" | "runtime-state";
};
export type ApplicationLifecycleBridgeGate = {
    accepted: boolean;
    reason?: string;
};
export type ApplicationLifecycleBridgeRequest = {
    runtimeId: string;
    applicationId: string;
    applicationSignal?: ApplicationLifecycleSignal;
    runtimeState?: RuntimeLifecycleState;
    governance?: ApplicationLifecycleBridgeGate;
};
export type RuntimeLifecycleTransition = {
    command: RuntimeLifecycleCommand;
    from: RuntimeLifecycleState;
    preserveApplicationSession: boolean;
    dryRun: true;
};
export type ApplicationLifecycleBridgePlan = {
    runtimeId: string;
    applicationId: string;
    applicationSignal: ApplicationLifecycleSignal;
    runtimeState: RuntimeLifecycleState;
    runtimeTransitions: readonly RuntimeLifecycleTransition[];
    lifecycleBoundaries: {
        application: "external-application-lifecycle";
        runtime: "agentcore-runtime-lifecycle";
    };
    unsafeSideEffects: false;
};
export type ApplicationLifecycleBridgeResult = {
    ok: true;
    plan: ApplicationLifecycleBridgePlan;
    events: readonly string[];
} | {
    ok: false;
    error: ApplicationLifecycleBridgeError;
    events: readonly string[];
};
export declare function planApplicationLifecycleBridge(request: ApplicationLifecycleBridgeRequest): ApplicationLifecycleBridgeResult;
