"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.closePageSchema = exports.listPagesSchema = exports.evaluateSchema = exports.waitForSchema = exports.fillSchema = exports.clickSchema = exports.screenshotSchema = exports.navigateSchema = void 0;
const zod_1 = require("zod");
// Zod schemas extracted to break TS2589 deep-instantiation cycles.
exports.navigateSchema = zod_1.z.object({
    url: zod_1.z.string().describe('URL to navigate to'),
    wait_until: zod_1.z.enum(['load', 'domcontentloaded', 'networkidle']).optional()
        .describe('When to consider navigation complete (default: load)'),
});
exports.screenshotSchema = zod_1.z.object({
    page_id: zod_1.z.string().optional()
        .describe('Page to screenshot (default: most recent)'),
    path: zod_1.z.string()
        .describe('File path to save the screenshot PNG'),
    full_page: zod_1.z.boolean().optional()
        .describe('Capture the full scrollable page (default: false)'),
    selector: zod_1.z.string().optional()
        .describe('CSS selector to screenshot a specific element'),
});
exports.clickSchema = zod_1.z.object({
    page_id: zod_1.z.string().optional()
        .describe('Page to act on (default: most recent)'),
    selector: zod_1.z.string().describe('CSS selector of the element to click'),
});
exports.fillSchema = zod_1.z.object({
    page_id: zod_1.z.string().optional()
        .describe('Page to act on (default: most recent)'),
    selector: zod_1.z.string().describe('CSS selector of the input element'),
    value: zod_1.z.string().describe('Value to type into the input'),
});
exports.waitForSchema = zod_1.z.object({
    page_id: zod_1.z.string().optional()
        .describe('Page to act on (default: most recent)'),
    selector: zod_1.z.string().describe('CSS selector to wait for'),
    timeout: zod_1.z.number().optional()
        .describe('Max wait time in ms (default: 10000)'),
});
exports.evaluateSchema = zod_1.z.object({
    page_id: zod_1.z.string().optional()
        .describe('Page to act on (default: most recent)'),
    script: zod_1.z.string()
        .describe('JavaScript expression to evaluate in the page context'),
});
exports.listPagesSchema = zod_1.z.object({});
exports.closePageSchema = zod_1.z.object({
    page_id: zod_1.z.string().describe('Page ID to close'),
});
