/**
 * Zod schema for `manifest.yaml` — the pack's identity file.
 *
 * Authoritative source: `docs/opensquid-real-design.md` §"Manifest fields" +
 * §"Minimum-viable pack example". Four fields are required (name + version +
 * scope + goal); everything else has a documented default per the
 * out-of-the-box constraint (`project_opensquid_out_of_the_box`).
 *
 * This schema is the YAML-loading counterpart to `runtime/types.ts`'s `Pack`
 * type — that runtime shape models the parsed-and-merged pack (manifest +
 * skills + sidecar config), while `Manifest` here validates only the raw
 * `manifest.yaml` document. Skills live in their own files (skill.ts), so
 * `skills: []` is intentionally absent from this schema.
 *
 * `.strict()` is intentional — a typo like `versoin: 0.1.0` should fail loudly
 * at load, not silently default to `version: undefined`. The risk callout in
 * the spec singles this out: among the six pack-config files, manifest is the
 * one where field-name correctness matters most because the four required
 * fields drive load-time semantics (scope-based ordering, goal text feeding
 * destination-check, name keying conflict resolution).
 *
 * Semver regex is loose (`^\d+\.\d+\.\d+`) on purpose. Tighter validation via
 * `semver.valid()` is deferred to audit if false-positives surface in practice
 * (spec risk callout). The `name` regex blocks digit-leading + uppercase +
 * non-hyphen punctuation; the setup UI is the place to surface user-friendly
 * errors when these reject.
 *
 * Imports from: zod only (self-contained per audit constraint).
 * Imported by: src/packs/schemas/index.ts.
 */
import { z } from 'zod';
export declare const ManifestScope: z.ZodEnum<["universal", "domain", "specialty", "workflow", "project"]>;
export type ManifestScope = z.infer<typeof ManifestScope>;
export declare const RateLimitPeriod: z.ZodEnum<["minute", "hour", "day"]>;
export type RateLimitPeriod = z.infer<typeof RateLimitPeriod>;
declare const RateLimitTriggerConfig: z.ZodObject<{
    max: z.ZodNumber;
    per: z.ZodEnum<["minute", "hour", "day"]>;
    concurrent: z.ZodOptional<z.ZodNumber>;
}, "strict", z.ZodTypeAny, {
    max: number;
    per: "minute" | "hour" | "day";
    concurrent?: number | undefined;
}, {
    max: number;
    per: "minute" | "hour" | "day";
    concurrent?: number | undefined;
}>;
export type RateLimitTriggerConfig = z.infer<typeof RateLimitTriggerConfig>;
export declare const RateLimits: z.ZodObject<{
    tool_call: z.ZodOptional<z.ZodObject<{
        max: z.ZodNumber;
        per: z.ZodEnum<["minute", "hour", "day"]>;
        concurrent: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }>>;
    prompt_submit: z.ZodOptional<z.ZodObject<{
        max: z.ZodNumber;
        per: z.ZodEnum<["minute", "hour", "day"]>;
        concurrent: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }>>;
    session_end: z.ZodOptional<z.ZodObject<{
        max: z.ZodNumber;
        per: z.ZodEnum<["minute", "hour", "day"]>;
        concurrent: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }>>;
    stop: z.ZodOptional<z.ZodObject<{
        max: z.ZodNumber;
        per: z.ZodEnum<["minute", "hour", "day"]>;
        concurrent: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }>>;
    schedule: z.ZodOptional<z.ZodObject<{
        max: z.ZodNumber;
        per: z.ZodEnum<["minute", "hour", "day"]>;
        concurrent: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }>>;
    webhook: z.ZodOptional<z.ZodObject<{
        max: z.ZodNumber;
        per: z.ZodEnum<["minute", "hour", "day"]>;
        concurrent: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }>>;
    inbound_channel: z.ZodOptional<z.ZodObject<{
        max: z.ZodNumber;
        per: z.ZodEnum<["minute", "hour", "day"]>;
        concurrent: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }>>;
    file_changed: z.ZodOptional<z.ZodObject<{
        max: z.ZodNumber;
        per: z.ZodEnum<["minute", "hour", "day"]>;
        concurrent: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }, {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    }>>;
}, "strict", z.ZodTypeAny, {
    tool_call?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    prompt_submit?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    session_end?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    stop?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    schedule?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    webhook?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    inbound_channel?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    file_changed?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
}, {
    tool_call?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    prompt_submit?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    session_end?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    stop?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    schedule?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    webhook?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    inbound_channel?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
    file_changed?: {
        max: number;
        per: "minute" | "hour" | "day";
        concurrent?: number | undefined;
    } | undefined;
}>;
export type RateLimits = z.infer<typeof RateLimits>;
export declare const Capability: z.ZodEnum<["shell_exec", "http_request", "file_write", "send_message", "subprocess_call", "subagent_call"]>;
export type Capability = z.infer<typeof Capability>;
declare const ShellExecPermission: z.ZodObject<{
    commands: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
    commands: string[];
    deny: string[];
}, {
    commands?: string[] | undefined;
    deny?: string[] | undefined;
}>;
declare const HttpRequestPermission: z.ZodObject<{
    domains: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    methods: z.ZodDefault<z.ZodArray<z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]>, "many">>;
    deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
    deny: string[];
    domains: string[];
    methods: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[];
}, {
    deny?: string[] | undefined;
    domains?: string[] | undefined;
    methods?: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[] | undefined;
}>;
declare const FileWritePermission: z.ZodObject<{
    paths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
    paths: string[];
    deny: string[];
}, {
    paths?: string[] | undefined;
    deny?: string[] | undefined;
}>;
declare const SendMessagePermission: z.ZodObject<{
    channels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
    deny: string[];
    channels: string[];
}, {
    deny?: string[] | undefined;
    channels?: string[] | undefined;
}>;
declare const SubprocessCallPermission: z.ZodObject<{
    binaries: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
    deny: string[];
    binaries: string[];
}, {
    deny?: string[] | undefined;
    binaries?: string[] | undefined;
}>;
declare const SubagentCallPermission: z.ZodObject<{
    targets: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
    deny: string[];
    targets: string[];
}, {
    deny?: string[] | undefined;
    targets?: string[] | undefined;
}>;
export declare const Permissions: z.ZodObject<{
    shell_exec: z.ZodOptional<z.ZodObject<{
        commands: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        commands: string[];
        deny: string[];
    }, {
        commands?: string[] | undefined;
        deny?: string[] | undefined;
    }>>;
    http_request: z.ZodOptional<z.ZodObject<{
        domains: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        methods: z.ZodDefault<z.ZodArray<z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]>, "many">>;
        deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        deny: string[];
        domains: string[];
        methods: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[];
    }, {
        deny?: string[] | undefined;
        domains?: string[] | undefined;
        methods?: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[] | undefined;
    }>>;
    file_write: z.ZodOptional<z.ZodObject<{
        paths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        paths: string[];
        deny: string[];
    }, {
        paths?: string[] | undefined;
        deny?: string[] | undefined;
    }>>;
    send_message: z.ZodOptional<z.ZodObject<{
        channels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        deny: string[];
        channels: string[];
    }, {
        deny?: string[] | undefined;
        channels?: string[] | undefined;
    }>>;
    subprocess_call: z.ZodOptional<z.ZodObject<{
        binaries: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        deny: string[];
        binaries: string[];
    }, {
        deny?: string[] | undefined;
        binaries?: string[] | undefined;
    }>>;
    subagent_call: z.ZodOptional<z.ZodObject<{
        targets: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        deny: string[];
        targets: string[];
    }, {
        deny?: string[] | undefined;
        targets?: string[] | undefined;
    }>>;
}, "strict", z.ZodTypeAny, {
    shell_exec?: {
        commands: string[];
        deny: string[];
    } | undefined;
    http_request?: {
        deny: string[];
        domains: string[];
        methods: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[];
    } | undefined;
    file_write?: {
        paths: string[];
        deny: string[];
    } | undefined;
    send_message?: {
        deny: string[];
        channels: string[];
    } | undefined;
    subprocess_call?: {
        deny: string[];
        binaries: string[];
    } | undefined;
    subagent_call?: {
        deny: string[];
        targets: string[];
    } | undefined;
}, {
    shell_exec?: {
        commands?: string[] | undefined;
        deny?: string[] | undefined;
    } | undefined;
    http_request?: {
        deny?: string[] | undefined;
        domains?: string[] | undefined;
        methods?: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[] | undefined;
    } | undefined;
    file_write?: {
        paths?: string[] | undefined;
        deny?: string[] | undefined;
    } | undefined;
    send_message?: {
        deny?: string[] | undefined;
        channels?: string[] | undefined;
    } | undefined;
    subprocess_call?: {
        deny?: string[] | undefined;
        binaries?: string[] | undefined;
    } | undefined;
    subagent_call?: {
        deny?: string[] | undefined;
        targets?: string[] | undefined;
    } | undefined;
}>;
export type Permissions = z.infer<typeof Permissions>;
export type ShellExecPermission = z.infer<typeof ShellExecPermission>;
export type HttpRequestPermission = z.infer<typeof HttpRequestPermission>;
export type FileWritePermission = z.infer<typeof FileWritePermission>;
export type SendMessagePermission = z.infer<typeof SendMessagePermission>;
export type SubprocessCallPermission = z.infer<typeof SubprocessCallPermission>;
export type SubagentCallPermission = z.infer<typeof SubagentCallPermission>;
export declare const Foundation: z.ZodObject<{
    tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        semver: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        name: string;
        semver?: string | undefined;
    }, {
        name: string;
        semver?: string | undefined;
    }>, "many">>;
    domains: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    methodologies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strict", z.ZodTypeAny, {
    domains: string[];
    tools: {
        name: string;
        semver?: string | undefined;
    }[];
    methodologies: string[];
}, {
    domains?: string[] | undefined;
    tools?: {
        name: string;
        semver?: string | undefined;
    }[] | undefined;
    methodologies?: string[] | undefined;
}>;
export type Foundation = z.infer<typeof Foundation>;
export declare const ActivationScope: z.ZodEnum<["project", "user", "hybrid", "team", "global"]>;
export type ActivationScope = z.infer<typeof ActivationScope>;
export declare const DetectedByCheck: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
    kind: z.ZodLiteral<"file_exists">;
    path: z.ZodString;
}, "strict", z.ZodTypeAny, {
    path: string;
    kind: "file_exists";
}, {
    path: string;
    kind: "file_exists";
}>, z.ZodObject<{
    kind: z.ZodLiteral<"dir_exists">;
    path: z.ZodString;
}, "strict", z.ZodTypeAny, {
    path: string;
    kind: "dir_exists";
}, {
    path: string;
    kind: "dir_exists";
}>, z.ZodObject<{
    kind: z.ZodLiteral<"file_match">;
    path: z.ZodString;
    matches: z.ZodRecord<z.ZodString, z.ZodString>;
}, "strict", z.ZodTypeAny, {
    path: string;
    kind: "file_match";
    matches: Record<string, string>;
}, {
    path: string;
    kind: "file_match";
    matches: Record<string, string>;
}>, z.ZodObject<{
    kind: z.ZodLiteral<"file_glob">;
    pattern: z.ZodString;
    min_count: z.ZodDefault<z.ZodNumber>;
}, "strict", z.ZodTypeAny, {
    kind: "file_glob";
    pattern: string;
    min_count: number;
}, {
    kind: "file_glob";
    pattern: string;
    min_count?: number | undefined;
}>, z.ZodObject<{
    kind: z.ZodLiteral<"memory_match">;
    pattern: z.ZodString;
}, "strict", z.ZodTypeAny, {
    kind: "memory_match";
    pattern: string;
}, {
    kind: "memory_match";
    pattern: string;
}>, z.ZodObject<{
    kind: z.ZodLiteral<"conversation_signal">;
    pattern: z.ZodString;
}, "strict", z.ZodTypeAny, {
    kind: "conversation_signal";
    pattern: string;
}, {
    kind: "conversation_signal";
    pattern: string;
}>, z.ZodObject<{
    kind: z.ZodLiteral<"user_pinned">;
}, "strict", z.ZodTypeAny, {
    kind: "user_pinned";
}, {
    kind: "user_pinned";
}>]>;
export type DetectedByCheck = z.infer<typeof DetectedByCheck>;
export declare const PackKind: z.ZodEnum<["focused", "composite"]>;
export type PackKind = z.infer<typeof PackKind>;
export declare const PackUsage: z.ZodEnum<["active", "profession", "both"]>;
export type PackUsage = z.infer<typeof PackUsage>;
export declare const CompositeInclude: z.ZodObject<{
    pack_id: z.ZodString;
    semver: z.ZodString;
}, "strict", z.ZodTypeAny, {
    semver: string;
    pack_id: string;
}, {
    semver: string;
    pack_id: string;
}>;
export type CompositeInclude = z.infer<typeof CompositeInclude>;
export declare const BaseVersion: z.ZodString;
export type BaseVersion = z.infer<typeof BaseVersion>;
export declare const PersonalRevision: z.ZodObject<{
    base_version: z.ZodString;
    personal_revision_id: z.ZodDefault<z.ZodNumber>;
    last_merged_vanilla: z.ZodDefault<z.ZodNullable<z.ZodString>>;
}, "strict", z.ZodTypeAny, {
    base_version: string;
    personal_revision_id: number;
    last_merged_vanilla: string | null;
}, {
    base_version: string;
    personal_revision_id?: number | undefined;
    last_merged_vanilla?: string | null | undefined;
}>;
export type PersonalRevision = z.infer<typeof PersonalRevision>;
export declare const SeedLesson: z.ZodEffects<z.ZodObject<{
    title: z.ZodString;
    body: z.ZodOptional<z.ZodString>;
    body_path: z.ZodOptional<z.ZodString>;
    scope: z.ZodDefault<z.ZodEnum<["user", "global"]>>;
    tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    source: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    title: string;
    scope: "user" | "global";
    tags: string[];
    source?: string | undefined;
    body?: string | undefined;
    body_path?: string | undefined;
}, {
    title: string;
    source?: string | undefined;
    body?: string | undefined;
    body_path?: string | undefined;
    scope?: "user" | "global" | undefined;
    tags?: string[] | undefined;
}>, {
    title: string;
    scope: "user" | "global";
    tags: string[];
    source?: string | undefined;
    body?: string | undefined;
    body_path?: string | undefined;
}, {
    title: string;
    source?: string | undefined;
    body?: string | undefined;
    body_path?: string | undefined;
    scope?: "user" | "global" | undefined;
    tags?: string[] | undefined;
}>;
export type SeedLesson = z.infer<typeof SeedLesson>;
export declare const VerifyGateWhen: z.ZodObject<{
    event_kind: z.ZodEnum<["tool_call", "prompt_submit", "stop", "session_end"]>;
}, "strict", z.ZodTypeAny, {
    event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
}, {
    event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
}>;
export type VerifyGateWhen = z.infer<typeof VerifyGateWhen>;
export declare const VerifyGate: z.ZodObject<{
    name: z.ZodString;
    when: z.ZodObject<{
        event_kind: z.ZodEnum<["tool_call", "prompt_submit", "stop", "session_end"]>;
    }, "strict", z.ZodTypeAny, {
        event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
    }, {
        event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
    }>;
    check: z.ZodString;
    on_fail: z.ZodObject<{
        level: z.ZodEnum<["warn", "block"]>;
        message: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        message: string;
        level: "warn" | "block";
    }, {
        message: string;
        level: "warn" | "block";
    }>;
}, "strict", z.ZodTypeAny, {
    name: string;
    when: {
        event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
    };
    check: string;
    on_fail: {
        message: string;
        level: "warn" | "block";
    };
}, {
    name: string;
    when: {
        event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
    };
    check: string;
    on_fail: {
        message: string;
        level: "warn" | "block";
    };
}>;
export type VerifyGate = z.infer<typeof VerifyGate>;
export declare const GuardDetect: z.ZodObject<{
    call: z.ZodString;
    args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strict", z.ZodTypeAny, {
    call: string;
    args?: Record<string, unknown> | undefined;
}, {
    call: string;
    args?: Record<string, unknown> | undefined;
}>;
export type GuardDetect = z.infer<typeof GuardDetect>;
export declare const Guard: z.ZodObject<{
    name: z.ZodString;
    on: z.ZodDefault<z.ZodEnum<["tool_call", "prompt_submit", "stop", "session_end"]>>;
    detect: z.ZodOptional<z.ZodObject<{
        call: z.ZodString;
        args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "strict", z.ZodTypeAny, {
        call: string;
        args?: Record<string, unknown> | undefined;
    }, {
        call: string;
        args?: Record<string, unknown> | undefined;
    }>>;
    as: z.ZodDefault<z.ZodString>;
    when: z.ZodString;
    level: z.ZodEnum<["warn", "block"]>;
    message: z.ZodString;
}, "strict", z.ZodTypeAny, {
    message: string;
    name: string;
    as: string;
    when: string;
    level: "warn" | "block";
    on: "tool_call" | "prompt_submit" | "session_end" | "stop";
    detect?: {
        call: string;
        args?: Record<string, unknown> | undefined;
    } | undefined;
}, {
    message: string;
    name: string;
    when: string;
    level: "warn" | "block";
    as?: string | undefined;
    on?: "tool_call" | "prompt_submit" | "session_end" | "stop" | undefined;
    detect?: {
        call: string;
        args?: Record<string, unknown> | undefined;
    } | undefined;
}>;
export type Guard = z.infer<typeof Guard>;
export declare const Flow: z.ZodObject<{
    template: z.ZodString;
    params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strict", z.ZodTypeAny, {
    params: Record<string, unknown>;
    template: string;
}, {
    template: string;
    params?: Record<string, unknown> | undefined;
}>;
export type Flow = z.infer<typeof Flow>;
export declare const Manifest: z.ZodEffects<z.ZodObject<{
    name: z.ZodString;
    version: z.ZodString;
    scope: z.ZodEnum<["universal", "domain", "specialty", "workflow", "project"]>;
    goal: z.ZodString;
    description: z.ZodDefault<z.ZodString>;
    requires: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    conflicts: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    extends: z.ZodOptional<z.ZodString>;
    evolves: z.ZodDefault<z.ZodBoolean>;
    rate_limits: z.ZodOptional<z.ZodObject<{
        tool_call: z.ZodOptional<z.ZodObject<{
            max: z.ZodNumber;
            per: z.ZodEnum<["minute", "hour", "day"]>;
            concurrent: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }>>;
        prompt_submit: z.ZodOptional<z.ZodObject<{
            max: z.ZodNumber;
            per: z.ZodEnum<["minute", "hour", "day"]>;
            concurrent: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }>>;
        session_end: z.ZodOptional<z.ZodObject<{
            max: z.ZodNumber;
            per: z.ZodEnum<["minute", "hour", "day"]>;
            concurrent: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }>>;
        stop: z.ZodOptional<z.ZodObject<{
            max: z.ZodNumber;
            per: z.ZodEnum<["minute", "hour", "day"]>;
            concurrent: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }>>;
        schedule: z.ZodOptional<z.ZodObject<{
            max: z.ZodNumber;
            per: z.ZodEnum<["minute", "hour", "day"]>;
            concurrent: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }>>;
        webhook: z.ZodOptional<z.ZodObject<{
            max: z.ZodNumber;
            per: z.ZodEnum<["minute", "hour", "day"]>;
            concurrent: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }>>;
        inbound_channel: z.ZodOptional<z.ZodObject<{
            max: z.ZodNumber;
            per: z.ZodEnum<["minute", "hour", "day"]>;
            concurrent: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }>>;
        file_changed: z.ZodOptional<z.ZodObject<{
            max: z.ZodNumber;
            per: z.ZodEnum<["minute", "hour", "day"]>;
            concurrent: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }, {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        tool_call?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        prompt_submit?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        session_end?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        stop?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        schedule?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        webhook?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        inbound_channel?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        file_changed?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
    }, {
        tool_call?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        prompt_submit?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        session_end?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        stop?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        schedule?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        webhook?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        inbound_channel?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        file_changed?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
    }>>;
    permissions: z.ZodOptional<z.ZodObject<{
        shell_exec: z.ZodOptional<z.ZodObject<{
            commands: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            commands: string[];
            deny: string[];
        }, {
            commands?: string[] | undefined;
            deny?: string[] | undefined;
        }>>;
        http_request: z.ZodOptional<z.ZodObject<{
            domains: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            methods: z.ZodDefault<z.ZodArray<z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]>, "many">>;
            deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            deny: string[];
            domains: string[];
            methods: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[];
        }, {
            deny?: string[] | undefined;
            domains?: string[] | undefined;
            methods?: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[] | undefined;
        }>>;
        file_write: z.ZodOptional<z.ZodObject<{
            paths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            paths: string[];
            deny: string[];
        }, {
            paths?: string[] | undefined;
            deny?: string[] | undefined;
        }>>;
        send_message: z.ZodOptional<z.ZodObject<{
            channels: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            deny: string[];
            channels: string[];
        }, {
            deny?: string[] | undefined;
            channels?: string[] | undefined;
        }>>;
        subprocess_call: z.ZodOptional<z.ZodObject<{
            binaries: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            deny: string[];
            binaries: string[];
        }, {
            deny?: string[] | undefined;
            binaries?: string[] | undefined;
        }>>;
        subagent_call: z.ZodOptional<z.ZodObject<{
            targets: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
            deny: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            deny: string[];
            targets: string[];
        }, {
            deny?: string[] | undefined;
            targets?: string[] | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        shell_exec?: {
            commands: string[];
            deny: string[];
        } | undefined;
        http_request?: {
            deny: string[];
            domains: string[];
            methods: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[];
        } | undefined;
        file_write?: {
            paths: string[];
            deny: string[];
        } | undefined;
        send_message?: {
            deny: string[];
            channels: string[];
        } | undefined;
        subprocess_call?: {
            deny: string[];
            binaries: string[];
        } | undefined;
        subagent_call?: {
            deny: string[];
            targets: string[];
        } | undefined;
    }, {
        shell_exec?: {
            commands?: string[] | undefined;
            deny?: string[] | undefined;
        } | undefined;
        http_request?: {
            deny?: string[] | undefined;
            domains?: string[] | undefined;
            methods?: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[] | undefined;
        } | undefined;
        file_write?: {
            paths?: string[] | undefined;
            deny?: string[] | undefined;
        } | undefined;
        send_message?: {
            deny?: string[] | undefined;
            channels?: string[] | undefined;
        } | undefined;
        subprocess_call?: {
            deny?: string[] | undefined;
            binaries?: string[] | undefined;
        } | undefined;
        subagent_call?: {
            deny?: string[] | undefined;
            targets?: string[] | undefined;
        } | undefined;
    }>>;
    foundation: z.ZodOptional<z.ZodObject<{
        tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            semver: z.ZodOptional<z.ZodString>;
        }, "strict", z.ZodTypeAny, {
            name: string;
            semver?: string | undefined;
        }, {
            name: string;
            semver?: string | undefined;
        }>, "many">>;
        domains: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        methodologies: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        domains: string[];
        tools: {
            name: string;
            semver?: string | undefined;
        }[];
        methodologies: string[];
    }, {
        domains?: string[] | undefined;
        tools?: {
            name: string;
            semver?: string | undefined;
        }[] | undefined;
        methodologies?: string[] | undefined;
    }>>;
    activation_scope: z.ZodDefault<z.ZodEnum<["project", "user", "hybrid", "team", "global"]>>;
    detected_by: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
        kind: z.ZodLiteral<"file_exists">;
        path: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        path: string;
        kind: "file_exists";
    }, {
        path: string;
        kind: "file_exists";
    }>, z.ZodObject<{
        kind: z.ZodLiteral<"dir_exists">;
        path: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        path: string;
        kind: "dir_exists";
    }, {
        path: string;
        kind: "dir_exists";
    }>, z.ZodObject<{
        kind: z.ZodLiteral<"file_match">;
        path: z.ZodString;
        matches: z.ZodRecord<z.ZodString, z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        path: string;
        kind: "file_match";
        matches: Record<string, string>;
    }, {
        path: string;
        kind: "file_match";
        matches: Record<string, string>;
    }>, z.ZodObject<{
        kind: z.ZodLiteral<"file_glob">;
        pattern: z.ZodString;
        min_count: z.ZodDefault<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        kind: "file_glob";
        pattern: string;
        min_count: number;
    }, {
        kind: "file_glob";
        pattern: string;
        min_count?: number | undefined;
    }>, z.ZodObject<{
        kind: z.ZodLiteral<"memory_match">;
        pattern: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        kind: "memory_match";
        pattern: string;
    }, {
        kind: "memory_match";
        pattern: string;
    }>, z.ZodObject<{
        kind: z.ZodLiteral<"conversation_signal">;
        pattern: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        kind: "conversation_signal";
        pattern: string;
    }, {
        kind: "conversation_signal";
        pattern: string;
    }>, z.ZodObject<{
        kind: z.ZodLiteral<"user_pinned">;
    }, "strict", z.ZodTypeAny, {
        kind: "user_pinned";
    }, {
        kind: "user_pinned";
    }>]>, "many">>;
    kind: z.ZodDefault<z.ZodEnum<["focused", "composite"]>>;
    usage: z.ZodDefault<z.ZodEnum<["active", "profession", "both"]>>;
    includes: z.ZodDefault<z.ZodArray<z.ZodObject<{
        pack_id: z.ZodString;
        semver: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        semver: string;
        pack_id: string;
    }, {
        semver: string;
        pack_id: string;
    }>, "many">>;
    base_version: z.ZodOptional<z.ZodString>;
    personal_revision: z.ZodOptional<z.ZodObject<{
        base_version: z.ZodString;
        personal_revision_id: z.ZodDefault<z.ZodNumber>;
        last_merged_vanilla: z.ZodDefault<z.ZodNullable<z.ZodString>>;
    }, "strict", z.ZodTypeAny, {
        base_version: string;
        personal_revision_id: number;
        last_merged_vanilla: string | null;
    }, {
        base_version: string;
        personal_revision_id?: number | undefined;
        last_merged_vanilla?: string | null | undefined;
    }>>;
    seed_lessons: z.ZodDefault<z.ZodArray<z.ZodEffects<z.ZodObject<{
        title: z.ZodString;
        body: z.ZodOptional<z.ZodString>;
        body_path: z.ZodOptional<z.ZodString>;
        scope: z.ZodDefault<z.ZodEnum<["user", "global"]>>;
        tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
        source: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        title: string;
        scope: "user" | "global";
        tags: string[];
        source?: string | undefined;
        body?: string | undefined;
        body_path?: string | undefined;
    }, {
        title: string;
        source?: string | undefined;
        body?: string | undefined;
        body_path?: string | undefined;
        scope?: "user" | "global" | undefined;
        tags?: string[] | undefined;
    }>, {
        title: string;
        scope: "user" | "global";
        tags: string[];
        source?: string | undefined;
        body?: string | undefined;
        body_path?: string | undefined;
    }, {
        title: string;
        source?: string | undefined;
        body?: string | undefined;
        body_path?: string | undefined;
        scope?: "user" | "global" | undefined;
        tags?: string[] | undefined;
    }>, "many">>;
    verify_gates: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        when: z.ZodObject<{
            event_kind: z.ZodEnum<["tool_call", "prompt_submit", "stop", "session_end"]>;
        }, "strict", z.ZodTypeAny, {
            event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
        }, {
            event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
        }>;
        check: z.ZodString;
        on_fail: z.ZodObject<{
            level: z.ZodEnum<["warn", "block"]>;
            message: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            message: string;
            level: "warn" | "block";
        }, {
            message: string;
            level: "warn" | "block";
        }>;
    }, "strict", z.ZodTypeAny, {
        name: string;
        when: {
            event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
        };
        check: string;
        on_fail: {
            message: string;
            level: "warn" | "block";
        };
    }, {
        name: string;
        when: {
            event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
        };
        check: string;
        on_fail: {
            message: string;
            level: "warn" | "block";
        };
    }>, "many">>;
    guards: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        on: z.ZodDefault<z.ZodEnum<["tool_call", "prompt_submit", "stop", "session_end"]>>;
        detect: z.ZodOptional<z.ZodObject<{
            call: z.ZodString;
            args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, "strict", z.ZodTypeAny, {
            call: string;
            args?: Record<string, unknown> | undefined;
        }, {
            call: string;
            args?: Record<string, unknown> | undefined;
        }>>;
        as: z.ZodDefault<z.ZodString>;
        when: z.ZodString;
        level: z.ZodEnum<["warn", "block"]>;
        message: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        message: string;
        name: string;
        as: string;
        when: string;
        level: "warn" | "block";
        on: "tool_call" | "prompt_submit" | "session_end" | "stop";
        detect?: {
            call: string;
            args?: Record<string, unknown> | undefined;
        } | undefined;
    }, {
        message: string;
        name: string;
        when: string;
        level: "warn" | "block";
        as?: string | undefined;
        on?: "tool_call" | "prompt_submit" | "session_end" | "stop" | undefined;
        detect?: {
            call: string;
            args?: Record<string, unknown> | undefined;
        } | undefined;
    }>, "many">>;
    flows: z.ZodDefault<z.ZodArray<z.ZodObject<{
        template: z.ZodString;
        params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "strict", z.ZodTypeAny, {
        params: Record<string, unknown>;
        template: string;
    }, {
        template: string;
        params?: Record<string, unknown> | undefined;
    }>, "many">>;
}, "strict", z.ZodTypeAny, {
    includes: {
        semver: string;
        pack_id: string;
    }[];
    version: string;
    kind: "focused" | "composite";
    name: string;
    description: string;
    scope: "universal" | "domain" | "specialty" | "workflow" | "project";
    goal: string;
    requires: string[];
    conflicts: string[];
    evolves: boolean;
    activation_scope: "user" | "project" | "hybrid" | "team" | "global";
    detected_by: ({
        path: string;
        kind: "file_exists";
    } | {
        path: string;
        kind: "dir_exists";
    } | {
        path: string;
        kind: "file_match";
        matches: Record<string, string>;
    } | {
        kind: "file_glob";
        pattern: string;
        min_count: number;
    } | {
        kind: "memory_match";
        pattern: string;
    } | {
        kind: "conversation_signal";
        pattern: string;
    } | {
        kind: "user_pinned";
    })[];
    usage: "active" | "profession" | "both";
    seed_lessons: {
        title: string;
        scope: "user" | "global";
        tags: string[];
        source?: string | undefined;
        body?: string | undefined;
        body_path?: string | undefined;
    }[];
    verify_gates: {
        name: string;
        when: {
            event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
        };
        check: string;
        on_fail: {
            message: string;
            level: "warn" | "block";
        };
    }[];
    guards: {
        message: string;
        name: string;
        as: string;
        when: string;
        level: "warn" | "block";
        on: "tool_call" | "prompt_submit" | "session_end" | "stop";
        detect?: {
            call: string;
            args?: Record<string, unknown> | undefined;
        } | undefined;
    }[];
    flows: {
        params: Record<string, unknown>;
        template: string;
    }[];
    base_version?: string | undefined;
    extends?: string | undefined;
    rate_limits?: {
        tool_call?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        prompt_submit?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        session_end?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        stop?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        schedule?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        webhook?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        inbound_channel?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        file_changed?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
    } | undefined;
    permissions?: {
        shell_exec?: {
            commands: string[];
            deny: string[];
        } | undefined;
        http_request?: {
            deny: string[];
            domains: string[];
            methods: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[];
        } | undefined;
        file_write?: {
            paths: string[];
            deny: string[];
        } | undefined;
        send_message?: {
            deny: string[];
            channels: string[];
        } | undefined;
        subprocess_call?: {
            deny: string[];
            binaries: string[];
        } | undefined;
        subagent_call?: {
            deny: string[];
            targets: string[];
        } | undefined;
    } | undefined;
    foundation?: {
        domains: string[];
        tools: {
            name: string;
            semver?: string | undefined;
        }[];
        methodologies: string[];
    } | undefined;
    personal_revision?: {
        base_version: string;
        personal_revision_id: number;
        last_merged_vanilla: string | null;
    } | undefined;
}, {
    version: string;
    name: string;
    scope: "universal" | "domain" | "specialty" | "workflow" | "project";
    goal: string;
    includes?: {
        semver: string;
        pack_id: string;
    }[] | undefined;
    kind?: "focused" | "composite" | undefined;
    description?: string | undefined;
    base_version?: string | undefined;
    requires?: string[] | undefined;
    conflicts?: string[] | undefined;
    extends?: string | undefined;
    evolves?: boolean | undefined;
    rate_limits?: {
        tool_call?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        prompt_submit?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        session_end?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        stop?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        schedule?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        webhook?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        inbound_channel?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        file_changed?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
    } | undefined;
    permissions?: {
        shell_exec?: {
            commands?: string[] | undefined;
            deny?: string[] | undefined;
        } | undefined;
        http_request?: {
            deny?: string[] | undefined;
            domains?: string[] | undefined;
            methods?: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[] | undefined;
        } | undefined;
        file_write?: {
            paths?: string[] | undefined;
            deny?: string[] | undefined;
        } | undefined;
        send_message?: {
            deny?: string[] | undefined;
            channels?: string[] | undefined;
        } | undefined;
        subprocess_call?: {
            deny?: string[] | undefined;
            binaries?: string[] | undefined;
        } | undefined;
        subagent_call?: {
            deny?: string[] | undefined;
            targets?: string[] | undefined;
        } | undefined;
    } | undefined;
    foundation?: {
        domains?: string[] | undefined;
        tools?: {
            name: string;
            semver?: string | undefined;
        }[] | undefined;
        methodologies?: string[] | undefined;
    } | undefined;
    activation_scope?: "user" | "project" | "hybrid" | "team" | "global" | undefined;
    detected_by?: ({
        path: string;
        kind: "file_exists";
    } | {
        path: string;
        kind: "dir_exists";
    } | {
        path: string;
        kind: "file_match";
        matches: Record<string, string>;
    } | {
        kind: "file_glob";
        pattern: string;
        min_count?: number | undefined;
    } | {
        kind: "memory_match";
        pattern: string;
    } | {
        kind: "conversation_signal";
        pattern: string;
    } | {
        kind: "user_pinned";
    })[] | undefined;
    usage?: "active" | "profession" | "both" | undefined;
    personal_revision?: {
        base_version: string;
        personal_revision_id?: number | undefined;
        last_merged_vanilla?: string | null | undefined;
    } | undefined;
    seed_lessons?: {
        title: string;
        source?: string | undefined;
        body?: string | undefined;
        body_path?: string | undefined;
        scope?: "user" | "global" | undefined;
        tags?: string[] | undefined;
    }[] | undefined;
    verify_gates?: {
        name: string;
        when: {
            event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
        };
        check: string;
        on_fail: {
            message: string;
            level: "warn" | "block";
        };
    }[] | undefined;
    guards?: {
        message: string;
        name: string;
        when: string;
        level: "warn" | "block";
        as?: string | undefined;
        on?: "tool_call" | "prompt_submit" | "session_end" | "stop" | undefined;
        detect?: {
            call: string;
            args?: Record<string, unknown> | undefined;
        } | undefined;
    }[] | undefined;
    flows?: {
        template: string;
        params?: Record<string, unknown> | undefined;
    }[] | undefined;
}>, {
    includes: {
        semver: string;
        pack_id: string;
    }[];
    version: string;
    kind: "focused" | "composite";
    name: string;
    description: string;
    scope: "universal" | "domain" | "specialty" | "workflow" | "project";
    goal: string;
    requires: string[];
    conflicts: string[];
    evolves: boolean;
    activation_scope: "user" | "project" | "hybrid" | "team" | "global";
    detected_by: ({
        path: string;
        kind: "file_exists";
    } | {
        path: string;
        kind: "dir_exists";
    } | {
        path: string;
        kind: "file_match";
        matches: Record<string, string>;
    } | {
        kind: "file_glob";
        pattern: string;
        min_count: number;
    } | {
        kind: "memory_match";
        pattern: string;
    } | {
        kind: "conversation_signal";
        pattern: string;
    } | {
        kind: "user_pinned";
    })[];
    usage: "active" | "profession" | "both";
    seed_lessons: {
        title: string;
        scope: "user" | "global";
        tags: string[];
        source?: string | undefined;
        body?: string | undefined;
        body_path?: string | undefined;
    }[];
    verify_gates: {
        name: string;
        when: {
            event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
        };
        check: string;
        on_fail: {
            message: string;
            level: "warn" | "block";
        };
    }[];
    guards: {
        message: string;
        name: string;
        as: string;
        when: string;
        level: "warn" | "block";
        on: "tool_call" | "prompt_submit" | "session_end" | "stop";
        detect?: {
            call: string;
            args?: Record<string, unknown> | undefined;
        } | undefined;
    }[];
    flows: {
        params: Record<string, unknown>;
        template: string;
    }[];
    base_version?: string | undefined;
    extends?: string | undefined;
    rate_limits?: {
        tool_call?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        prompt_submit?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        session_end?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        stop?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        schedule?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        webhook?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        inbound_channel?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        file_changed?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
    } | undefined;
    permissions?: {
        shell_exec?: {
            commands: string[];
            deny: string[];
        } | undefined;
        http_request?: {
            deny: string[];
            domains: string[];
            methods: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[];
        } | undefined;
        file_write?: {
            paths: string[];
            deny: string[];
        } | undefined;
        send_message?: {
            deny: string[];
            channels: string[];
        } | undefined;
        subprocess_call?: {
            deny: string[];
            binaries: string[];
        } | undefined;
        subagent_call?: {
            deny: string[];
            targets: string[];
        } | undefined;
    } | undefined;
    foundation?: {
        domains: string[];
        tools: {
            name: string;
            semver?: string | undefined;
        }[];
        methodologies: string[];
    } | undefined;
    personal_revision?: {
        base_version: string;
        personal_revision_id: number;
        last_merged_vanilla: string | null;
    } | undefined;
}, {
    version: string;
    name: string;
    scope: "universal" | "domain" | "specialty" | "workflow" | "project";
    goal: string;
    includes?: {
        semver: string;
        pack_id: string;
    }[] | undefined;
    kind?: "focused" | "composite" | undefined;
    description?: string | undefined;
    base_version?: string | undefined;
    requires?: string[] | undefined;
    conflicts?: string[] | undefined;
    extends?: string | undefined;
    evolves?: boolean | undefined;
    rate_limits?: {
        tool_call?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        prompt_submit?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        session_end?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        stop?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        schedule?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        webhook?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        inbound_channel?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
        file_changed?: {
            max: number;
            per: "minute" | "hour" | "day";
            concurrent?: number | undefined;
        } | undefined;
    } | undefined;
    permissions?: {
        shell_exec?: {
            commands?: string[] | undefined;
            deny?: string[] | undefined;
        } | undefined;
        http_request?: {
            deny?: string[] | undefined;
            domains?: string[] | undefined;
            methods?: ("GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS")[] | undefined;
        } | undefined;
        file_write?: {
            paths?: string[] | undefined;
            deny?: string[] | undefined;
        } | undefined;
        send_message?: {
            deny?: string[] | undefined;
            channels?: string[] | undefined;
        } | undefined;
        subprocess_call?: {
            deny?: string[] | undefined;
            binaries?: string[] | undefined;
        } | undefined;
        subagent_call?: {
            deny?: string[] | undefined;
            targets?: string[] | undefined;
        } | undefined;
    } | undefined;
    foundation?: {
        domains?: string[] | undefined;
        tools?: {
            name: string;
            semver?: string | undefined;
        }[] | undefined;
        methodologies?: string[] | undefined;
    } | undefined;
    activation_scope?: "user" | "project" | "hybrid" | "team" | "global" | undefined;
    detected_by?: ({
        path: string;
        kind: "file_exists";
    } | {
        path: string;
        kind: "dir_exists";
    } | {
        path: string;
        kind: "file_match";
        matches: Record<string, string>;
    } | {
        kind: "file_glob";
        pattern: string;
        min_count?: number | undefined;
    } | {
        kind: "memory_match";
        pattern: string;
    } | {
        kind: "conversation_signal";
        pattern: string;
    } | {
        kind: "user_pinned";
    })[] | undefined;
    usage?: "active" | "profession" | "both" | undefined;
    personal_revision?: {
        base_version: string;
        personal_revision_id?: number | undefined;
        last_merged_vanilla?: string | null | undefined;
    } | undefined;
    seed_lessons?: {
        title: string;
        source?: string | undefined;
        body?: string | undefined;
        body_path?: string | undefined;
        scope?: "user" | "global" | undefined;
        tags?: string[] | undefined;
    }[] | undefined;
    verify_gates?: {
        name: string;
        when: {
            event_kind: "tool_call" | "prompt_submit" | "session_end" | "stop";
        };
        check: string;
        on_fail: {
            message: string;
            level: "warn" | "block";
        };
    }[] | undefined;
    guards?: {
        message: string;
        name: string;
        when: string;
        level: "warn" | "block";
        as?: string | undefined;
        on?: "tool_call" | "prompt_submit" | "session_end" | "stop" | undefined;
        detect?: {
            call: string;
            args?: Record<string, unknown> | undefined;
        } | undefined;
    }[] | undefined;
    flows?: {
        template: string;
        params?: Record<string, unknown> | undefined;
    }[] | undefined;
}>;
export type Manifest = z.infer<typeof Manifest>;
export {};
//# sourceMappingURL=manifest.d.ts.map