import { z } from "zod/v4";
/**
 * Cross-tier primitives — identity, status enums, opaque IDs.
 *
 * Anything that appears in WS messages, REST bodies, AND DB rows lives here so
 * the three contract files don't drift from each other.
 */
export declare const Uuid: z.ZodString;
export type Uuid = z.infer<typeof Uuid>;
/** Short opaque ID like the existing src/agent/scheduler.ts uses (8 hex chars). */
export declare const ShortId: z.ZodString;
export type ShortId = z.infer<typeof ShortId>;
/** Identifier used by Agent.registerFrontend in dp-worker (see §dp-worker-A in architecture.md). */
export declare const FrontendId: z.ZodEnum<{
    telegram: "telegram";
    center: "center";
    tui: "tui";
    legacy: "legacy";
}>;
export type FrontendId = z.infer<typeof FrontendId>;
export declare const LlmProtocol: z.ZodEnum<{
    openai: "openai";
    claude: "claude";
}>;
export type LlmProtocol = z.infer<typeof LlmProtocol>;
export declare const ProxyProtocol: z.ZodEnum<{
    socks5: "socks5";
    socks4: "socks4";
    http: "http";
    https: "https";
}>;
export type ProxyProtocol = z.infer<typeof ProxyProtocol>;
export declare const SocialPlatform: z.ZodEnum<{
    x: "x";
    youtube: "youtube";
    reddit: "reddit";
    instagram: "instagram";
    tiktok: "tiktok";
}>;
export type SocialPlatform = z.infer<typeof SocialPlatform>;
/** Process-axis status — written exclusively by dp-director (via PM events / heartbeat). */
export declare const ProcessStatus: z.ZodEnum<{
    running: "running";
    stopped: "stopped";
    crashed: "crashed";
    unknown: "unknown";
}>;
export type ProcessStatus = z.infer<typeof ProcessStatus>;
/** Runtime/business-axis status — written exclusively by dp-worker (status_change). */
export declare const RuntimeStatus: z.ZodEnum<{
    error: "error";
    unknown: "unknown";
    idle: "idle";
    busy: "busy";
}>;
export type RuntimeStatus = z.infer<typeof RuntimeStatus>;
/** Read-time derived status surfaced by the API; never stored. */
export declare const EffectiveWorkerStatus: z.ZodEnum<{
    error: "error";
    crashed: "crashed";
    unknown: "unknown";
    idle: "idle";
    busy: "busy";
    offline: "offline";
}>;
export type EffectiveWorkerStatus = z.infer<typeof EffectiveWorkerStatus>;
export declare const EffectiveDirectorStatus: z.ZodEnum<{
    offline: "offline";
    online: "online";
}>;
export type EffectiveDirectorStatus = z.infer<typeof EffectiveDirectorStatus>;
export declare const DpWorkerRuntimeMode: z.ZodEnum<{
    npm: "npm";
    "dev-dist": "dev-dist";
}>;
export type DpWorkerRuntimeMode = z.infer<typeof DpWorkerRuntimeMode>;
export declare const DpWorkerUpgradeStatus: z.ZodEnum<{
    idle: "idle";
    checking: "checking";
    installing: "installing";
    building: "building";
    restarting: "restarting";
    success: "success";
    skipped: "skipped";
    failed: "failed";
}>;
export type DpWorkerUpgradeStatus = z.infer<typeof DpWorkerUpgradeStatus>;
export declare const TaskSource: z.ZodEnum<{
    scheduled: "scheduled";
    ad_hoc: "ad_hoc";
    chat_replay: "chat_replay";
}>;
export type TaskSource = z.infer<typeof TaskSource>;
export declare const TaskRunStatus: z.ZodEnum<{
    running: "running";
    success: "success";
    failed: "failed";
    queued: "queued";
    dispatched: "dispatched";
    cancelled: "cancelled";
    timeout: "timeout";
}>;
export type TaskRunStatus = z.infer<typeof TaskRunStatus>;
export declare const UserRole: z.ZodEnum<{
    admin: "admin";
    operator: "operator";
    viewer: "viewer";
}>;
export type UserRole = z.infer<typeof UserRole>;
export declare const ChatScopeType: z.ZodEnum<{
    worker: "worker";
    group: "group";
}>;
export type ChatScopeType = z.infer<typeof ChatScopeType>;
export declare const ChatMessageRole: z.ZodEnum<{
    user: "user";
    assistant: "assistant";
    system: "system";
    tool: "tool";
}>;
export type ChatMessageRole = z.infer<typeof ChatMessageRole>;
/**
 * Opaque etag — dp-worker caches the latest etag locally; center bumps it whenever any
 * field a dp-worker would care about changes. dp-worker compares against its cached value
 * to decide whether to re-bootstrap.
 */
export declare const ConfigEtag: z.ZodString;
export type ConfigEtag = z.infer<typeof ConfigEtag>;
/** Hex-encoded SHA-256 of the canonical session artifact; 64 chars. */
export declare const ContentHash: z.ZodString;
export type ContentHash = z.infer<typeof ContentHash>;
/**
 * An IANA-zone name string (e.g. "America/New_York", "Asia/Tokyo", "UTC").
 * Validated via the runtime `Intl.DateTimeFormat` constructor, which is
 * available in every target runtime: Node, browsers, and Cloudflare Workers
 * (V8 isolate). Invalid zone names throw RangeError on construction.
 *
 * Proxies carry one of these; a dp-worker bound to a proxy uses it as the
 * default cron timezone, while Chrome timezone spoofing is handled inside
 * the OmniFlow extension session imported into that browser profile.
 */
export declare const IanaTimezone: z.ZodString;
export type IanaTimezone = z.infer<typeof IanaTimezone>;
//# sourceMappingURL=domain.d.ts.map