export type MouseScrollBoundary = "input" | "contract" | "governance" | "scope" | "provider";
export type MouseScrollGate = {
    accepted?: boolean;
    allowed?: boolean;
    reason?: string;
};
export type MouseScrollContext = {
    runtimeId?: string;
    sessionId?: string;
    invocationId?: string;
    dryRun?: boolean;
    guard?: MouseScrollGate;
    contract?: MouseScrollGate;
    governance?: MouseScrollGate;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type MouseScrollCoordinateSpace = "screen" | "window" | "normalized";
export type MouseScrollPoint = {
    x: number;
    y: number;
};
export type MouseScrollTarget = {
    deltaX: number;
    deltaY: number;
    unit: "pixel";
    coordinateSpace: MouseScrollCoordinateSpace;
    at?: MouseScrollPoint;
    displayId?: string;
    windowId?: string;
    durationMs: number;
};
export type MouseScrollProviderRequest = {
    operation: "computeruse.mouseScroll.pointerAction";
    target: MouseScrollTarget;
    context: {
        runtimeId?: string;
        sessionId?: string;
        invocationId?: string;
        auditMetadata?: Readonly<Record<string, unknown>>;
    };
    purpose: string;
};
export type MouseScrollProviderResult = {
    actionId: string;
    metadata?: Readonly<Record<string, unknown>>;
};
export type MouseScrollProvider = (request: MouseScrollProviderRequest) => Promise<MouseScrollProviderResult> | MouseScrollProviderResult;
export type MouseScrollRequest = {
    target?: unknown;
    context?: unknown;
    deltaX?: unknown;
    deltaY?: unknown;
    at?: unknown;
    coordinateSpace?: unknown;
    displayId?: unknown;
    windowId?: unknown;
    durationMs?: unknown;
    purpose?: unknown;
    metadata?: unknown;
    provider?: MouseScrollProvider;
};
export type MouseScrollErrorCode = "INVALID_REQUEST" | "INVALID_TARGET" | "INVALID_CONTEXT" | "MISSING_RUNTIME_ID" | "MISSING_PURPOSE" | "MISSING_SCROLL_DELTA" | "INVALID_SCROLL_DELTA" | "INVALID_POINT" | "INVALID_DURATION" | "INVALID_COORDINATE_SPACE" | "INVALID_DISPLAY_ID" | "INVALID_WINDOW_ID" | "SCOPE_DENIED" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "PROVIDER_UNAVAILABLE" | "PROVIDER_FAILURE";
export type MouseScrollError = {
    code: MouseScrollErrorCode;
    message: string;
    boundary: MouseScrollBoundary;
    publicSafe: true;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type MouseScrollAuditEvent = {
    type: string;
    toolId: "computeruse.mouseScroll";
    invocationId: string;
    dryRun: boolean;
    metadata: Readonly<Record<string, unknown>>;
};
export type MouseScrollOutput = {
    kind: "agentCore.basicTool.computeruse.mouseScroll";
    target: MouseScrollTarget & {
        usesCurrentCursor: boolean;
    };
    purpose: string;
    dispatch: "dry-run" | "runtime-computeruse";
    dryRun: boolean;
    providerCalled: boolean;
    executionBlocked: boolean;
    unsafeSideEffects: true;
    permissionsRequired: readonly ["pointer:write", "ui:action"];
    requiresTapApproval: true;
    acceptedScopes: readonly string[];
    runtimeEntry: {
        port: "BaseToolExecutorPort.computeruse.pointerAction";
        operation: "computeruse.mouseScroll.pointerAction";
        runtimeOwnsPointerEvents: true;
        runtimeOwnsInputPolicy: true;
        baseToolOwnsTapStrategy: false;
    };
    actionEnvelope: {
        resource: "pointer";
        action: "scroll";
        executed: boolean;
        metadataOnly: boolean;
        actionId?: string;
    };
    providerMetadata?: Readonly<Record<string, unknown>>;
};
export type MouseScrollResult = {
    ok: true;
    toolId: "computeruse.mouseScroll";
    output: MouseScrollOutput;
    audit: readonly MouseScrollAuditEvent[];
    events: readonly string[];
} | {
    ok: false;
    toolId: "computeruse.mouseScroll";
    error: MouseScrollError;
    audit: readonly MouseScrollAuditEvent[];
    events: readonly string[];
};
export declare const mouseScrollDescriptor: {
    readonly toolId: "computeruse.mouseScroll";
    readonly capability: "scroll-pointer";
    readonly route: "agent_executionEngine.basic_toolLayer.baseTools.computeruseBase.mouseEmulation";
    readonly defaultDryRun: true;
    readonly defaultCoordinateSpace: "screen";
    readonly defaultDurationMs: 0;
    readonly maxScrollDelta: 100000;
    readonly maxCoordinate: 100000;
    readonly maxDurationMs: 10000;
    readonly tapOwnsApproval: true;
    readonly runtimeEntry: "BaseToolExecutorPort.computeruse.pointerAction";
    readonly permissionsRequired: readonly ["pointer:write", "ui:action"];
    readonly unsafeSideEffects: true;
};
export declare function executeMouseScroll(request?: unknown): Promise<MouseScrollResult>;
export declare function planMouseScroll(request?: unknown): Promise<MouseScrollResult>;
