export type KeyboardEmulationBoundary = "input" | "contract" | "governance" | "scope" | "resource" | "provider";
export type KeyboardEmulationGate = {
    accepted?: boolean;
    allowed?: boolean;
    reason?: string;
};
export type KeyboardEmulationAction = {
    kind: "key-press";
    key: string;
    repeat: number;
} | {
    kind: "text";
    text: string;
} | {
    kind: "shortcut";
    keys: readonly string[];
};
export type KeyboardEmulationActionSummary = {
    kind: "key-press";
    key: string;
    repeat: number;
} | {
    kind: "text";
    textCharacters: number;
    textBytes: number;
} | {
    kind: "shortcut";
    keys: readonly string[];
};
export type KeyboardEmulationContext = {
    runtimeId?: string;
    sessionId?: string;
    invocationId?: string;
    dryRun?: boolean;
    guard?: KeyboardEmulationGate;
    contract?: KeyboardEmulationGate;
    governance?: KeyboardEmulationGate;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type KeyboardEmulationTarget = {
    actions: readonly KeyboardEmulationAction[];
    targetHint?: string;
};
export type KeyboardEmulationProviderRequest = {
    operation: "computeruse.keyboardEmulation.emit";
    action: KeyboardEmulationAction;
    actionIndex: number;
    targetHint?: string;
    context: {
        runtimeId?: string;
        sessionId?: string;
        invocationId?: string;
        auditMetadata?: Readonly<Record<string, unknown>>;
    };
    purpose: string;
};
export type KeyboardEmulationProviderResult = {
    actionId: string;
    metadata?: Readonly<Record<string, unknown>>;
};
export type KeyboardEmulationProvider = (request: KeyboardEmulationProviderRequest) => Promise<KeyboardEmulationProviderResult> | KeyboardEmulationProviderResult;
export type KeyboardEmulationRequest = {
    target?: unknown;
    context?: unknown;
    actions?: unknown;
    targetHint?: unknown;
    purpose?: unknown;
    metadata?: unknown;
    provider?: KeyboardEmulationProvider;
};
export type KeyboardEmulationErrorCode = "INVALID_REQUEST" | "INVALID_TARGET" | "INVALID_CONTEXT" | "MISSING_RUNTIME_ID" | "MISSING_PURPOSE" | "MISSING_ACTIONS" | "INVALID_ACTIONS" | "INVALID_ACTION" | "TOO_MANY_ACTIONS" | "INVALID_TARGET_HINT" | "SCOPE_DENIED" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "PROVIDER_UNAVAILABLE" | "PROVIDER_FAILURE";
export type KeyboardEmulationError = {
    code: KeyboardEmulationErrorCode;
    message: string;
    boundary: KeyboardEmulationBoundary;
    publicSafe: true;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type KeyboardEmulationAuditEvent = {
    type: string;
    toolId: "computeruse.keyboardEmulation";
    invocationId: string;
    dryRun: boolean;
    targetHint?: string;
    metadata: Readonly<Record<string, unknown>>;
};
export type KeyboardEmulationOutput = {
    kind: "agentCore.basicTool.computeruse.keyboardEmulation";
    target: {
        actions: readonly KeyboardEmulationActionSummary[];
        targetHint?: string;
    };
    purpose: string;
    dispatch: "dry-run" | "runtime-computeruse";
    dryRun: boolean;
    providerCalled: boolean;
    executionBlocked: boolean;
    unsafeSideEffects: true;
    permissionsRequired: readonly ["keyboard:write", "ui:focus"];
    requiresTapApproval: true;
    acceptedScopes: readonly string[];
    runtimeEntry: {
        port: "BaseToolExecutorPort.computeruse.keyboardAction";
        operation: "computeruse.keyboardEmulation.emit";
        runtimeOwnsKeyboardEvents: true;
        runtimeOwnsFocusBoundary: true;
        baseToolOwnsTapStrategy: false;
    };
    actionEnvelope: {
        resource: "keyboard";
        action: "sequence";
        emitted: boolean;
        metadataOnly: boolean;
        actionCount: number;
        actionIds?: readonly string[];
    };
    providerMetadata?: Readonly<Record<string, unknown>>;
};
export type KeyboardEmulationResult = {
    ok: true;
    toolId: "computeruse.keyboardEmulation";
    output: KeyboardEmulationOutput;
    audit: readonly KeyboardEmulationAuditEvent[];
    events: readonly string[];
} | {
    ok: false;
    toolId: "computeruse.keyboardEmulation";
    error: KeyboardEmulationError;
    audit: readonly KeyboardEmulationAuditEvent[];
    events: readonly string[];
};
export declare const keyboardEmulationDescriptor: {
    readonly toolId: "computeruse.keyboardEmulation";
    readonly capability: "keyboard-emulation-sequence";
    readonly route: "agent_executionEngine.basic_toolLayer.baseTools.computeruseBase.keyboardEmulation";
    readonly defaultDryRun: true;
    readonly maxActions: 64;
    readonly maxTextLength: 4096;
    readonly maxKeyRepeat: 100;
    readonly maxShortcutKeys: 5;
    readonly tapOwnsApproval: true;
    readonly runtimeEntry: "BaseToolExecutorPort.computeruse.keyboardAction";
    readonly permissionsRequired: readonly ["keyboard:write", "ui:focus"];
    readonly unsafeSideEffects: true;
};
export declare function executeKeyboardEmulation(request?: unknown): Promise<KeyboardEmulationResult>;
export declare function planKeyboardEmulation(request?: unknown): Promise<KeyboardEmulationResult>;
