/**
 * @license
 * Copyright 2025 Steven Roussey <sroussey@gmail.com>
 * SPDX-License-Identifier: Apache-2.0
 */
import { IExecuteContext, Task, TaskConfig, TaskEntitlements } from "@workglow/task-graph";
import { DataPortSchema, FromSchema } from "@workglow/util/schema";
export type BrowserNavigateTaskConfig = TaskConfig & {
    waitUntil?: "load" | "domcontentloaded" | "networkidle";
};
declare const inputSchema: {
    readonly type: "object";
    readonly properties: {
        readonly sessionId: {
            readonly type: "string";
            readonly title: "Session ID";
            readonly description: "The browser session to use";
        };
        readonly url: {
            readonly type: "string";
            readonly format: "uri";
            readonly title: "URL";
            readonly description: "The URL to navigate to";
        };
    };
    readonly required: readonly ["sessionId", "url"];
    readonly additionalProperties: false;
};
declare const outputSchema: {
    readonly type: "object";
    readonly properties: {
        readonly sessionId: {
            readonly type: "string";
            readonly title: "Session ID";
            readonly description: "The browser session ID";
        };
        readonly title: {
            readonly type: "string";
            readonly title: "Page Title";
            readonly description: "The title of the navigated page";
        };
        readonly url: {
            readonly type: "string";
            readonly title: "URL";
            readonly description: "The current URL after navigation";
        };
    };
    readonly required: readonly ["sessionId", "title", "url"];
    readonly additionalProperties: false;
};
export type BrowserNavigateTaskInput = FromSchema<typeof inputSchema>;
export type BrowserNavigateTaskOutput = FromSchema<typeof outputSchema>;
export declare class BrowserNavigateTask extends Task<BrowserNavigateTaskInput, BrowserNavigateTaskOutput, BrowserNavigateTaskConfig> {
    static readonly type = "BrowserNavigateTask";
    static readonly category = "Browser";
    static title: string;
    static description: string;
    static readonly cacheable = false;
    static configSchema(): DataPortSchema;
    static inputSchema(): {
        readonly type: "object";
        readonly properties: {
            readonly sessionId: {
                readonly type: "string";
                readonly title: "Session ID";
                readonly description: "The browser session to use";
            };
            readonly url: {
                readonly type: "string";
                readonly format: "uri";
                readonly title: "URL";
                readonly description: "The URL to navigate to";
            };
        };
        readonly required: readonly ["sessionId", "url"];
        readonly additionalProperties: false;
    };
    static outputSchema(): {
        readonly type: "object";
        readonly properties: {
            readonly sessionId: {
                readonly type: "string";
                readonly title: "Session ID";
                readonly description: "The browser session ID";
            };
            readonly title: {
                readonly type: "string";
                readonly title: "Page Title";
                readonly description: "The title of the navigated page";
            };
            readonly url: {
                readonly type: "string";
                readonly title: "URL";
                readonly description: "The current URL after navigation";
            };
        };
        readonly required: readonly ["sessionId", "title", "url"];
        readonly additionalProperties: false;
    };
    static entitlements(): TaskEntitlements;
    execute(input: BrowserNavigateTaskInput, _executeContext: IExecuteContext): Promise<BrowserNavigateTaskOutput>;
}
export {};
//# sourceMappingURL=BrowserNavigateTask.d.ts.map