import { type RuntimeManagementError, type RuntimeManagementGate, type RuntimeManagementSurface } from "./runtimeManagementPlane.js";
export type RuntimeOperatorRole = "admin" | "maintainer" | "observer" | "automation" | (string & {});
export type RuntimeOperatorConsoleVerb = "inspect" | "route-command" | "plan-mutation" | "govern-resource" | "request-rollback" | "open-access-session" | (string & {});
export type RuntimeOperatorIdentity = {
    operatorId?: string;
    role?: RuntimeOperatorRole;
    sessionId?: string;
};
export type RuntimeOperatorCommandInput = {
    commandId?: string;
    verb?: RuntimeOperatorConsoleVerb;
    targetSurface?: RuntimeManagementSurface;
    requestedScopes?: readonly string[];
    reason?: string;
    payload?: Readonly<Record<string, unknown>>;
};
export type RuntimeOperatorCommandEnvelope = {
    commandId: string;
    verb: RuntimeOperatorConsoleVerb;
    targetSurface: RuntimeManagementSurface;
    requestedScopes: readonly string[];
    reason?: string;
    auditTags: readonly string[];
    payload: Readonly<Record<string, unknown>>;
    dryRunOnly: true;
};
export type RuntimeOperatorConsoleSession = {
    runtimeId: string;
    operator: {
        operatorId: string;
        role: RuntimeOperatorRole;
        sessionId?: string;
    };
    route: "runtime.managementPlane.operatorConsole";
    phase: "accepted";
    commands: readonly RuntimeOperatorCommandEnvelope[];
    commandIds: readonly string[];
    forwardedSurfaces: readonly RuntimeManagementSurface[];
    requestedScopes: readonly string[];
    grantedScopes: readonly string[];
    auditRequired: true;
    governanceChecked: true;
    contractChecked: true;
    mockableEnvelope: true;
    dryRun: true;
    unsafeSideEffects: false;
};
export type RuntimeOperatorConsoleErrorCode = "MISSING_RUNTIME_ID" | "MISSING_OPERATOR" | "MISSING_COMMANDS" | "MISSING_COMMAND_ID" | "MISSING_COMMAND_VERB" | "MISSING_TARGET_SURFACE" | "RUNTIME_NOT_READY" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "SCOPE_DENIED";
export type RuntimeOperatorConsoleError = Omit<RuntimeManagementError, "code"> & {
    code: RuntimeOperatorConsoleErrorCode;
};
export type RuntimeOperatorConsoleRequest = {
    runtimeId?: string;
    operator?: RuntimeOperatorIdentity;
    commands?: readonly RuntimeOperatorCommandInput[];
    runtimeReady?: boolean;
    allowedScopes?: readonly string[];
    contract?: RuntimeManagementGate;
    governance?: RuntimeManagementGate;
};
export type RuntimeOperatorConsoleResult = {
    ok: true;
    console: RuntimeOperatorConsoleSession;
    events: readonly string[];
} | {
    ok: false;
    error: RuntimeOperatorConsoleError;
    events: readonly string[];
};
export declare function openRuntimeOperatorConsole(request?: RuntimeOperatorConsoleRequest): RuntimeOperatorConsoleResult;
