export type FreeformScreenshotBoundary = "input" | "contract" | "governance" | "scope" | "resource" | "provider";
export type FreeformScreenshotGate = {
    accepted?: boolean;
    allowed?: boolean;
    reason?: string;
};
export type FreeformScreenshotContext = {
    runtimeId?: string;
    sessionId?: string;
    invocationId?: string;
    dryRun?: boolean;
    guard?: FreeformScreenshotGate;
    contract?: FreeformScreenshotGate;
    governance?: FreeformScreenshotGate;
    requestedScopes?: readonly string[];
    allowedScopes?: readonly string[];
    auditMetadata?: Readonly<Record<string, unknown>>;
};
export type FreeformScreenshotRect = {
    x: number;
    y: number;
    width: number;
    height: number;
    coordinateSpace: "screen" | "window" | "normalized";
};
export type FreeformScreenshotPoint = {
    x: number;
    y: number;
};
export type FreeformScreenshotTarget = {
    displayId: string;
    points: readonly FreeformScreenshotPoint[];
    boundingBox: FreeformScreenshotRect;
    outputFormat: string;
};
export type FreeformScreenshotProviderRequest = {
    operation: "computeruse.freeformScreenshot.capture";
    target: FreeformScreenshotTarget;
    context: {
        runtimeId?: string;
        sessionId?: string;
        invocationId?: string;
        auditMetadata?: Readonly<Record<string, unknown>>;
    };
    purpose: string;
};
export type FreeformScreenshotProviderResult = {
    artifactId: string;
    mimeType: string;
    metadata?: Readonly<Record<string, unknown>>;
};
export type FreeformScreenshotProvider = (request: FreeformScreenshotProviderRequest) => Promise<FreeformScreenshotProviderResult> | FreeformScreenshotProviderResult;
export type FreeformScreenshotRequest = {
    target?: unknown;
    context?: unknown;
    displayId?: unknown;
    points?: unknown;
    coordinateSpace?: unknown;
    purpose?: unknown;
    outputFormat?: unknown;
    metadata?: unknown;
    provider?: FreeformScreenshotProvider;
};
export type FreeformScreenshotErrorCode = "INVALID_REQUEST" | "INVALID_TARGET" | "INVALID_CONTEXT" | "MISSING_RUNTIME_ID" | "MISSING_PURPOSE" | "MISSING_SELECTION_POINTS" | "INVALID_DISPLAY_ID" | "INVALID_SELECTION_POINT" | "TOO_MANY_SELECTION_POINTS" | "RECT_TOO_LARGE" | "INVALID_COORDINATE_SPACE" | "INVALID_OUTPUT_FORMAT" | "SCOPE_DENIED" | "CONTRACT_REJECTED" | "GOVERNANCE_REJECTED" | "PROVIDER_UNAVAILABLE" | "PROVIDER_FAILURE";
export type FreeformScreenshotError = {
    code: FreeformScreenshotErrorCode;
    message: string;
    boundary: FreeformScreenshotBoundary;
    publicSafe: true;
    safeForRuntimeInspection: true;
    internalDetailExposed: false;
};
export type FreeformScreenshotAuditEvent = {
    type: string;
    toolId: "computeruse.freeformScreenshot";
    invocationId: string;
    dryRun: boolean;
    displayId?: string;
    metadata: Readonly<Record<string, unknown>>;
};
export type FreeformScreenshotOutput = {
    kind: "agentCore.basicTool.computeruse.freeformScreenshot";
    target: FreeformScreenshotTarget;
    purpose: string;
    dispatch: "dry-run" | "runtime-computeruse";
    dryRun: boolean;
    providerCalled: boolean;
    executionBlocked: boolean;
    unsafeSideEffects: false;
    permissionsRequired: readonly ["screen:read", "display:capture", "ui:selection"];
    requiresTapApproval: true;
    acceptedScopes: readonly string[];
    runtimeEntry: {
        port: "BaseToolExecutorPort.computeruse.captureScreenshot";
        operation: "computeruse.freeformScreenshot.capture";
        runtimeOwnsScreenAccess: true;
        runtimeOwnsArtifactStorage: true;
        baseToolOwnsTapStrategy: false;
    };
    captureEnvelope: {
        resource: "screen";
        target: "freeform";
        captured: boolean;
        metadataOnly: boolean;
        artifactId?: string;
        mimeType?: string;
    };
    providerMetadata?: Readonly<Record<string, unknown>>;
};
export type FreeformScreenshotResult = {
    ok: true;
    toolId: "computeruse.freeformScreenshot";
    output: FreeformScreenshotOutput;
    audit: readonly FreeformScreenshotAuditEvent[];
    events: readonly string[];
} | {
    ok: false;
    toolId: "computeruse.freeformScreenshot";
    error: FreeformScreenshotError;
    audit: readonly FreeformScreenshotAuditEvent[];
    events: readonly string[];
};
export declare const freeformScreenshotDescriptor: {
    readonly toolId: "computeruse.freeformScreenshot";
    readonly capability: "capture-freeform-screenshot";
    readonly route: "agent_executionEngine.basic_toolLayer.baseTools.computeruseBase.screenshot";
    readonly defaultDryRun: true;
    readonly defaultDisplayId: "primary-display";
    readonly defaultOutputFormat: "image/png";
    readonly defaultCoordinateSpace: "screen";
    readonly maxSelectionPoints: 128;
    readonly maxAreaPx: 100000000;
    readonly tapOwnsApproval: true;
    readonly runtimeEntry: "BaseToolExecutorPort.computeruse.captureScreenshot";
    readonly permissionsRequired: readonly ["screen:read", "display:capture", "ui:selection"];
    readonly unsafeSideEffects: false;
};
export declare function executeFreeformScreenshot(request?: unknown): Promise<FreeformScreenshotResult>;
export declare function planFreeformScreenshot(request?: unknown): Promise<FreeformScreenshotResult>;
