import { z } from 'zod';
/**
 * Session terminal attachment metadata (stored in encrypted `session.metadata`).
 *
 * Keep schemas permissive (passthrough) for forward compatibility.
 * Use factory forms for nohoist/multi-Zod repos.
 */
export declare function createSessionTerminalMetadataSchema(zod: typeof z): z.ZodObject<{
    mode: z.ZodEnum<{
        plain: "plain";
        windows_terminal: "windows_terminal";
        tmux: "tmux";
        windows_console: "windows_console";
    }>;
    requested: z.ZodOptional<z.ZodEnum<{
        plain: "plain";
        hidden: "hidden";
        windows_terminal: "windows_terminal";
        console: "console";
        tmux: "tmux";
    }>>;
    fallbackReason: z.ZodOptional<z.ZodString>;
    tmux: z.ZodOptional<z.ZodObject<{
        target: z.ZodString;
        tmpDir: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>>;
    windows: z.ZodOptional<z.ZodObject<{
        host: z.ZodEnum<{
            windows_terminal: "windows_terminal";
            console: "console";
        }>;
        windowId: z.ZodOptional<z.ZodString>;
        pid: z.ZodOptional<z.ZodNumber>;
        title: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$loose>;
export declare const SessionTerminalMetadataSchema: z.ZodObject<{
    mode: z.ZodEnum<{
        plain: "plain";
        windows_terminal: "windows_terminal";
        tmux: "tmux";
        windows_console: "windows_console";
    }>;
    requested: z.ZodOptional<z.ZodEnum<{
        plain: "plain";
        hidden: "hidden";
        windows_terminal: "windows_terminal";
        console: "console";
        tmux: "tmux";
    }>>;
    fallbackReason: z.ZodOptional<z.ZodString>;
    tmux: z.ZodOptional<z.ZodObject<{
        target: z.ZodString;
        tmpDir: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>>;
    windows: z.ZodOptional<z.ZodObject<{
        host: z.ZodEnum<{
            windows_terminal: "windows_terminal";
            console: "console";
        }>;
        windowId: z.ZodOptional<z.ZodString>;
        pid: z.ZodOptional<z.ZodNumber>;
        title: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$loose>;
export type SessionTerminalMetadata = z.infer<typeof SessionTerminalMetadataSchema>;
//# sourceMappingURL=terminalMetadata.d.ts.map