import { z } from "zod/v4";
/**
 * REST contracts — request bodies and response shapes for the Workers HTTP API.
 *
 * Keep request types narrow (only what clients actually send); response types
 * carry derived fields like timestamps and computed status.
 */
export declare const SocialAccountSchema: z.ZodObject<{
    id: z.ZodString;
    platform: z.ZodEnum<{
        x: "x";
        youtube: "youtube";
        reddit: "reddit";
        instagram: "instagram";
        tiktok: "tiktok";
    }>;
    profile_name: z.ZodDefault<z.ZodString>;
    login_type: z.ZodDefault<z.ZodEnum<{
        password: "password";
        oauth: "oauth";
    }>>;
    username: z.ZodOptional<z.ZodString>;
    email: z.ZodOptional<z.ZodString>;
    password: z.ZodOptional<z.ZodString>;
    persona_text: z.ZodDefault<z.ZodString>;
    persona_other_json: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    enabled: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
export type SocialAccount = z.infer<typeof SocialAccountSchema>;
export declare const ProxyConfigSchema: z.ZodObject<{
    protocol: z.ZodEnum<{
        socks5: "socks5";
        socks4: "socks4";
        http: "http";
        https: "https";
    }>;
    host: z.ZodString;
    port: z.ZodNumber;
    username: z.ZodString;
    password: z.ZodString;
    timezone: z.ZodString;
}, z.core.$strip>;
export type ProxyConfigShared = z.infer<typeof ProxyConfigSchema>;
export declare const LlmProfileSchema: z.ZodObject<{
    protocol: z.ZodEnum<{
        openai: "openai";
        claude: "claude";
    }>;
    base_url: z.ZodString;
    api_key: z.ZodString;
    model: z.ZodString;
    image_generation: z.ZodOptional<z.ZodObject<{
        api_key: z.ZodString;
        model: z.ZodString;
        size: z.ZodDefault<z.ZodString>;
        timeout_ms: z.ZodDefault<z.ZodNumber>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type LlmProfile = z.infer<typeof LlmProfileSchema>;
export declare const TelegramFrontendSchema: z.ZodObject<{
    bot_token: z.ZodString;
    allowed_users: z.ZodArray<z.ZodNumber>;
}, z.core.$strip>;
export type TelegramFrontendConfig = z.infer<typeof TelegramFrontendSchema>;
export declare const SessionBlobSchema: z.ZodObject<{
    r2_get_url: z.ZodString;
    content_hash: z.ZodString;
    uploaded_at: z.ZodString;
    size_bytes: z.ZodNumber;
}, z.core.$strip>;
export type SessionBlob = z.infer<typeof SessionBlobSchema>;
export declare const WorkerBootstrapResponseSchema: z.ZodObject<{
    config: z.ZodObject<{
        worker_id: z.ZodString;
        name: z.ZodString;
        config_etag: z.ZodString;
        llm: z.ZodObject<{
            protocol: z.ZodEnum<{
                openai: "openai";
                claude: "claude";
            }>;
            base_url: z.ZodString;
            api_key: z.ZodString;
            model: z.ZodString;
            image_generation: z.ZodOptional<z.ZodObject<{
                api_key: z.ZodString;
                model: z.ZodString;
                size: z.ZodDefault<z.ZodString>;
                timeout_ms: z.ZodDefault<z.ZodNumber>;
            }, z.core.$strip>>;
        }, z.core.$strip>;
        proxy: z.ZodOptional<z.ZodObject<{
            protocol: z.ZodEnum<{
                socks5: "socks5";
                socks4: "socks4";
                http: "http";
                https: "https";
            }>;
            host: z.ZodString;
            port: z.ZodNumber;
            username: z.ZodString;
            password: z.ZodString;
            timezone: z.ZodString;
        }, z.core.$strip>>;
        timezone: z.ZodOptional<z.ZodString>;
        headless: z.ZodDefault<z.ZodBoolean>;
        browser_automation_mode: z.ZodDefault<z.ZodEnum<{
            chrome: "chrome";
            cloakbrowser: "cloakbrowser";
        }>>;
        social_accounts: z.ZodDefault<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            platform: z.ZodEnum<{
                x: "x";
                youtube: "youtube";
                reddit: "reddit";
                instagram: "instagram";
                tiktok: "tiktok";
            }>;
            profile_name: z.ZodDefault<z.ZodString>;
            login_type: z.ZodDefault<z.ZodEnum<{
                password: "password";
                oauth: "oauth";
            }>>;
            username: z.ZodOptional<z.ZodString>;
            email: z.ZodOptional<z.ZodString>;
            password: z.ZodOptional<z.ZodString>;
            persona_text: z.ZodDefault<z.ZodString>;
            persona_other_json: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            enabled: z.ZodDefault<z.ZodBoolean>;
        }, z.core.$strip>>>;
        telegram: z.ZodOptional<z.ZodObject<{
            bot_token: z.ZodString;
            allowed_users: z.ZodArray<z.ZodNumber>;
        }, z.core.$strip>>;
        limits: z.ZodDefault<z.ZodObject<{
            max_iterations: z.ZodDefault<z.ZodNumber>;
            task_timeout_ms: z.ZodDefault<z.ZodNumber>;
            chrome_max_runtime_ms: z.ZodDefault<z.ZodNumber>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    session_blob: z.ZodOptional<z.ZodObject<{
        r2_get_url: z.ZodString;
        content_hash: z.ZodString;
        uploaded_at: z.ZodString;
        size_bytes: z.ZodNumber;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type WorkerBootstrapResponse = z.infer<typeof WorkerBootstrapResponseSchema>;
export declare const DirectorRegisterHandshakeRequestSchema: z.ZodObject<{
    version: z.ZodString;
    host_label: z.ZodString;
}, z.core.$strip>;
export declare const DirectorRegisterHandshakeResponseSchema: z.ZodObject<{
    director_id: z.ZodString;
    short_token: z.ZodString;
    ws_url: z.ZodString;
    expires_at: z.ZodString;
}, z.core.$strip>;
export type DirectorRegisterHandshakeResponse = z.infer<typeof DirectorRegisterHandshakeResponseSchema>;
export declare const SessionUploadPresignRequestSchema: z.ZodObject<{
    size_bytes: z.ZodNumber;
    content_hash: z.ZodString;
}, z.core.$strip>;
export type SessionUploadPresignRequest = z.infer<typeof SessionUploadPresignRequestSchema>;
export declare const SessionUploadPresignResponseSchema: z.ZodObject<{
    upload_url: z.ZodString;
    object_key: z.ZodString;
    expires_at: z.ZodString;
}, z.core.$strip>;
export type SessionUploadPresignResponse = z.infer<typeof SessionUploadPresignResponseSchema>;
export declare const SessionFinalizeRequestSchema: z.ZodObject<{
    object_key: z.ZodString;
    content_hash: z.ZodString;
    size_bytes: z.ZodNumber;
    note: z.ZodOptional<z.ZodString>;
    session_preview: z.ZodOptional<z.ZodObject<{
        proxy: z.ZodNullable<z.ZodObject<{
            type: z.ZodString;
            host: z.ZodString;
            port: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
            username: z.ZodDefault<z.ZodOptional<z.ZodString>>;
            password: z.ZodDefault<z.ZodOptional<z.ZodString>>;
        }, z.core.$strip>>;
        timezone: z.ZodDefault<z.ZodOptional<z.ZodString>>;
        cookie_count: z.ZodDefault<z.ZodNumber>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type SessionFinalizeRequest = z.infer<typeof SessionFinalizeRequestSchema>;
export declare const SessionFinalizeResponseSchema: z.ZodObject<{
    id: z.ZodString;
    content_hash: z.ZodString;
    new_config_etag: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SessionFinalizeResponse = z.infer<typeof SessionFinalizeResponseSchema>;
export declare const AttachmentUploadPresignRequestSchema: z.ZodObject<{
    filename: z.ZodString;
    mime: z.ZodOptional<z.ZodString>;
    size_bytes: z.ZodNumber;
}, z.core.$strip>;
export declare const AttachmentUploadPresignResponseSchema: z.ZodObject<{
    upload_url: z.ZodString;
    object_key: z.ZodString;
    expires_at: z.ZodString;
}, z.core.$strip>;
export declare const AttachmentFinalizeRequestSchema: z.ZodObject<{
    object_key: z.ZodString;
    filename: z.ZodString;
    mime: z.ZodOptional<z.ZodString>;
    size_bytes: z.ZodNumber;
}, z.core.$strip>;
export type AttachmentFinalizeRequest = z.infer<typeof AttachmentFinalizeRequestSchema>;
export declare const AttachmentSchema: z.ZodObject<{
    id: z.ZodString;
    filename: z.ZodString;
    mime: z.ZodOptional<z.ZodString>;
    size_bytes: z.ZodNumber;
    created_at: z.ZodString;
    download_url: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type Attachment = z.infer<typeof AttachmentSchema>;
export declare const AdhocTaskTargetSchema: z.ZodObject<{
    worker_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
    group_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const AdhocTaskRequestSchema: z.ZodObject<{
    name: z.ZodString;
    prompt: z.ZodString;
    target: z.ZodObject<{
        worker_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
        group_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>;
    random_delay_seconds: z.ZodDefault<z.ZodNumber>;
    dispatch_window_seconds: z.ZodDefault<z.ZodNumber>;
    priority: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
export type AdhocTaskRequest = z.infer<typeof AdhocTaskRequestSchema>;
export declare const AdhocTaskBatchResponseSchema: z.ZodObject<{
    batch_id: z.ZodString;
    task_run_ids: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const TaskRunSummarySchema: z.ZodObject<{
    id: z.ZodString;
    worker_id: z.ZodString;
    scheduled_task_id: z.ZodOptional<z.ZodString>;
    source: z.ZodEnum<{
        scheduled: "scheduled";
        ad_hoc: "ad_hoc";
        chat_replay: "chat_replay";
    }>;
    status: z.ZodEnum<{
        running: "running";
        success: "success";
        failed: "failed";
        queued: "queued";
        dispatched: "dispatched";
        cancelled: "cancelled";
        timeout: "timeout";
    }>;
    dispatched_at: z.ZodOptional<z.ZodString>;
    started_at: z.ZodOptional<z.ZodString>;
    finished_at: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    result_summary: z.ZodOptional<z.ZodString>;
    parent_adhoc_task_id: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type TaskRunSummary = z.infer<typeof TaskRunSummarySchema>;
export declare const TaskRunListResponseSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        worker_id: z.ZodString;
        scheduled_task_id: z.ZodOptional<z.ZodString>;
        source: z.ZodEnum<{
            scheduled: "scheduled";
            ad_hoc: "ad_hoc";
            chat_replay: "chat_replay";
        }>;
        status: z.ZodEnum<{
            running: "running";
            success: "success";
            failed: "failed";
            queued: "queued";
            dispatched: "dispatched";
            cancelled: "cancelled";
            timeout: "timeout";
        }>;
        dispatched_at: z.ZodOptional<z.ZodString>;
        started_at: z.ZodOptional<z.ZodString>;
        finished_at: z.ZodOptional<z.ZodString>;
        error: z.ZodOptional<z.ZodString>;
        result_summary: z.ZodOptional<z.ZodString>;
        parent_adhoc_task_id: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    next_cursor: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const ScheduledTaskBodySchema: z.ZodObject<{
    name: z.ZodString;
    cron: z.ZodString;
    timezone: z.ZodOptional<z.ZodString>;
    prompt: z.ZodString;
    random_delay_seconds: z.ZodDefault<z.ZodNumber>;
    enabled: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
export type ScheduledTaskBody = z.infer<typeof ScheduledTaskBodySchema>;
export declare const ScheduledTaskResponseSchema: z.ZodObject<{
    name: z.ZodString;
    cron: z.ZodString;
    timezone: z.ZodOptional<z.ZodString>;
    prompt: z.ZodString;
    random_delay_seconds: z.ZodDefault<z.ZodNumber>;
    enabled: z.ZodDefault<z.ZodBoolean>;
    id: z.ZodString;
    worker_id: z.ZodString;
    last_run_at: z.ZodOptional<z.ZodString>;
    last_status: z.ZodOptional<z.ZodEnum<{
        error: "error";
        ok: "ok";
    }>>;
    run_count: z.ZodDefault<z.ZodNumber>;
    success_count: z.ZodDefault<z.ZodNumber>;
    created_at: z.ZodString;
    updated_at: z.ZodString;
}, z.core.$strip>;
export declare const ChatSendRequestSchema: z.ZodObject<{
    content: z.ZodDefault<z.ZodString>;
    attachment_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const ChatHistoryItemSchema: z.ZodObject<{
    id: z.ZodString;
    chat_id: z.ZodString;
    role: z.ZodString;
    content_json: z.ZodUnknown;
    attachment_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
    attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        filename: z.ZodString;
        mime: z.ZodOptional<z.ZodString>;
        size_bytes: z.ZodNumber;
        created_at: z.ZodString;
        download_url: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    task_run_id: z.ZodOptional<z.ZodString>;
    sender_user_id: z.ZodOptional<z.ZodString>;
    created_at: z.ZodString;
}, z.core.$strip>;
export declare const ChatHistoryResponseSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        chat_id: z.ZodString;
        role: z.ZodString;
        content_json: z.ZodUnknown;
        attachment_ids: z.ZodDefault<z.ZodArray<z.ZodString>>;
        attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            filename: z.ZodString;
            mime: z.ZodOptional<z.ZodString>;
            size_bytes: z.ZodNumber;
            created_at: z.ZodString;
            download_url: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        task_run_id: z.ZodOptional<z.ZodString>;
        sender_user_id: z.ZodOptional<z.ZodString>;
        created_at: z.ZodString;
    }, z.core.$strip>>;
    next_cursor: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const GroupBodySchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type GroupBody = z.infer<typeof GroupBodySchema>;
export declare const GroupPatchSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export type GroupPatch = z.infer<typeof GroupPatchSchema>;
export declare const GroupMemberMutationSchema: z.ZodObject<{
    worker_ids: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export type GroupMemberMutation = z.infer<typeof GroupMemberMutationSchema>;
export declare const GroupListItemSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    member_count: z.ZodNumber;
    created_at: z.ZodString;
    updated_at: z.ZodString;
}, z.core.$strip>;
export declare const GroupDetailSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    member_count: z.ZodNumber;
    created_at: z.ZodString;
    updated_at: z.ZodString;
    member_worker_ids: z.ZodArray<z.ZodString>;
}, z.core.$strip>;
export declare const WorkerListItemSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    director_id: z.ZodOptional<z.ZodString>;
    status: z.ZodEnum<{
        error: "error";
        crashed: "crashed";
        unknown: "unknown";
        idle: "idle";
        busy: "busy";
        offline: "offline";
    }>;
    current_task_id: z.ZodOptional<z.ZodString>;
    process_status: z.ZodOptional<z.ZodEnum<{
        running: "running";
        stopped: "stopped";
        crashed: "crashed";
        unknown: "unknown";
    }>>;
    runtime_status: z.ZodOptional<z.ZodEnum<{
        error: "error";
        unknown: "unknown";
        idle: "idle";
        busy: "busy";
    }>>;
    process_observed_at: z.ZodOptional<z.ZodString>;
    runtime_observed_at: z.ZodOptional<z.ZodString>;
    last_heartbeat_at: z.ZodOptional<z.ZodString>;
    effective_status: z.ZodOptional<z.ZodEnum<{
        error: "error";
        crashed: "crashed";
        unknown: "unknown";
        idle: "idle";
        busy: "busy";
        offline: "offline";
    }>>;
}, z.core.$strip>;
export declare const WorkerListResponseSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        director_id: z.ZodOptional<z.ZodString>;
        status: z.ZodEnum<{
            error: "error";
            crashed: "crashed";
            unknown: "unknown";
            idle: "idle";
            busy: "busy";
            offline: "offline";
        }>;
        current_task_id: z.ZodOptional<z.ZodString>;
        process_status: z.ZodOptional<z.ZodEnum<{
            running: "running";
            stopped: "stopped";
            crashed: "crashed";
            unknown: "unknown";
        }>>;
        runtime_status: z.ZodOptional<z.ZodEnum<{
            error: "error";
            unknown: "unknown";
            idle: "idle";
            busy: "busy";
        }>>;
        process_observed_at: z.ZodOptional<z.ZodString>;
        runtime_observed_at: z.ZodOptional<z.ZodString>;
        last_heartbeat_at: z.ZodOptional<z.ZodString>;
        effective_status: z.ZodOptional<z.ZodEnum<{
            error: "error";
            crashed: "crashed";
            unknown: "unknown";
            idle: "idle";
            busy: "busy";
            offline: "offline";
        }>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
//# sourceMappingURL=rest-contracts.d.ts.map