import { z } from 'zod';
/**
 * Wire-level `systemTasks` contract shared between protocol consumers.
 *
 * Ownership boundary:
 * - This module only defines stable schemas, types, and protocol invariants.
 * - It does not own task catalogs, orchestration, execution policy, installers,
 *   CLI invocation details, or any workflow-specific behavior.
 */
export declare const SYSTEM_TASK_PROTOCOL_VERSION: 1;
type SystemTaskJsonPrimitive = null | string | number | boolean;
export interface SystemTaskJsonObject {
    readonly [key: string]: SystemTaskJsonValue;
}
export type SystemTaskJsonArray = ReadonlyArray<SystemTaskJsonValue>;
export type SystemTaskJsonValue = SystemTaskJsonPrimitive | SystemTaskJsonArray | SystemTaskJsonObject;
export declare const SystemTaskJsonValueSchema: z.ZodCustom<SystemTaskJsonValue, SystemTaskJsonValue>;
export declare const SystemTaskSpecSchema: z.ZodObject<{
    protocolVersion: z.ZodLiteral<1>;
    kind: z.ZodString;
    params: z.ZodCustom<SystemTaskJsonValue, SystemTaskJsonValue>;
}, z.core.$strict>;
export type SystemTaskSpec = z.infer<typeof SystemTaskSpecSchema>;
export declare const SystemTaskEventSchema: z.ZodObject<{
    protocolVersion: z.ZodLiteral<1>;
    taskId: z.ZodString;
    tsMs: z.ZodNumber;
    type: z.ZodString;
    stepId: z.ZodOptional<z.ZodString>;
    message: z.ZodOptional<z.ZodString>;
    data: z.ZodOptional<z.ZodCustom<SystemTaskJsonValue, SystemTaskJsonValue>>;
}, z.core.$strict>;
export type SystemTaskEvent = z.infer<typeof SystemTaskEventSchema>;
export declare const SystemTaskResultErrorSchema: z.ZodObject<{
    code: z.ZodString;
    message: z.ZodString;
}, z.core.$strict>;
export type SystemTaskResultError = z.infer<typeof SystemTaskResultErrorSchema>;
export declare const SystemTaskResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    protocolVersion: z.ZodLiteral<1>;
    taskId: z.ZodString;
    ok: z.ZodLiteral<true>;
    data: z.ZodOptional<z.ZodCustom<SystemTaskJsonValue, SystemTaskJsonValue>>;
}, z.core.$strict>, z.ZodObject<{
    protocolVersion: z.ZodLiteral<1>;
    taskId: z.ZodString;
    ok: z.ZodLiteral<false>;
    error: z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
    }, z.core.$strict>;
}, z.core.$strict>], "ok">;
export type SystemTaskResult = z.infer<typeof SystemTaskResultSchema>;
export {};
//# sourceMappingURL=spec.d.ts.map