/**
 * Zod schemas for daemon registry persistence.
 *
 * This file is the JSON contract for the global daemon registry. The registry
 * owns live control-plane server discovery and known workspace records; a
 * workspace record must not imply server ownership.
 */
import { z } from 'zod';
export declare const ControlPlaneServerRecordSchema: z.ZodObject<{
    serverId: z.ZodString;
    mode: z.ZodEnum<{
        daemon: "daemon";
        "embedded-chat": "embedded-chat";
    }>;
    host: z.ZodString;
    port: z.ZodNumber;
    pid: z.ZodNumber;
    startedAt: z.ZodString;
    lastSeenAt: z.ZodString;
}, z.core.$strip>;
export declare const RegisteredWorkspaceRecordSchema: z.ZodObject<{
    workspace: z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        workspaceRoot: z.ZodString;
        repoRoots: z.ZodArray<z.ZodString>;
        stateRoot: z.ZodString;
        createdAt: z.ZodString;
        updatedAt: z.ZodString;
    }, z.core.$strip>;
    updatedAt: z.ZodString;
}, z.core.$strip>;
export declare const DaemonRegistrySchema: z.ZodObject<{
    version: z.ZodLiteral<1>;
    updatedAt: z.ZodString;
    server: z.ZodOptional<z.ZodObject<{
        serverId: z.ZodString;
        mode: z.ZodEnum<{
            daemon: "daemon";
            "embedded-chat": "embedded-chat";
        }>;
        host: z.ZodString;
        port: z.ZodNumber;
        pid: z.ZodNumber;
        startedAt: z.ZodString;
        lastSeenAt: z.ZodString;
    }, z.core.$strip>>;
    workspaces: z.ZodArray<z.ZodObject<{
        workspace: z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            workspaceRoot: z.ZodString;
            repoRoots: z.ZodArray<z.ZodString>;
            stateRoot: z.ZodString;
            createdAt: z.ZodString;
            updatedAt: z.ZodString;
        }, z.core.$strip>;
        updatedAt: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const DaemonRegistryReadSchema: z.ZodObject<{
    version: z.ZodCatch<z.ZodOptional<z.ZodLiteral<1>>>;
    updatedAt: z.ZodCatch<z.ZodOptional<z.ZodString>>;
    server: z.ZodCatch<z.ZodOptional<z.ZodObject<{
        serverId: z.ZodOptional<z.ZodString>;
        mode: z.ZodOptional<z.ZodEnum<{
            daemon: "daemon";
            "embedded-chat": "embedded-chat";
        }>>;
        host: z.ZodOptional<z.ZodString>;
        port: z.ZodOptional<z.ZodNumber>;
        pid: z.ZodOptional<z.ZodNumber>;
        startedAt: z.ZodOptional<z.ZodString>;
        lastSeenAt: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    workspaces: z.ZodCatch<z.ZodOptional<z.ZodArray<z.ZodObject<{
        workspace: z.ZodOptional<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            workspaceRoot: z.ZodString;
            repoRoots: z.ZodArray<z.ZodString>;
            stateRoot: z.ZodString;
            createdAt: z.ZodString;
            updatedAt: z.ZodString;
        }, z.core.$strip>>;
        updatedAt: z.ZodOptional<z.ZodString>;
        owner: z.ZodCatch<z.ZodOptional<z.ZodObject<{
            ownerId: z.ZodOptional<z.ZodString>;
            mode: z.ZodOptional<z.ZodLiteral<"daemon">>;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
            pid: z.ZodOptional<z.ZodNumber>;
            startedAt: z.ZodOptional<z.ZodString>;
            lastSeenAt: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>>;
}, z.core.$strip>;
//# sourceMappingURL=schemas.d.ts.map