/**
 * Zod Validation Schemas for Extension Types
 *
 * Provides strict runtime validation for all extension types with helpful
 * error messages. Ensures extension manifests conform to the unified schema.
 *
 * @implements @.aiwg/requirements/use-cases/UC-003-extension-validation.md
 * @architecture @.aiwg/architecture/unified-extension-schema.md
 * @tests @test/unit/extensions/validation.test.ts
 * @version 1.0.0
 */
import { z } from 'zod';
import type { ExtensionType } from './types.js';
/**
 * Extension type discriminator
 */
export declare const ExtensionTypeSchema: z.ZodEnum<["agent", "command", "skill", "hook", "tool", "mcp-server", "framework", "addon", "template", "prompt"]>;
/**
 * Extension lifecycle status
 */
export declare const ExtensionStatusSchema: z.ZodEnum<["stable", "beta", "experimental", "deprecated", "archived"]>;
/**
 * Platform support level
 */
export declare const PlatformSupportSchema: z.ZodEnum<["full", "partial", "experimental", "none"]>;
/**
 * Hook lifecycle events
 */
export declare const HookEventSchema: z.ZodEnum<["pre-session", "post-session", "pre-command", "post-command", "pre-agent", "post-agent", "pre-write", "post-write", "pre-bash", "post-bash"]>;
/**
 * Platform compatibility matrix
 */
export declare const PlatformCompatibilitySchema: z.ZodEffects<z.ZodObject<{
    claude: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
    factory: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
    cursor: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
    copilot: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
    windsurf: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
    codex: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
    opencode: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
    generic: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
}, "strip", z.ZodTypeAny, {
    claude?: "experimental" | "full" | "partial" | "none" | undefined;
    cursor?: "experimental" | "full" | "partial" | "none" | undefined;
    factory?: "experimental" | "full" | "partial" | "none" | undefined;
    codex?: "experimental" | "full" | "partial" | "none" | undefined;
    opencode?: "experimental" | "full" | "partial" | "none" | undefined;
    windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
    copilot?: "experimental" | "full" | "partial" | "none" | undefined;
    generic?: "experimental" | "full" | "partial" | "none" | undefined;
}, {
    claude?: "experimental" | "full" | "partial" | "none" | undefined;
    cursor?: "experimental" | "full" | "partial" | "none" | undefined;
    factory?: "experimental" | "full" | "partial" | "none" | undefined;
    codex?: "experimental" | "full" | "partial" | "none" | undefined;
    opencode?: "experimental" | "full" | "partial" | "none" | undefined;
    windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
    copilot?: "experimental" | "full" | "partial" | "none" | undefined;
    generic?: "experimental" | "full" | "partial" | "none" | undefined;
}>, {
    claude?: "experimental" | "full" | "partial" | "none" | undefined;
    cursor?: "experimental" | "full" | "partial" | "none" | undefined;
    factory?: "experimental" | "full" | "partial" | "none" | undefined;
    codex?: "experimental" | "full" | "partial" | "none" | undefined;
    opencode?: "experimental" | "full" | "partial" | "none" | undefined;
    windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
    copilot?: "experimental" | "full" | "partial" | "none" | undefined;
    generic?: "experimental" | "full" | "partial" | "none" | undefined;
}, {
    claude?: "experimental" | "full" | "partial" | "none" | undefined;
    cursor?: "experimental" | "full" | "partial" | "none" | undefined;
    factory?: "experimental" | "full" | "partial" | "none" | undefined;
    codex?: "experimental" | "full" | "partial" | "none" | undefined;
    opencode?: "experimental" | "full" | "partial" | "none" | undefined;
    windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
    copilot?: "experimental" | "full" | "partial" | "none" | undefined;
    generic?: "experimental" | "full" | "partial" | "none" | undefined;
}>;
/**
 * Deployment configuration
 */
export declare const DeploymentConfigSchema: z.ZodObject<{
    pathTemplate: z.ZodString;
    pathOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    additionalFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    autoInstall: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    core: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    core: boolean;
    pathTemplate: string;
    autoInstall: boolean;
    pathOverrides?: Record<string, string> | undefined;
    additionalFiles?: string[] | undefined;
}, {
    pathTemplate: string;
    core?: boolean | undefined;
    pathOverrides?: Record<string, string> | undefined;
    additionalFiles?: string[] | undefined;
    autoInstall?: boolean | undefined;
}>;
/**
 * A single .aiwg/ path entry in a memory footprint
 */
export declare const MemoryPathSchema: z.ZodObject<{
    path: z.ZodString;
    description: z.ZodString;
}, "strip", z.ZodTypeAny, {
    path: string;
    description: string;
}, {
    path: string;
    description: string;
}>;
/**
 * .aiwg/ memory footprint declaration
 */
export declare const MemoryFootprintSchema: z.ZodObject<{
    creates: z.ZodOptional<z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        description: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        description: string;
    }, {
        path: string;
        description: string;
    }>, "many">>;
    normalizedFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
        path: z.ZodString;
        description: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        description: string;
    }, {
        path: string;
        description: string;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    creates?: {
        path: string;
        description: string;
    }[] | undefined;
    normalizedFiles?: {
        path: string;
        description: string;
    }[] | undefined;
}, {
    creates?: {
        path: string;
        description: string;
    }[] | undefined;
    normalizedFiles?: {
        path: string;
        description: string;
    }[] | undefined;
}>;
/**
 * Deprecation information
 */
export declare const DeprecationSchema: z.ZodObject<{
    date: z.ZodString;
    successor: z.ZodOptional<z.ZodString>;
    reason: z.ZodString;
}, "strip", z.ZodTypeAny, {
    reason: string;
    date: string;
    successor?: string | undefined;
}, {
    reason: string;
    date: string;
    successor?: string | undefined;
}>;
/**
 * Installation state
 */
export declare const InstallationSchema: z.ZodObject<{
    installedAt: z.ZodString;
    installedFrom: z.ZodEnum<["builtin", "registry", "local", "git"]>;
    installedPath: z.ZodString;
    enabled: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    installedFrom: "local" | "builtin" | "registry" | "git";
    installedPath: string;
    enabled: boolean;
    installedAt: string;
}, {
    installedFrom: "local" | "builtin" | "registry" | "git";
    installedPath: string;
    enabled: boolean;
    installedAt: string;
}>;
/**
 * Signature verification
 */
export declare const SignatureSchema: z.ZodObject<{
    algorithm: z.ZodEnum<["pgp", "ed25519"]>;
    value: z.ZodString;
    publicKey: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    value: string;
    algorithm: "ed25519" | "pgp";
    publicKey?: string | undefined;
}, {
    value: string;
    algorithm: "ed25519" | "pgp";
    publicKey?: string | undefined;
}>;
/**
 * Agent-specific metadata
 */
export declare const AgentMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"agent">;
    role: z.ZodString;
    model: z.ZodObject<{
        tier: z.ZodEnum<["haiku", "sonnet", "opus"]>;
        override: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        tier: "sonnet" | "opus" | "haiku";
        override?: string | undefined;
    }, {
        tier: "sonnet" | "opus" | "haiku";
        override?: string | undefined;
    }>;
    tools: z.ZodArray<z.ZodString, "many">;
    template: z.ZodOptional<z.ZodString>;
    maxTools: z.ZodOptional<z.ZodNumber>;
    canDelegate: z.ZodOptional<z.ZodBoolean>;
    readOnly: z.ZodOptional<z.ZodBoolean>;
    workflow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    expertise: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    responsibilities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "agent";
    role: string;
    tools: string[];
    model: {
        tier: "sonnet" | "opus" | "haiku";
        override?: string | undefined;
    };
    readOnly?: boolean | undefined;
    template?: string | undefined;
    workflow?: string[] | undefined;
    maxTools?: number | undefined;
    canDelegate?: boolean | undefined;
    expertise?: string[] | undefined;
    responsibilities?: string[] | undefined;
}, {
    type: "agent";
    role: string;
    tools: string[];
    model: {
        tier: "sonnet" | "opus" | "haiku";
        override?: string | undefined;
    };
    readOnly?: boolean | undefined;
    template?: string | undefined;
    workflow?: string[] | undefined;
    maxTools?: number | undefined;
    canDelegate?: boolean | undefined;
    expertise?: string[] | undefined;
    responsibilities?: string[] | undefined;
}>;
/**
 * Command argument definition
 */
export declare const CommandArgumentSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    required: z.ZodBoolean;
    type: z.ZodEnum<["string", "number", "boolean"]>;
    default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
    position: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "string" | "number" | "boolean";
    required: boolean;
    name: string;
    description: string;
    default?: string | number | boolean | undefined;
    position?: number | undefined;
}, {
    type: "string" | "number" | "boolean";
    required: boolean;
    name: string;
    description: string;
    default?: string | number | boolean | undefined;
    position?: number | undefined;
}>;
/**
 * Command option definition
 */
export declare const CommandOptionSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    type: z.ZodEnum<["string", "boolean", "number", "array"]>;
    default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
    short: z.ZodOptional<z.ZodString>;
    long: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "string" | "number" | "boolean" | "array";
    name: string;
    description: string;
    default?: string | number | boolean | undefined;
    short?: string | undefined;
    long?: string | undefined;
}, {
    type: "string" | "number" | "boolean" | "array";
    name: string;
    description: string;
    default?: string | number | boolean | undefined;
    short?: string | undefined;
    long?: string | undefined;
}>;
/**
 * Command-specific metadata
 *
 * @deprecated As a source format — commands are generated from skills at deploy time.
 */
export declare const CommandMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"command">;
    template: z.ZodEnum<["utility", "transformation", "orchestration"]>;
    arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        required: z.ZodBoolean;
        type: z.ZodEnum<["string", "number", "boolean"]>;
        default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
        position: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }, {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }>, "many">>;
    options: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        type: z.ZodEnum<["string", "boolean", "number", "array"]>;
        default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
        short: z.ZodOptional<z.ZodString>;
        long: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }, {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }>, "many">>;
    argumentHint: z.ZodOptional<z.ZodString>;
    allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    model: z.ZodOptional<z.ZodString>;
    executionSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    successCriteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    cliDisabled: z.ZodOptional<z.ZodBoolean>;
    executedViaSkillRunner: z.ZodOptional<z.ZodBoolean>;
    generatedFrom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "command";
    template: "utility" | "transformation" | "orchestration";
    model?: string | undefined;
    arguments?: {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }[] | undefined;
    argumentHint?: string | undefined;
    cliDisabled?: boolean | undefined;
    executedViaSkillRunner?: boolean | undefined;
    options?: {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }[] | undefined;
    allowedTools?: string[] | undefined;
    executionSteps?: string[] | undefined;
    successCriteria?: string[] | undefined;
    generatedFrom?: string | undefined;
}, {
    type: "command";
    template: "utility" | "transformation" | "orchestration";
    model?: string | undefined;
    arguments?: {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }[] | undefined;
    argumentHint?: string | undefined;
    cliDisabled?: boolean | undefined;
    executedViaSkillRunner?: boolean | undefined;
    options?: {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }[] | undefined;
    allowedTools?: string[] | undefined;
    executionSteps?: string[] | undefined;
    successCriteria?: string[] | undefined;
    generatedFrom?: string | undefined;
}>;
/**
 * Command translation hints for skill→command generation
 */
export declare const CommandHintSchema: z.ZodObject<{
    argumentHint: z.ZodOptional<z.ZodString>;
    allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    template: z.ZodOptional<z.ZodEnum<["utility", "transformation", "orchestration"]>>;
    arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        required: z.ZodBoolean;
        type: z.ZodEnum<["string", "number", "boolean"]>;
        default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
        position: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }, {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }>, "many">>;
    options: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        type: z.ZodEnum<["string", "boolean", "number", "array"]>;
        default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
        short: z.ZodOptional<z.ZodString>;
        long: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }, {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }>, "many">>;
    executionSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    successCriteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    model: z.ZodOptional<z.ZodString>;
    cliDisabled: z.ZodOptional<z.ZodBoolean>;
    executedViaSkillRunner: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    model?: string | undefined;
    arguments?: {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }[] | undefined;
    template?: "utility" | "transformation" | "orchestration" | undefined;
    argumentHint?: string | undefined;
    cliDisabled?: boolean | undefined;
    executedViaSkillRunner?: boolean | undefined;
    options?: {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }[] | undefined;
    allowedTools?: string[] | undefined;
    executionSteps?: string[] | undefined;
    successCriteria?: string[] | undefined;
}, {
    model?: string | undefined;
    arguments?: {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }[] | undefined;
    template?: "utility" | "transformation" | "orchestration" | undefined;
    argumentHint?: string | undefined;
    cliDisabled?: boolean | undefined;
    executedViaSkillRunner?: boolean | undefined;
    options?: {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }[] | undefined;
    allowedTools?: string[] | undefined;
    executionSteps?: string[] | undefined;
    successCriteria?: string[] | undefined;
}>;
/**
 * Skill reference material
 */
export declare const SkillReferenceSchema: z.ZodObject<{
    filename: z.ZodString;
    description: z.ZodString;
    path: z.ZodString;
}, "strip", z.ZodTypeAny, {
    path: string;
    description: string;
    filename: string;
}, {
    path: string;
    description: string;
    filename: string;
}>;
/**
 * SKILL.md frontmatter schema
 *
 * Validates the YAML frontmatter block at the top of a SKILL.md file.
 * This is distinct from {@link SkillMetadataSchema}, which validates the
 * `metadata` field of an Extension manifest.
 *
 * `description` is REQUIRED and must be non-empty. Codex rejects SKILL.md
 * files that lack a description; Claude Code uses this field for
 * natural-language invocation. Do NOT relax this rule — a blank description
 * is what caused the 107-file regression we are guarding against.
 */
export declare const SkillFrontmatterSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
    namespace: z.ZodOptional<z.ZodString>;
    platforms: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    triggers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    deprecated_names: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    'allowed-tools': z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    allowedTools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    effort: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
    'user-invocable': z.ZodOptional<z.ZodBoolean>;
    userInvocable: z.ZodOptional<z.ZodBoolean>;
    'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
    disableModelInvocation: z.ZodOptional<z.ZodBoolean>;
    context: z.ZodOptional<z.ZodEnum<["fork", "inherit"]>>;
    author: z.ZodOptional<z.ZodString>;
    license: z.ZodOptional<z.ZodString>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    name: z.ZodString;
    description: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
    namespace: z.ZodOptional<z.ZodString>;
    platforms: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    triggers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    deprecated_names: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    'allowed-tools': z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    allowedTools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    effort: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
    'user-invocable': z.ZodOptional<z.ZodBoolean>;
    userInvocable: z.ZodOptional<z.ZodBoolean>;
    'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
    disableModelInvocation: z.ZodOptional<z.ZodBoolean>;
    context: z.ZodOptional<z.ZodEnum<["fork", "inherit"]>>;
    author: z.ZodOptional<z.ZodString>;
    license: z.ZodOptional<z.ZodString>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    name: z.ZodString;
    description: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
    namespace: z.ZodOptional<z.ZodString>;
    platforms: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    triggers: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    deprecated_names: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    'allowed-tools': z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    allowedTools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString]>>;
    effort: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
    'user-invocable': z.ZodOptional<z.ZodBoolean>;
    userInvocable: z.ZodOptional<z.ZodBoolean>;
    'disable-model-invocation': z.ZodOptional<z.ZodBoolean>;
    disableModelInvocation: z.ZodOptional<z.ZodBoolean>;
    context: z.ZodOptional<z.ZodEnum<["fork", "inherit"]>>;
    author: z.ZodOptional<z.ZodString>;
    license: z.ZodOptional<z.ZodString>;
    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, z.ZodTypeAny, "passthrough">>;
/**
 * Inferred SKILL.md frontmatter type
 */
export type ValidatedSkillFrontmatter = z.infer<typeof SkillFrontmatterSchema>;
/**
 * Validate SKILL.md frontmatter.
 *
 * Use this when parsing the YAML frontmatter block of a SKILL.md file to
 * catch missing or empty `description` fields before deployment.
 *
 * @example
 * ```typescript
 * const result = validateSkillFrontmatter(parsedYaml);
 * if (!result.success) {
 *   throw new Error('Invalid SKILL.md frontmatter: ' +
 *     formatValidationErrors(result.errors).join(', '));
 * }
 * ```
 */
export declare function validateSkillFrontmatter(data: unknown): {
    success: true;
    data: ValidatedSkillFrontmatter;
} | {
    success: false;
    errors: z.ZodError;
};
/**
 * Skill-specific metadata
 */
export declare const SkillMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"skill">;
    triggerPhrases: z.ZodArray<z.ZodString, "many">;
    autoTrigger: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoTriggerConditions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    references: z.ZodOptional<z.ZodArray<z.ZodObject<{
        filename: z.ZodString;
        description: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        description: string;
        filename: string;
    }, {
        path: string;
        description: string;
        filename: string;
    }>, "many">>;
    inputRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    outputFormat: z.ZodOptional<z.ZodString>;
    effort: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
    userInvocable: z.ZodOptional<z.ZodBoolean>;
    disableModelInvocation: z.ZodOptional<z.ZodBoolean>;
    context: z.ZodOptional<z.ZodEnum<["fork", "inherit"]>>;
    allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    commandHint: z.ZodOptional<z.ZodObject<{
        argumentHint: z.ZodOptional<z.ZodString>;
        allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        template: z.ZodOptional<z.ZodEnum<["utility", "transformation", "orchestration"]>>;
        arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            required: z.ZodBoolean;
            type: z.ZodEnum<["string", "number", "boolean"]>;
            default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
            position: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }, {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }>, "many">>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            type: z.ZodEnum<["string", "boolean", "number", "array"]>;
            default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
            short: z.ZodOptional<z.ZodString>;
            long: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }, {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }>, "many">>;
        executionSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        successCriteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        model: z.ZodOptional<z.ZodString>;
        cliDisabled: z.ZodOptional<z.ZodBoolean>;
        executedViaSkillRunner: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        template?: "utility" | "transformation" | "orchestration" | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
    }, {
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        template?: "utility" | "transformation" | "orchestration" | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    type: "skill";
    triggerPhrases: string[];
    autoTrigger: boolean;
    context?: "inherit" | "fork" | undefined;
    tools?: string[] | undefined;
    outputFormat?: string | undefined;
    commandHint?: {
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        template?: "utility" | "transformation" | "orchestration" | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
    } | undefined;
    allowedTools?: string[] | undefined;
    effort?: 2 | 1 | 3 | undefined;
    userInvocable?: boolean | undefined;
    disableModelInvocation?: boolean | undefined;
    autoTriggerConditions?: string[] | undefined;
    references?: {
        path: string;
        description: string;
        filename: string;
    }[] | undefined;
    inputRequirements?: string[] | undefined;
}, {
    type: "skill";
    triggerPhrases: string[];
    context?: "inherit" | "fork" | undefined;
    tools?: string[] | undefined;
    outputFormat?: string | undefined;
    commandHint?: {
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        template?: "utility" | "transformation" | "orchestration" | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
    } | undefined;
    allowedTools?: string[] | undefined;
    effort?: 2 | 1 | 3 | undefined;
    userInvocable?: boolean | undefined;
    disableModelInvocation?: boolean | undefined;
    autoTrigger?: boolean | undefined;
    autoTriggerConditions?: string[] | undefined;
    references?: {
        path: string;
        description: string;
        filename: string;
    }[] | undefined;
    inputRequirements?: string[] | undefined;
}>;
/**
 * Hook-specific metadata
 */
export declare const HookMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"hook">;
    event: z.ZodEnum<["pre-session", "post-session", "pre-command", "post-command", "pre-agent", "post-agent", "pre-write", "post-write", "pre-bash", "post-bash"]>;
    priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    canModify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    canBlock: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    configSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    type: "hook";
    event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
    priority: number;
    canModify: boolean;
    canBlock: boolean;
    configSchema?: Record<string, unknown> | undefined;
}, {
    type: "hook";
    event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
    priority?: number | undefined;
    canModify?: boolean | undefined;
    canBlock?: boolean | undefined;
    configSchema?: Record<string, unknown> | undefined;
}>;
/**
 * Tool-specific metadata
 */
export declare const ToolMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"tool">;
    category: z.ZodEnum<["core", "languages", "utilities", "custom"]>;
    executable: z.ZodString;
    verificationStatus: z.ZodOptional<z.ZodEnum<["verified", "unverified"]>>;
    lastVerified: z.ZodOptional<z.ZodString>;
    manPage: z.ZodOptional<z.ZodString>;
    aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    relatedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    platformNotes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    installHint: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "tool";
    category: "custom" | "core" | "languages" | "utilities";
    executable: string;
    aliases?: string[] | undefined;
    verificationStatus?: "verified" | "unverified" | undefined;
    lastVerified?: string | undefined;
    manPage?: string | undefined;
    relatedTools?: string[] | undefined;
    platformNotes?: Record<string, string> | undefined;
    installHint?: string | undefined;
}, {
    type: "tool";
    category: "custom" | "core" | "languages" | "utilities";
    executable: string;
    aliases?: string[] | undefined;
    verificationStatus?: "verified" | "unverified" | undefined;
    lastVerified?: string | undefined;
    manPage?: string | undefined;
    relatedTools?: string[] | undefined;
    platformNotes?: Record<string, string> | undefined;
    installHint?: string | undefined;
}>;
/**
 * MCP tool summary
 */
export declare const MCPToolSummarySchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    dangerous: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    name: string;
    description: string;
    dangerous: boolean;
}, {
    name: string;
    description: string;
    dangerous: boolean;
}>;
/**
 * MCP Server-specific metadata
 */
export declare const MCPServerMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"mcp-server">;
    mcpVersion: z.ZodString;
    transport: z.ZodEnum<["stdio", "http"]>;
    port: z.ZodOptional<z.ZodNumber>;
    capabilities: z.ZodObject<{
        tools: z.ZodBoolean;
        resources: z.ZodBoolean;
        prompts: z.ZodBoolean;
        sampling: z.ZodBoolean;
        logging: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        sampling: boolean;
        tools: boolean;
        prompts: boolean;
        resources: boolean;
        logging: boolean;
    }, {
        sampling: boolean;
        tools: boolean;
        prompts: boolean;
        resources: boolean;
        logging: boolean;
    }>;
    sourceType: z.ZodEnum<["cli", "api", "catalog", "nl", "extension"]>;
    sourceCommand: z.ZodOptional<z.ZodString>;
    sourceBaseUrl: z.ZodOptional<z.ZodString>;
    workingDirectory: z.ZodOptional<z.ZodString>;
    environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        dangerous: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        name: string;
        description: string;
        dangerous: boolean;
    }, {
        name: string;
        description: string;
        dangerous: boolean;
    }>, "many">>;
    resources: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "mcp-server";
    capabilities: {
        sampling: boolean;
        tools: boolean;
        prompts: boolean;
        resources: boolean;
        logging: boolean;
    };
    mcpVersion: string;
    transport: "http" | "stdio";
    sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
    tools?: {
        name: string;
        description: string;
        dangerous: boolean;
    }[] | undefined;
    prompts?: string[] | undefined;
    port?: number | undefined;
    resources?: string[] | undefined;
    sourceCommand?: string | undefined;
    sourceBaseUrl?: string | undefined;
    workingDirectory?: string | undefined;
    environment?: Record<string, string> | undefined;
}, {
    type: "mcp-server";
    capabilities: {
        sampling: boolean;
        tools: boolean;
        prompts: boolean;
        resources: boolean;
        logging: boolean;
    };
    mcpVersion: string;
    transport: "http" | "stdio";
    sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
    tools?: {
        name: string;
        description: string;
        dangerous: boolean;
    }[] | undefined;
    prompts?: string[] | undefined;
    port?: number | undefined;
    resources?: string[] | undefined;
    sourceCommand?: string | undefined;
    sourceBaseUrl?: string | undefined;
    workingDirectory?: string | undefined;
    environment?: Record<string, string> | undefined;
}>;
/**
 * Framework-specific metadata
 */
export declare const FrameworkMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"framework">;
    domain: z.ZodString;
    includes: z.ZodObject<{
        agents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        templates: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    }, {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    }>;
    configSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    defaultConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    type: "framework";
    includes: {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    };
    domain: string;
    configSchema?: Record<string, unknown> | undefined;
    defaultConfig?: Record<string, unknown> | undefined;
}, {
    type: "framework";
    includes: {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    };
    domain: string;
    configSchema?: Record<string, unknown> | undefined;
    defaultConfig?: Record<string, unknown> | undefined;
}>;
/**
 * Addon-specific metadata
 */
export declare const AddonMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"addon">;
    entry: z.ZodObject<{
        agents: z.ZodOptional<z.ZodString>;
        commands: z.ZodOptional<z.ZodString>;
        skills: z.ZodOptional<z.ZodString>;
        hooks: z.ZodOptional<z.ZodString>;
        templates: z.ZodOptional<z.ZodString>;
        prompts: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        agents?: string | undefined;
        skills?: string | undefined;
        commands?: string | undefined;
        templates?: string | undefined;
        hooks?: string | undefined;
        prompts?: string | undefined;
    }, {
        agents?: string | undefined;
        skills?: string | undefined;
        commands?: string | undefined;
        templates?: string | undefined;
        hooks?: string | undefined;
        prompts?: string | undefined;
    }>;
    provides: z.ZodObject<{
        agents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        templates: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    }, {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "addon";
    entry: {
        agents?: string | undefined;
        skills?: string | undefined;
        commands?: string | undefined;
        templates?: string | undefined;
        hooks?: string | undefined;
        prompts?: string | undefined;
    };
    provides: {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    };
}, {
    type: "addon";
    entry: {
        agents?: string | undefined;
        skills?: string | undefined;
        commands?: string | undefined;
        templates?: string | undefined;
        hooks?: string | undefined;
        prompts?: string | undefined;
    };
    provides: {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    };
}>;
/**
 * Template variable definition
 */
export declare const TemplateVariableSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    type: z.ZodEnum<["string", "number", "boolean", "array", "object"]>;
    required: z.ZodBoolean;
    default: z.ZodOptional<z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
    type: "string" | "number" | "boolean" | "object" | "array";
    required: boolean;
    name: string;
    description: string;
    default?: unknown;
}, {
    type: "string" | "number" | "boolean" | "object" | "array";
    required: boolean;
    name: string;
    description: string;
    default?: unknown;
}>;
/**
 * Template-specific metadata
 */
export declare const TemplateMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"template">;
    format: z.ZodString;
    variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        type: z.ZodEnum<["string", "number", "boolean", "array", "object"]>;
        required: z.ZodBoolean;
        default: z.ZodOptional<z.ZodUnknown>;
    }, "strip", z.ZodTypeAny, {
        type: "string" | "number" | "boolean" | "object" | "array";
        required: boolean;
        name: string;
        description: string;
        default?: unknown;
    }, {
        type: "string" | "number" | "boolean" | "object" | "array";
        required: boolean;
        name: string;
        description: string;
        default?: unknown;
    }>, "many">>;
    sections: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    targetArtifact: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    format: string;
    type: "template";
    variables?: {
        type: "string" | "number" | "boolean" | "object" | "array";
        required: boolean;
        name: string;
        description: string;
        default?: unknown;
    }[] | undefined;
    sections?: string[] | undefined;
    targetArtifact?: string | undefined;
}, {
    format: string;
    type: "template";
    variables?: {
        type: "string" | "number" | "boolean" | "object" | "array";
        required: boolean;
        name: string;
        description: string;
        default?: unknown;
    }[] | undefined;
    sections?: string[] | undefined;
    targetArtifact?: string | undefined;
}>;
/**
 * Prompt-specific metadata
 */
export declare const PromptMetadataSchema: z.ZodObject<{
    type: z.ZodLiteral<"prompt">;
    category: z.ZodString;
    purpose: z.ZodString;
    useWhen: z.ZodArray<z.ZodString, "many">;
    variables: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    requiredContext: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "prompt";
    category: string;
    purpose: string;
    useWhen: string[];
    variables?: string[] | undefined;
    requiredContext?: string[] | undefined;
}, {
    type: "prompt";
    category: string;
    purpose: string;
    useWhen: string[];
    variables?: string[] | undefined;
    requiredContext?: string[] | undefined;
}>;
/**
 * Union of all type-specific metadata schemas
 */
export declare const ExtensionMetadataSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<"agent">;
    role: z.ZodString;
    model: z.ZodObject<{
        tier: z.ZodEnum<["haiku", "sonnet", "opus"]>;
        override: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        tier: "sonnet" | "opus" | "haiku";
        override?: string | undefined;
    }, {
        tier: "sonnet" | "opus" | "haiku";
        override?: string | undefined;
    }>;
    tools: z.ZodArray<z.ZodString, "many">;
    template: z.ZodOptional<z.ZodString>;
    maxTools: z.ZodOptional<z.ZodNumber>;
    canDelegate: z.ZodOptional<z.ZodBoolean>;
    readOnly: z.ZodOptional<z.ZodBoolean>;
    workflow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    expertise: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    responsibilities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "agent";
    role: string;
    tools: string[];
    model: {
        tier: "sonnet" | "opus" | "haiku";
        override?: string | undefined;
    };
    readOnly?: boolean | undefined;
    template?: string | undefined;
    workflow?: string[] | undefined;
    maxTools?: number | undefined;
    canDelegate?: boolean | undefined;
    expertise?: string[] | undefined;
    responsibilities?: string[] | undefined;
}, {
    type: "agent";
    role: string;
    tools: string[];
    model: {
        tier: "sonnet" | "opus" | "haiku";
        override?: string | undefined;
    };
    readOnly?: boolean | undefined;
    template?: string | undefined;
    workflow?: string[] | undefined;
    maxTools?: number | undefined;
    canDelegate?: boolean | undefined;
    expertise?: string[] | undefined;
    responsibilities?: string[] | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"command">;
    template: z.ZodEnum<["utility", "transformation", "orchestration"]>;
    arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        required: z.ZodBoolean;
        type: z.ZodEnum<["string", "number", "boolean"]>;
        default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
        position: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }, {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }>, "many">>;
    options: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        type: z.ZodEnum<["string", "boolean", "number", "array"]>;
        default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
        short: z.ZodOptional<z.ZodString>;
        long: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }, {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }>, "many">>;
    argumentHint: z.ZodOptional<z.ZodString>;
    allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    model: z.ZodOptional<z.ZodString>;
    executionSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    successCriteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    cliDisabled: z.ZodOptional<z.ZodBoolean>;
    executedViaSkillRunner: z.ZodOptional<z.ZodBoolean>;
    generatedFrom: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "command";
    template: "utility" | "transformation" | "orchestration";
    model?: string | undefined;
    arguments?: {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }[] | undefined;
    argumentHint?: string | undefined;
    cliDisabled?: boolean | undefined;
    executedViaSkillRunner?: boolean | undefined;
    options?: {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }[] | undefined;
    allowedTools?: string[] | undefined;
    executionSteps?: string[] | undefined;
    successCriteria?: string[] | undefined;
    generatedFrom?: string | undefined;
}, {
    type: "command";
    template: "utility" | "transformation" | "orchestration";
    model?: string | undefined;
    arguments?: {
        type: "string" | "number" | "boolean";
        required: boolean;
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        position?: number | undefined;
    }[] | undefined;
    argumentHint?: string | undefined;
    cliDisabled?: boolean | undefined;
    executedViaSkillRunner?: boolean | undefined;
    options?: {
        type: "string" | "number" | "boolean" | "array";
        name: string;
        description: string;
        default?: string | number | boolean | undefined;
        short?: string | undefined;
        long?: string | undefined;
    }[] | undefined;
    allowedTools?: string[] | undefined;
    executionSteps?: string[] | undefined;
    successCriteria?: string[] | undefined;
    generatedFrom?: string | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"skill">;
    triggerPhrases: z.ZodArray<z.ZodString, "many">;
    autoTrigger: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    autoTriggerConditions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    references: z.ZodOptional<z.ZodArray<z.ZodObject<{
        filename: z.ZodString;
        description: z.ZodString;
        path: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        path: string;
        description: string;
        filename: string;
    }, {
        path: string;
        description: string;
        filename: string;
    }>, "many">>;
    inputRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    outputFormat: z.ZodOptional<z.ZodString>;
    effort: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
    userInvocable: z.ZodOptional<z.ZodBoolean>;
    disableModelInvocation: z.ZodOptional<z.ZodBoolean>;
    context: z.ZodOptional<z.ZodEnum<["fork", "inherit"]>>;
    allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    commandHint: z.ZodOptional<z.ZodObject<{
        argumentHint: z.ZodOptional<z.ZodString>;
        allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        template: z.ZodOptional<z.ZodEnum<["utility", "transformation", "orchestration"]>>;
        arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            required: z.ZodBoolean;
            type: z.ZodEnum<["string", "number", "boolean"]>;
            default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
            position: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }, {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }>, "many">>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            type: z.ZodEnum<["string", "boolean", "number", "array"]>;
            default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
            short: z.ZodOptional<z.ZodString>;
            long: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }, {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }>, "many">>;
        executionSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        successCriteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        model: z.ZodOptional<z.ZodString>;
        cliDisabled: z.ZodOptional<z.ZodBoolean>;
        executedViaSkillRunner: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        template?: "utility" | "transformation" | "orchestration" | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
    }, {
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        template?: "utility" | "transformation" | "orchestration" | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    type: "skill";
    triggerPhrases: string[];
    autoTrigger: boolean;
    context?: "inherit" | "fork" | undefined;
    tools?: string[] | undefined;
    outputFormat?: string | undefined;
    commandHint?: {
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        template?: "utility" | "transformation" | "orchestration" | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
    } | undefined;
    allowedTools?: string[] | undefined;
    effort?: 2 | 1 | 3 | undefined;
    userInvocable?: boolean | undefined;
    disableModelInvocation?: boolean | undefined;
    autoTriggerConditions?: string[] | undefined;
    references?: {
        path: string;
        description: string;
        filename: string;
    }[] | undefined;
    inputRequirements?: string[] | undefined;
}, {
    type: "skill";
    triggerPhrases: string[];
    context?: "inherit" | "fork" | undefined;
    tools?: string[] | undefined;
    outputFormat?: string | undefined;
    commandHint?: {
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        template?: "utility" | "transformation" | "orchestration" | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
    } | undefined;
    allowedTools?: string[] | undefined;
    effort?: 2 | 1 | 3 | undefined;
    userInvocable?: boolean | undefined;
    disableModelInvocation?: boolean | undefined;
    autoTrigger?: boolean | undefined;
    autoTriggerConditions?: string[] | undefined;
    references?: {
        path: string;
        description: string;
        filename: string;
    }[] | undefined;
    inputRequirements?: string[] | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"hook">;
    event: z.ZodEnum<["pre-session", "post-session", "pre-command", "post-command", "pre-agent", "post-agent", "pre-write", "post-write", "pre-bash", "post-bash"]>;
    priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    canModify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    canBlock: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    configSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    type: "hook";
    event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
    priority: number;
    canModify: boolean;
    canBlock: boolean;
    configSchema?: Record<string, unknown> | undefined;
}, {
    type: "hook";
    event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
    priority?: number | undefined;
    canModify?: boolean | undefined;
    canBlock?: boolean | undefined;
    configSchema?: Record<string, unknown> | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"tool">;
    category: z.ZodEnum<["core", "languages", "utilities", "custom"]>;
    executable: z.ZodString;
    verificationStatus: z.ZodOptional<z.ZodEnum<["verified", "unverified"]>>;
    lastVerified: z.ZodOptional<z.ZodString>;
    manPage: z.ZodOptional<z.ZodString>;
    aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    relatedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    platformNotes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    installHint: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "tool";
    category: "custom" | "core" | "languages" | "utilities";
    executable: string;
    aliases?: string[] | undefined;
    verificationStatus?: "verified" | "unverified" | undefined;
    lastVerified?: string | undefined;
    manPage?: string | undefined;
    relatedTools?: string[] | undefined;
    platformNotes?: Record<string, string> | undefined;
    installHint?: string | undefined;
}, {
    type: "tool";
    category: "custom" | "core" | "languages" | "utilities";
    executable: string;
    aliases?: string[] | undefined;
    verificationStatus?: "verified" | "unverified" | undefined;
    lastVerified?: string | undefined;
    manPage?: string | undefined;
    relatedTools?: string[] | undefined;
    platformNotes?: Record<string, string> | undefined;
    installHint?: string | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"mcp-server">;
    mcpVersion: z.ZodString;
    transport: z.ZodEnum<["stdio", "http"]>;
    port: z.ZodOptional<z.ZodNumber>;
    capabilities: z.ZodObject<{
        tools: z.ZodBoolean;
        resources: z.ZodBoolean;
        prompts: z.ZodBoolean;
        sampling: z.ZodBoolean;
        logging: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        sampling: boolean;
        tools: boolean;
        prompts: boolean;
        resources: boolean;
        logging: boolean;
    }, {
        sampling: boolean;
        tools: boolean;
        prompts: boolean;
        resources: boolean;
        logging: boolean;
    }>;
    sourceType: z.ZodEnum<["cli", "api", "catalog", "nl", "extension"]>;
    sourceCommand: z.ZodOptional<z.ZodString>;
    sourceBaseUrl: z.ZodOptional<z.ZodString>;
    workingDirectory: z.ZodOptional<z.ZodString>;
    environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        dangerous: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        name: string;
        description: string;
        dangerous: boolean;
    }, {
        name: string;
        description: string;
        dangerous: boolean;
    }>, "many">>;
    resources: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "mcp-server";
    capabilities: {
        sampling: boolean;
        tools: boolean;
        prompts: boolean;
        resources: boolean;
        logging: boolean;
    };
    mcpVersion: string;
    transport: "http" | "stdio";
    sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
    tools?: {
        name: string;
        description: string;
        dangerous: boolean;
    }[] | undefined;
    prompts?: string[] | undefined;
    port?: number | undefined;
    resources?: string[] | undefined;
    sourceCommand?: string | undefined;
    sourceBaseUrl?: string | undefined;
    workingDirectory?: string | undefined;
    environment?: Record<string, string> | undefined;
}, {
    type: "mcp-server";
    capabilities: {
        sampling: boolean;
        tools: boolean;
        prompts: boolean;
        resources: boolean;
        logging: boolean;
    };
    mcpVersion: string;
    transport: "http" | "stdio";
    sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
    tools?: {
        name: string;
        description: string;
        dangerous: boolean;
    }[] | undefined;
    prompts?: string[] | undefined;
    port?: number | undefined;
    resources?: string[] | undefined;
    sourceCommand?: string | undefined;
    sourceBaseUrl?: string | undefined;
    workingDirectory?: string | undefined;
    environment?: Record<string, string> | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"framework">;
    domain: z.ZodString;
    includes: z.ZodObject<{
        agents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        templates: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    }, {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    }>;
    configSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    defaultConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strip", z.ZodTypeAny, {
    type: "framework";
    includes: {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    };
    domain: string;
    configSchema?: Record<string, unknown> | undefined;
    defaultConfig?: Record<string, unknown> | undefined;
}, {
    type: "framework";
    includes: {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    };
    domain: string;
    configSchema?: Record<string, unknown> | undefined;
    defaultConfig?: Record<string, unknown> | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"addon">;
    entry: z.ZodObject<{
        agents: z.ZodOptional<z.ZodString>;
        commands: z.ZodOptional<z.ZodString>;
        skills: z.ZodOptional<z.ZodString>;
        hooks: z.ZodOptional<z.ZodString>;
        templates: z.ZodOptional<z.ZodString>;
        prompts: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        agents?: string | undefined;
        skills?: string | undefined;
        commands?: string | undefined;
        templates?: string | undefined;
        hooks?: string | undefined;
        prompts?: string | undefined;
    }, {
        agents?: string | undefined;
        skills?: string | undefined;
        commands?: string | undefined;
        templates?: string | undefined;
        hooks?: string | undefined;
        prompts?: string | undefined;
    }>;
    provides: z.ZodObject<{
        agents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        hooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        templates: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    }, {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "addon";
    entry: {
        agents?: string | undefined;
        skills?: string | undefined;
        commands?: string | undefined;
        templates?: string | undefined;
        hooks?: string | undefined;
        prompts?: string | undefined;
    };
    provides: {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    };
}, {
    type: "addon";
    entry: {
        agents?: string | undefined;
        skills?: string | undefined;
        commands?: string | undefined;
        templates?: string | undefined;
        hooks?: string | undefined;
        prompts?: string | undefined;
    };
    provides: {
        agents?: string[] | undefined;
        skills?: string[] | undefined;
        commands?: string[] | undefined;
        templates?: string[] | undefined;
        hooks?: string[] | undefined;
        prompts?: string[] | undefined;
    };
}>, z.ZodObject<{
    type: z.ZodLiteral<"template">;
    format: z.ZodString;
    variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        type: z.ZodEnum<["string", "number", "boolean", "array", "object"]>;
        required: z.ZodBoolean;
        default: z.ZodOptional<z.ZodUnknown>;
    }, "strip", z.ZodTypeAny, {
        type: "string" | "number" | "boolean" | "object" | "array";
        required: boolean;
        name: string;
        description: string;
        default?: unknown;
    }, {
        type: "string" | "number" | "boolean" | "object" | "array";
        required: boolean;
        name: string;
        description: string;
        default?: unknown;
    }>, "many">>;
    sections: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    targetArtifact: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    format: string;
    type: "template";
    variables?: {
        type: "string" | "number" | "boolean" | "object" | "array";
        required: boolean;
        name: string;
        description: string;
        default?: unknown;
    }[] | undefined;
    sections?: string[] | undefined;
    targetArtifact?: string | undefined;
}, {
    format: string;
    type: "template";
    variables?: {
        type: "string" | "number" | "boolean" | "object" | "array";
        required: boolean;
        name: string;
        description: string;
        default?: unknown;
    }[] | undefined;
    sections?: string[] | undefined;
    targetArtifact?: string | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"prompt">;
    category: z.ZodString;
    purpose: z.ZodString;
    useWhen: z.ZodArray<z.ZodString, "many">;
    variables: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    requiredContext: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "prompt";
    category: string;
    purpose: string;
    useWhen: string[];
    variables?: string[] | undefined;
    requiredContext?: string[] | undefined;
}, {
    type: "prompt";
    category: string;
    purpose: string;
    useWhen: string[];
    variables?: string[] | undefined;
    requiredContext?: string[] | undefined;
}>]>;
/**
 * Complete extension schema
 *
 * Validates all required and optional fields according to the unified schema.
 */
export declare const ExtensionSchema: z.ZodEffects<z.ZodObject<{
    id: z.ZodString;
    type: z.ZodEnum<["agent", "command", "skill", "hook", "tool", "mcp-server", "framework", "addon", "template", "prompt"]>;
    name: z.ZodString;
    description: z.ZodString;
    version: z.ZodString;
    capabilities: z.ZodArray<z.ZodString, "many">;
    keywords: z.ZodArray<z.ZodString, "many">;
    category: z.ZodOptional<z.ZodString>;
    platforms: z.ZodEffects<z.ZodObject<{
        claude: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
        factory: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
        cursor: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
        copilot: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
        windsurf: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
        codex: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
        opencode: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
        generic: z.ZodOptional<z.ZodEnum<["full", "partial", "experimental", "none"]>>;
    }, "strip", z.ZodTypeAny, {
        claude?: "experimental" | "full" | "partial" | "none" | undefined;
        cursor?: "experimental" | "full" | "partial" | "none" | undefined;
        factory?: "experimental" | "full" | "partial" | "none" | undefined;
        codex?: "experimental" | "full" | "partial" | "none" | undefined;
        opencode?: "experimental" | "full" | "partial" | "none" | undefined;
        windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
        copilot?: "experimental" | "full" | "partial" | "none" | undefined;
        generic?: "experimental" | "full" | "partial" | "none" | undefined;
    }, {
        claude?: "experimental" | "full" | "partial" | "none" | undefined;
        cursor?: "experimental" | "full" | "partial" | "none" | undefined;
        factory?: "experimental" | "full" | "partial" | "none" | undefined;
        codex?: "experimental" | "full" | "partial" | "none" | undefined;
        opencode?: "experimental" | "full" | "partial" | "none" | undefined;
        windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
        copilot?: "experimental" | "full" | "partial" | "none" | undefined;
        generic?: "experimental" | "full" | "partial" | "none" | undefined;
    }>, {
        claude?: "experimental" | "full" | "partial" | "none" | undefined;
        cursor?: "experimental" | "full" | "partial" | "none" | undefined;
        factory?: "experimental" | "full" | "partial" | "none" | undefined;
        codex?: "experimental" | "full" | "partial" | "none" | undefined;
        opencode?: "experimental" | "full" | "partial" | "none" | undefined;
        windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
        copilot?: "experimental" | "full" | "partial" | "none" | undefined;
        generic?: "experimental" | "full" | "partial" | "none" | undefined;
    }, {
        claude?: "experimental" | "full" | "partial" | "none" | undefined;
        cursor?: "experimental" | "full" | "partial" | "none" | undefined;
        factory?: "experimental" | "full" | "partial" | "none" | undefined;
        codex?: "experimental" | "full" | "partial" | "none" | undefined;
        opencode?: "experimental" | "full" | "partial" | "none" | undefined;
        windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
        copilot?: "experimental" | "full" | "partial" | "none" | undefined;
        generic?: "experimental" | "full" | "partial" | "none" | undefined;
    }>;
    deployment: z.ZodObject<{
        pathTemplate: z.ZodString;
        pathOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        additionalFiles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        autoInstall: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        core: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
    }, "strip", z.ZodTypeAny, {
        core: boolean;
        pathTemplate: string;
        autoInstall: boolean;
        pathOverrides?: Record<string, string> | undefined;
        additionalFiles?: string[] | undefined;
    }, {
        pathTemplate: string;
        core?: boolean | undefined;
        pathOverrides?: Record<string, string> | undefined;
        additionalFiles?: string[] | undefined;
        autoInstall?: boolean | undefined;
    }>;
    requires: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    recommends: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    conflicts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    systemDependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    author: z.ZodOptional<z.ZodString>;
    license: z.ZodOptional<z.ZodString>;
    repository: z.ZodOptional<z.ZodString>;
    homepage: z.ZodOptional<z.ZodString>;
    bugs: z.ZodOptional<z.ZodString>;
    documentation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    researchCompliance: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
    memory: z.ZodOptional<z.ZodObject<{
        creates: z.ZodOptional<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            description: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            path: string;
            description: string;
        }, {
            path: string;
            description: string;
        }>, "many">>;
        normalizedFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
            path: z.ZodString;
            description: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            path: string;
            description: string;
        }, {
            path: string;
            description: string;
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        creates?: {
            path: string;
            description: string;
        }[] | undefined;
        normalizedFiles?: {
            path: string;
            description: string;
        }[] | undefined;
    }, {
        creates?: {
            path: string;
            description: string;
        }[] | undefined;
        normalizedFiles?: {
            path: string;
            description: string;
        }[] | undefined;
    }>>;
    metadata: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"agent">;
        role: z.ZodString;
        model: z.ZodObject<{
            tier: z.ZodEnum<["haiku", "sonnet", "opus"]>;
            override: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            tier: "sonnet" | "opus" | "haiku";
            override?: string | undefined;
        }, {
            tier: "sonnet" | "opus" | "haiku";
            override?: string | undefined;
        }>;
        tools: z.ZodArray<z.ZodString, "many">;
        template: z.ZodOptional<z.ZodString>;
        maxTools: z.ZodOptional<z.ZodNumber>;
        canDelegate: z.ZodOptional<z.ZodBoolean>;
        readOnly: z.ZodOptional<z.ZodBoolean>;
        workflow: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        expertise: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        responsibilities: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: "agent";
        role: string;
        tools: string[];
        model: {
            tier: "sonnet" | "opus" | "haiku";
            override?: string | undefined;
        };
        readOnly?: boolean | undefined;
        template?: string | undefined;
        workflow?: string[] | undefined;
        maxTools?: number | undefined;
        canDelegate?: boolean | undefined;
        expertise?: string[] | undefined;
        responsibilities?: string[] | undefined;
    }, {
        type: "agent";
        role: string;
        tools: string[];
        model: {
            tier: "sonnet" | "opus" | "haiku";
            override?: string | undefined;
        };
        readOnly?: boolean | undefined;
        template?: string | undefined;
        workflow?: string[] | undefined;
        maxTools?: number | undefined;
        canDelegate?: boolean | undefined;
        expertise?: string[] | undefined;
        responsibilities?: string[] | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"command">;
        template: z.ZodEnum<["utility", "transformation", "orchestration"]>;
        arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            required: z.ZodBoolean;
            type: z.ZodEnum<["string", "number", "boolean"]>;
            default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
            position: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }, {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }>, "many">>;
        options: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            type: z.ZodEnum<["string", "boolean", "number", "array"]>;
            default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
            short: z.ZodOptional<z.ZodString>;
            long: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }, {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }>, "many">>;
        argumentHint: z.ZodOptional<z.ZodString>;
        allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        model: z.ZodOptional<z.ZodString>;
        executionSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        successCriteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        cliDisabled: z.ZodOptional<z.ZodBoolean>;
        executedViaSkillRunner: z.ZodOptional<z.ZodBoolean>;
        generatedFrom: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "command";
        template: "utility" | "transformation" | "orchestration";
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
        generatedFrom?: string | undefined;
    }, {
        type: "command";
        template: "utility" | "transformation" | "orchestration";
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
        generatedFrom?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"skill">;
        triggerPhrases: z.ZodArray<z.ZodString, "many">;
        autoTrigger: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        autoTriggerConditions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        tools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        references: z.ZodOptional<z.ZodArray<z.ZodObject<{
            filename: z.ZodString;
            description: z.ZodString;
            path: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            path: string;
            description: string;
            filename: string;
        }, {
            path: string;
            description: string;
            filename: string;
        }>, "many">>;
        inputRequirements: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        outputFormat: z.ZodOptional<z.ZodString>;
        effort: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>>;
        userInvocable: z.ZodOptional<z.ZodBoolean>;
        disableModelInvocation: z.ZodOptional<z.ZodBoolean>;
        context: z.ZodOptional<z.ZodEnum<["fork", "inherit"]>>;
        allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        commandHint: z.ZodOptional<z.ZodObject<{
            argumentHint: z.ZodOptional<z.ZodString>;
            allowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            template: z.ZodOptional<z.ZodEnum<["utility", "transformation", "orchestration"]>>;
            arguments: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                description: z.ZodString;
                required: z.ZodBoolean;
                type: z.ZodEnum<["string", "number", "boolean"]>;
                default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
                position: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }, {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }>, "many">>;
            options: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                description: z.ZodString;
                type: z.ZodEnum<["string", "boolean", "number", "array"]>;
                default: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean, z.ZodNumber]>>;
                short: z.ZodOptional<z.ZodString>;
                long: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }, {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }>, "many">>;
            executionSteps: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            successCriteria: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            model: z.ZodOptional<z.ZodString>;
            cliDisabled: z.ZodOptional<z.ZodBoolean>;
            executedViaSkillRunner: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            model?: string | undefined;
            arguments?: {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }[] | undefined;
            template?: "utility" | "transformation" | "orchestration" | undefined;
            argumentHint?: string | undefined;
            cliDisabled?: boolean | undefined;
            executedViaSkillRunner?: boolean | undefined;
            options?: {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }[] | undefined;
            allowedTools?: string[] | undefined;
            executionSteps?: string[] | undefined;
            successCriteria?: string[] | undefined;
        }, {
            model?: string | undefined;
            arguments?: {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }[] | undefined;
            template?: "utility" | "transformation" | "orchestration" | undefined;
            argumentHint?: string | undefined;
            cliDisabled?: boolean | undefined;
            executedViaSkillRunner?: boolean | undefined;
            options?: {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }[] | undefined;
            allowedTools?: string[] | undefined;
            executionSteps?: string[] | undefined;
            successCriteria?: string[] | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "skill";
        triggerPhrases: string[];
        autoTrigger: boolean;
        context?: "inherit" | "fork" | undefined;
        tools?: string[] | undefined;
        outputFormat?: string | undefined;
        commandHint?: {
            model?: string | undefined;
            arguments?: {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }[] | undefined;
            template?: "utility" | "transformation" | "orchestration" | undefined;
            argumentHint?: string | undefined;
            cliDisabled?: boolean | undefined;
            executedViaSkillRunner?: boolean | undefined;
            options?: {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }[] | undefined;
            allowedTools?: string[] | undefined;
            executionSteps?: string[] | undefined;
            successCriteria?: string[] | undefined;
        } | undefined;
        allowedTools?: string[] | undefined;
        effort?: 2 | 1 | 3 | undefined;
        userInvocable?: boolean | undefined;
        disableModelInvocation?: boolean | undefined;
        autoTriggerConditions?: string[] | undefined;
        references?: {
            path: string;
            description: string;
            filename: string;
        }[] | undefined;
        inputRequirements?: string[] | undefined;
    }, {
        type: "skill";
        triggerPhrases: string[];
        context?: "inherit" | "fork" | undefined;
        tools?: string[] | undefined;
        outputFormat?: string | undefined;
        commandHint?: {
            model?: string | undefined;
            arguments?: {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }[] | undefined;
            template?: "utility" | "transformation" | "orchestration" | undefined;
            argumentHint?: string | undefined;
            cliDisabled?: boolean | undefined;
            executedViaSkillRunner?: boolean | undefined;
            options?: {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }[] | undefined;
            allowedTools?: string[] | undefined;
            executionSteps?: string[] | undefined;
            successCriteria?: string[] | undefined;
        } | undefined;
        allowedTools?: string[] | undefined;
        effort?: 2 | 1 | 3 | undefined;
        userInvocable?: boolean | undefined;
        disableModelInvocation?: boolean | undefined;
        autoTrigger?: boolean | undefined;
        autoTriggerConditions?: string[] | undefined;
        references?: {
            path: string;
            description: string;
            filename: string;
        }[] | undefined;
        inputRequirements?: string[] | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"hook">;
        event: z.ZodEnum<["pre-session", "post-session", "pre-command", "post-command", "pre-agent", "post-agent", "pre-write", "post-write", "pre-bash", "post-bash"]>;
        priority: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
        canModify: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        canBlock: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
        configSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "strip", z.ZodTypeAny, {
        type: "hook";
        event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
        priority: number;
        canModify: boolean;
        canBlock: boolean;
        configSchema?: Record<string, unknown> | undefined;
    }, {
        type: "hook";
        event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
        priority?: number | undefined;
        canModify?: boolean | undefined;
        canBlock?: boolean | undefined;
        configSchema?: Record<string, unknown> | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"tool">;
        category: z.ZodEnum<["core", "languages", "utilities", "custom"]>;
        executable: z.ZodString;
        verificationStatus: z.ZodOptional<z.ZodEnum<["verified", "unverified"]>>;
        lastVerified: z.ZodOptional<z.ZodString>;
        manPage: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        relatedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        platformNotes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        installHint: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "tool";
        category: "custom" | "core" | "languages" | "utilities";
        executable: string;
        aliases?: string[] | undefined;
        verificationStatus?: "verified" | "unverified" | undefined;
        lastVerified?: string | undefined;
        manPage?: string | undefined;
        relatedTools?: string[] | undefined;
        platformNotes?: Record<string, string> | undefined;
        installHint?: string | undefined;
    }, {
        type: "tool";
        category: "custom" | "core" | "languages" | "utilities";
        executable: string;
        aliases?: string[] | undefined;
        verificationStatus?: "verified" | "unverified" | undefined;
        lastVerified?: string | undefined;
        manPage?: string | undefined;
        relatedTools?: string[] | undefined;
        platformNotes?: Record<string, string> | undefined;
        installHint?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"mcp-server">;
        mcpVersion: z.ZodString;
        transport: z.ZodEnum<["stdio", "http"]>;
        port: z.ZodOptional<z.ZodNumber>;
        capabilities: z.ZodObject<{
            tools: z.ZodBoolean;
            resources: z.ZodBoolean;
            prompts: z.ZodBoolean;
            sampling: z.ZodBoolean;
            logging: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            sampling: boolean;
            tools: boolean;
            prompts: boolean;
            resources: boolean;
            logging: boolean;
        }, {
            sampling: boolean;
            tools: boolean;
            prompts: boolean;
            resources: boolean;
            logging: boolean;
        }>;
        sourceType: z.ZodEnum<["cli", "api", "catalog", "nl", "extension"]>;
        sourceCommand: z.ZodOptional<z.ZodString>;
        sourceBaseUrl: z.ZodOptional<z.ZodString>;
        workingDirectory: z.ZodOptional<z.ZodString>;
        environment: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            dangerous: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description: string;
            dangerous: boolean;
        }, {
            name: string;
            description: string;
            dangerous: boolean;
        }>, "many">>;
        resources: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: "mcp-server";
        capabilities: {
            sampling: boolean;
            tools: boolean;
            prompts: boolean;
            resources: boolean;
            logging: boolean;
        };
        mcpVersion: string;
        transport: "http" | "stdio";
        sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
        tools?: {
            name: string;
            description: string;
            dangerous: boolean;
        }[] | undefined;
        prompts?: string[] | undefined;
        port?: number | undefined;
        resources?: string[] | undefined;
        sourceCommand?: string | undefined;
        sourceBaseUrl?: string | undefined;
        workingDirectory?: string | undefined;
        environment?: Record<string, string> | undefined;
    }, {
        type: "mcp-server";
        capabilities: {
            sampling: boolean;
            tools: boolean;
            prompts: boolean;
            resources: boolean;
            logging: boolean;
        };
        mcpVersion: string;
        transport: "http" | "stdio";
        sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
        tools?: {
            name: string;
            description: string;
            dangerous: boolean;
        }[] | undefined;
        prompts?: string[] | undefined;
        port?: number | undefined;
        resources?: string[] | undefined;
        sourceCommand?: string | undefined;
        sourceBaseUrl?: string | undefined;
        workingDirectory?: string | undefined;
        environment?: Record<string, string> | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"framework">;
        domain: z.ZodString;
        includes: z.ZodObject<{
            agents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            hooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            templates: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        }, {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        }>;
        configSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        defaultConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, "strip", z.ZodTypeAny, {
        type: "framework";
        includes: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
        domain: string;
        configSchema?: Record<string, unknown> | undefined;
        defaultConfig?: Record<string, unknown> | undefined;
    }, {
        type: "framework";
        includes: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
        domain: string;
        configSchema?: Record<string, unknown> | undefined;
        defaultConfig?: Record<string, unknown> | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"addon">;
        entry: z.ZodObject<{
            agents: z.ZodOptional<z.ZodString>;
            commands: z.ZodOptional<z.ZodString>;
            skills: z.ZodOptional<z.ZodString>;
            hooks: z.ZodOptional<z.ZodString>;
            templates: z.ZodOptional<z.ZodString>;
            prompts: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            agents?: string | undefined;
            skills?: string | undefined;
            commands?: string | undefined;
            templates?: string | undefined;
            hooks?: string | undefined;
            prompts?: string | undefined;
        }, {
            agents?: string | undefined;
            skills?: string | undefined;
            commands?: string | undefined;
            templates?: string | undefined;
            hooks?: string | undefined;
            prompts?: string | undefined;
        }>;
        provides: z.ZodObject<{
            agents: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            commands: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            hooks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            templates: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            prompts: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strip", z.ZodTypeAny, {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        }, {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "addon";
        entry: {
            agents?: string | undefined;
            skills?: string | undefined;
            commands?: string | undefined;
            templates?: string | undefined;
            hooks?: string | undefined;
            prompts?: string | undefined;
        };
        provides: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
    }, {
        type: "addon";
        entry: {
            agents?: string | undefined;
            skills?: string | undefined;
            commands?: string | undefined;
            templates?: string | undefined;
            hooks?: string | undefined;
            prompts?: string | undefined;
        };
        provides: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
    }>, z.ZodObject<{
        type: z.ZodLiteral<"template">;
        format: z.ZodString;
        variables: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            type: z.ZodEnum<["string", "number", "boolean", "array", "object"]>;
            required: z.ZodBoolean;
            default: z.ZodOptional<z.ZodUnknown>;
        }, "strip", z.ZodTypeAny, {
            type: "string" | "number" | "boolean" | "object" | "array";
            required: boolean;
            name: string;
            description: string;
            default?: unknown;
        }, {
            type: "string" | "number" | "boolean" | "object" | "array";
            required: boolean;
            name: string;
            description: string;
            default?: unknown;
        }>, "many">>;
        sections: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        targetArtifact: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        format: string;
        type: "template";
        variables?: {
            type: "string" | "number" | "boolean" | "object" | "array";
            required: boolean;
            name: string;
            description: string;
            default?: unknown;
        }[] | undefined;
        sections?: string[] | undefined;
        targetArtifact?: string | undefined;
    }, {
        format: string;
        type: "template";
        variables?: {
            type: "string" | "number" | "boolean" | "object" | "array";
            required: boolean;
            name: string;
            description: string;
            default?: unknown;
        }[] | undefined;
        sections?: string[] | undefined;
        targetArtifact?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"prompt">;
        category: z.ZodString;
        purpose: z.ZodString;
        useWhen: z.ZodArray<z.ZodString, "many">;
        variables: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        requiredContext: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: "prompt";
        category: string;
        purpose: string;
        useWhen: string[];
        variables?: string[] | undefined;
        requiredContext?: string[] | undefined;
    }, {
        type: "prompt";
        category: string;
        purpose: string;
        useWhen: string[];
        variables?: string[] | undefined;
        requiredContext?: string[] | undefined;
    }>]>;
    status: z.ZodDefault<z.ZodOptional<z.ZodEnum<["stable", "beta", "experimental", "deprecated", "archived"]>>>;
    deprecation: z.ZodOptional<z.ZodObject<{
        date: z.ZodString;
        successor: z.ZodOptional<z.ZodString>;
        reason: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        reason: string;
        date: string;
        successor?: string | undefined;
    }, {
        reason: string;
        date: string;
        successor?: string | undefined;
    }>>;
    installation: z.ZodOptional<z.ZodObject<{
        installedAt: z.ZodString;
        installedFrom: z.ZodEnum<["builtin", "registry", "local", "git"]>;
        installedPath: z.ZodString;
        enabled: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        installedFrom: "local" | "builtin" | "registry" | "git";
        installedPath: string;
        enabled: boolean;
        installedAt: string;
    }, {
        installedFrom: "local" | "builtin" | "registry" | "git";
        installedPath: string;
        enabled: boolean;
        installedAt: string;
    }>>;
    checksum: z.ZodOptional<z.ZodString>;
    signature: z.ZodOptional<z.ZodObject<{
        algorithm: z.ZodEnum<["pgp", "ed25519"]>;
        value: z.ZodString;
        publicKey: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        value: string;
        algorithm: "ed25519" | "pgp";
        publicKey?: string | undefined;
    }, {
        value: string;
        algorithm: "ed25519" | "pgp";
        publicKey?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    type: "agent" | "prompt" | "command" | "skill" | "framework" | "template" | "hook" | "addon" | "tool" | "mcp-server";
    status: "deprecated" | "stable" | "archived" | "experimental" | "beta";
    id: string;
    version: string;
    name: string;
    description: string;
    metadata: {
        type: "agent";
        role: string;
        tools: string[];
        model: {
            tier: "sonnet" | "opus" | "haiku";
            override?: string | undefined;
        };
        readOnly?: boolean | undefined;
        template?: string | undefined;
        workflow?: string[] | undefined;
        maxTools?: number | undefined;
        canDelegate?: boolean | undefined;
        expertise?: string[] | undefined;
        responsibilities?: string[] | undefined;
    } | {
        type: "command";
        template: "utility" | "transformation" | "orchestration";
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
        generatedFrom?: string | undefined;
    } | {
        type: "skill";
        triggerPhrases: string[];
        autoTrigger: boolean;
        context?: "inherit" | "fork" | undefined;
        tools?: string[] | undefined;
        outputFormat?: string | undefined;
        commandHint?: {
            model?: string | undefined;
            arguments?: {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }[] | undefined;
            template?: "utility" | "transformation" | "orchestration" | undefined;
            argumentHint?: string | undefined;
            cliDisabled?: boolean | undefined;
            executedViaSkillRunner?: boolean | undefined;
            options?: {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }[] | undefined;
            allowedTools?: string[] | undefined;
            executionSteps?: string[] | undefined;
            successCriteria?: string[] | undefined;
        } | undefined;
        allowedTools?: string[] | undefined;
        effort?: 2 | 1 | 3 | undefined;
        userInvocable?: boolean | undefined;
        disableModelInvocation?: boolean | undefined;
        autoTriggerConditions?: string[] | undefined;
        references?: {
            path: string;
            description: string;
            filename: string;
        }[] | undefined;
        inputRequirements?: string[] | undefined;
    } | {
        type: "hook";
        event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
        priority: number;
        canModify: boolean;
        canBlock: boolean;
        configSchema?: Record<string, unknown> | undefined;
    } | {
        type: "tool";
        category: "custom" | "core" | "languages" | "utilities";
        executable: string;
        aliases?: string[] | undefined;
        verificationStatus?: "verified" | "unverified" | undefined;
        lastVerified?: string | undefined;
        manPage?: string | undefined;
        relatedTools?: string[] | undefined;
        platformNotes?: Record<string, string> | undefined;
        installHint?: string | undefined;
    } | {
        type: "mcp-server";
        capabilities: {
            sampling: boolean;
            tools: boolean;
            prompts: boolean;
            resources: boolean;
            logging: boolean;
        };
        mcpVersion: string;
        transport: "http" | "stdio";
        sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
        tools?: {
            name: string;
            description: string;
            dangerous: boolean;
        }[] | undefined;
        prompts?: string[] | undefined;
        port?: number | undefined;
        resources?: string[] | undefined;
        sourceCommand?: string | undefined;
        sourceBaseUrl?: string | undefined;
        workingDirectory?: string | undefined;
        environment?: Record<string, string> | undefined;
    } | {
        type: "framework";
        includes: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
        domain: string;
        configSchema?: Record<string, unknown> | undefined;
        defaultConfig?: Record<string, unknown> | undefined;
    } | {
        type: "addon";
        entry: {
            agents?: string | undefined;
            skills?: string | undefined;
            commands?: string | undefined;
            templates?: string | undefined;
            hooks?: string | undefined;
            prompts?: string | undefined;
        };
        provides: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
    } | {
        format: string;
        type: "template";
        variables?: {
            type: "string" | "number" | "boolean" | "object" | "array";
            required: boolean;
            name: string;
            description: string;
            default?: unknown;
        }[] | undefined;
        sections?: string[] | undefined;
        targetArtifact?: string | undefined;
    } | {
        type: "prompt";
        category: string;
        purpose: string;
        useWhen: string[];
        variables?: string[] | undefined;
        requiredContext?: string[] | undefined;
    };
    capabilities: string[];
    deployment: {
        core: boolean;
        pathTemplate: string;
        autoInstall: boolean;
        pathOverrides?: Record<string, string> | undefined;
        additionalFiles?: string[] | undefined;
    };
    platforms: {
        claude?: "experimental" | "full" | "partial" | "none" | undefined;
        cursor?: "experimental" | "full" | "partial" | "none" | undefined;
        factory?: "experimental" | "full" | "partial" | "none" | undefined;
        codex?: "experimental" | "full" | "partial" | "none" | undefined;
        opencode?: "experimental" | "full" | "partial" | "none" | undefined;
        windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
        copilot?: "experimental" | "full" | "partial" | "none" | undefined;
        generic?: "experimental" | "full" | "partial" | "none" | undefined;
    };
    keywords: string[];
    signature?: {
        value: string;
        algorithm: "ed25519" | "pgp";
        publicKey?: string | undefined;
    } | undefined;
    deprecation?: {
        reason: string;
        date: string;
        successor?: string | undefined;
    } | undefined;
    memory?: {
        creates?: {
            path: string;
            description: string;
        }[] | undefined;
        normalizedFiles?: {
            path: string;
            description: string;
        }[] | undefined;
    } | undefined;
    documentation?: Record<string, string> | undefined;
    category?: string | undefined;
    author?: string | undefined;
    license?: string | undefined;
    requires?: string[] | undefined;
    recommends?: string[] | undefined;
    conflicts?: string[] | undefined;
    systemDependencies?: Record<string, string> | undefined;
    repository?: string | undefined;
    homepage?: string | undefined;
    bugs?: string | undefined;
    researchCompliance?: Record<string, string[]> | undefined;
    installation?: {
        installedFrom: "local" | "builtin" | "registry" | "git";
        installedPath: string;
        enabled: boolean;
        installedAt: string;
    } | undefined;
    checksum?: string | undefined;
}, {
    type: "agent" | "prompt" | "command" | "skill" | "framework" | "template" | "hook" | "addon" | "tool" | "mcp-server";
    id: string;
    version: string;
    name: string;
    description: string;
    metadata: {
        type: "agent";
        role: string;
        tools: string[];
        model: {
            tier: "sonnet" | "opus" | "haiku";
            override?: string | undefined;
        };
        readOnly?: boolean | undefined;
        template?: string | undefined;
        workflow?: string[] | undefined;
        maxTools?: number | undefined;
        canDelegate?: boolean | undefined;
        expertise?: string[] | undefined;
        responsibilities?: string[] | undefined;
    } | {
        type: "command";
        template: "utility" | "transformation" | "orchestration";
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
        generatedFrom?: string | undefined;
    } | {
        type: "skill";
        triggerPhrases: string[];
        context?: "inherit" | "fork" | undefined;
        tools?: string[] | undefined;
        outputFormat?: string | undefined;
        commandHint?: {
            model?: string | undefined;
            arguments?: {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }[] | undefined;
            template?: "utility" | "transformation" | "orchestration" | undefined;
            argumentHint?: string | undefined;
            cliDisabled?: boolean | undefined;
            executedViaSkillRunner?: boolean | undefined;
            options?: {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }[] | undefined;
            allowedTools?: string[] | undefined;
            executionSteps?: string[] | undefined;
            successCriteria?: string[] | undefined;
        } | undefined;
        allowedTools?: string[] | undefined;
        effort?: 2 | 1 | 3 | undefined;
        userInvocable?: boolean | undefined;
        disableModelInvocation?: boolean | undefined;
        autoTrigger?: boolean | undefined;
        autoTriggerConditions?: string[] | undefined;
        references?: {
            path: string;
            description: string;
            filename: string;
        }[] | undefined;
        inputRequirements?: string[] | undefined;
    } | {
        type: "hook";
        event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
        priority?: number | undefined;
        canModify?: boolean | undefined;
        canBlock?: boolean | undefined;
        configSchema?: Record<string, unknown> | undefined;
    } | {
        type: "tool";
        category: "custom" | "core" | "languages" | "utilities";
        executable: string;
        aliases?: string[] | undefined;
        verificationStatus?: "verified" | "unverified" | undefined;
        lastVerified?: string | undefined;
        manPage?: string | undefined;
        relatedTools?: string[] | undefined;
        platformNotes?: Record<string, string> | undefined;
        installHint?: string | undefined;
    } | {
        type: "mcp-server";
        capabilities: {
            sampling: boolean;
            tools: boolean;
            prompts: boolean;
            resources: boolean;
            logging: boolean;
        };
        mcpVersion: string;
        transport: "http" | "stdio";
        sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
        tools?: {
            name: string;
            description: string;
            dangerous: boolean;
        }[] | undefined;
        prompts?: string[] | undefined;
        port?: number | undefined;
        resources?: string[] | undefined;
        sourceCommand?: string | undefined;
        sourceBaseUrl?: string | undefined;
        workingDirectory?: string | undefined;
        environment?: Record<string, string> | undefined;
    } | {
        type: "framework";
        includes: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
        domain: string;
        configSchema?: Record<string, unknown> | undefined;
        defaultConfig?: Record<string, unknown> | undefined;
    } | {
        type: "addon";
        entry: {
            agents?: string | undefined;
            skills?: string | undefined;
            commands?: string | undefined;
            templates?: string | undefined;
            hooks?: string | undefined;
            prompts?: string | undefined;
        };
        provides: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
    } | {
        format: string;
        type: "template";
        variables?: {
            type: "string" | "number" | "boolean" | "object" | "array";
            required: boolean;
            name: string;
            description: string;
            default?: unknown;
        }[] | undefined;
        sections?: string[] | undefined;
        targetArtifact?: string | undefined;
    } | {
        type: "prompt";
        category: string;
        purpose: string;
        useWhen: string[];
        variables?: string[] | undefined;
        requiredContext?: string[] | undefined;
    };
    capabilities: string[];
    deployment: {
        pathTemplate: string;
        core?: boolean | undefined;
        pathOverrides?: Record<string, string> | undefined;
        additionalFiles?: string[] | undefined;
        autoInstall?: boolean | undefined;
    };
    platforms: {
        claude?: "experimental" | "full" | "partial" | "none" | undefined;
        cursor?: "experimental" | "full" | "partial" | "none" | undefined;
        factory?: "experimental" | "full" | "partial" | "none" | undefined;
        codex?: "experimental" | "full" | "partial" | "none" | undefined;
        opencode?: "experimental" | "full" | "partial" | "none" | undefined;
        windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
        copilot?: "experimental" | "full" | "partial" | "none" | undefined;
        generic?: "experimental" | "full" | "partial" | "none" | undefined;
    };
    keywords: string[];
    signature?: {
        value: string;
        algorithm: "ed25519" | "pgp";
        publicKey?: string | undefined;
    } | undefined;
    status?: "deprecated" | "stable" | "archived" | "experimental" | "beta" | undefined;
    deprecation?: {
        reason: string;
        date: string;
        successor?: string | undefined;
    } | undefined;
    memory?: {
        creates?: {
            path: string;
            description: string;
        }[] | undefined;
        normalizedFiles?: {
            path: string;
            description: string;
        }[] | undefined;
    } | undefined;
    documentation?: Record<string, string> | undefined;
    category?: string | undefined;
    author?: string | undefined;
    license?: string | undefined;
    requires?: string[] | undefined;
    recommends?: string[] | undefined;
    conflicts?: string[] | undefined;
    systemDependencies?: Record<string, string> | undefined;
    repository?: string | undefined;
    homepage?: string | undefined;
    bugs?: string | undefined;
    researchCompliance?: Record<string, string[]> | undefined;
    installation?: {
        installedFrom: "local" | "builtin" | "registry" | "git";
        installedPath: string;
        enabled: boolean;
        installedAt: string;
    } | undefined;
    checksum?: string | undefined;
}>, {
    type: "agent" | "prompt" | "command" | "skill" | "framework" | "template" | "hook" | "addon" | "tool" | "mcp-server";
    status: "deprecated" | "stable" | "archived" | "experimental" | "beta";
    id: string;
    version: string;
    name: string;
    description: string;
    metadata: {
        type: "agent";
        role: string;
        tools: string[];
        model: {
            tier: "sonnet" | "opus" | "haiku";
            override?: string | undefined;
        };
        readOnly?: boolean | undefined;
        template?: string | undefined;
        workflow?: string[] | undefined;
        maxTools?: number | undefined;
        canDelegate?: boolean | undefined;
        expertise?: string[] | undefined;
        responsibilities?: string[] | undefined;
    } | {
        type: "command";
        template: "utility" | "transformation" | "orchestration";
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
        generatedFrom?: string | undefined;
    } | {
        type: "skill";
        triggerPhrases: string[];
        autoTrigger: boolean;
        context?: "inherit" | "fork" | undefined;
        tools?: string[] | undefined;
        outputFormat?: string | undefined;
        commandHint?: {
            model?: string | undefined;
            arguments?: {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }[] | undefined;
            template?: "utility" | "transformation" | "orchestration" | undefined;
            argumentHint?: string | undefined;
            cliDisabled?: boolean | undefined;
            executedViaSkillRunner?: boolean | undefined;
            options?: {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }[] | undefined;
            allowedTools?: string[] | undefined;
            executionSteps?: string[] | undefined;
            successCriteria?: string[] | undefined;
        } | undefined;
        allowedTools?: string[] | undefined;
        effort?: 2 | 1 | 3 | undefined;
        userInvocable?: boolean | undefined;
        disableModelInvocation?: boolean | undefined;
        autoTriggerConditions?: string[] | undefined;
        references?: {
            path: string;
            description: string;
            filename: string;
        }[] | undefined;
        inputRequirements?: string[] | undefined;
    } | {
        type: "hook";
        event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
        priority: number;
        canModify: boolean;
        canBlock: boolean;
        configSchema?: Record<string, unknown> | undefined;
    } | {
        type: "tool";
        category: "custom" | "core" | "languages" | "utilities";
        executable: string;
        aliases?: string[] | undefined;
        verificationStatus?: "verified" | "unverified" | undefined;
        lastVerified?: string | undefined;
        manPage?: string | undefined;
        relatedTools?: string[] | undefined;
        platformNotes?: Record<string, string> | undefined;
        installHint?: string | undefined;
    } | {
        type: "mcp-server";
        capabilities: {
            sampling: boolean;
            tools: boolean;
            prompts: boolean;
            resources: boolean;
            logging: boolean;
        };
        mcpVersion: string;
        transport: "http" | "stdio";
        sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
        tools?: {
            name: string;
            description: string;
            dangerous: boolean;
        }[] | undefined;
        prompts?: string[] | undefined;
        port?: number | undefined;
        resources?: string[] | undefined;
        sourceCommand?: string | undefined;
        sourceBaseUrl?: string | undefined;
        workingDirectory?: string | undefined;
        environment?: Record<string, string> | undefined;
    } | {
        type: "framework";
        includes: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
        domain: string;
        configSchema?: Record<string, unknown> | undefined;
        defaultConfig?: Record<string, unknown> | undefined;
    } | {
        type: "addon";
        entry: {
            agents?: string | undefined;
            skills?: string | undefined;
            commands?: string | undefined;
            templates?: string | undefined;
            hooks?: string | undefined;
            prompts?: string | undefined;
        };
        provides: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
    } | {
        format: string;
        type: "template";
        variables?: {
            type: "string" | "number" | "boolean" | "object" | "array";
            required: boolean;
            name: string;
            description: string;
            default?: unknown;
        }[] | undefined;
        sections?: string[] | undefined;
        targetArtifact?: string | undefined;
    } | {
        type: "prompt";
        category: string;
        purpose: string;
        useWhen: string[];
        variables?: string[] | undefined;
        requiredContext?: string[] | undefined;
    };
    capabilities: string[];
    deployment: {
        core: boolean;
        pathTemplate: string;
        autoInstall: boolean;
        pathOverrides?: Record<string, string> | undefined;
        additionalFiles?: string[] | undefined;
    };
    platforms: {
        claude?: "experimental" | "full" | "partial" | "none" | undefined;
        cursor?: "experimental" | "full" | "partial" | "none" | undefined;
        factory?: "experimental" | "full" | "partial" | "none" | undefined;
        codex?: "experimental" | "full" | "partial" | "none" | undefined;
        opencode?: "experimental" | "full" | "partial" | "none" | undefined;
        windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
        copilot?: "experimental" | "full" | "partial" | "none" | undefined;
        generic?: "experimental" | "full" | "partial" | "none" | undefined;
    };
    keywords: string[];
    signature?: {
        value: string;
        algorithm: "ed25519" | "pgp";
        publicKey?: string | undefined;
    } | undefined;
    deprecation?: {
        reason: string;
        date: string;
        successor?: string | undefined;
    } | undefined;
    memory?: {
        creates?: {
            path: string;
            description: string;
        }[] | undefined;
        normalizedFiles?: {
            path: string;
            description: string;
        }[] | undefined;
    } | undefined;
    documentation?: Record<string, string> | undefined;
    category?: string | undefined;
    author?: string | undefined;
    license?: string | undefined;
    requires?: string[] | undefined;
    recommends?: string[] | undefined;
    conflicts?: string[] | undefined;
    systemDependencies?: Record<string, string> | undefined;
    repository?: string | undefined;
    homepage?: string | undefined;
    bugs?: string | undefined;
    researchCompliance?: Record<string, string[]> | undefined;
    installation?: {
        installedFrom: "local" | "builtin" | "registry" | "git";
        installedPath: string;
        enabled: boolean;
        installedAt: string;
    } | undefined;
    checksum?: string | undefined;
}, {
    type: "agent" | "prompt" | "command" | "skill" | "framework" | "template" | "hook" | "addon" | "tool" | "mcp-server";
    id: string;
    version: string;
    name: string;
    description: string;
    metadata: {
        type: "agent";
        role: string;
        tools: string[];
        model: {
            tier: "sonnet" | "opus" | "haiku";
            override?: string | undefined;
        };
        readOnly?: boolean | undefined;
        template?: string | undefined;
        workflow?: string[] | undefined;
        maxTools?: number | undefined;
        canDelegate?: boolean | undefined;
        expertise?: string[] | undefined;
        responsibilities?: string[] | undefined;
    } | {
        type: "command";
        template: "utility" | "transformation" | "orchestration";
        model?: string | undefined;
        arguments?: {
            type: "string" | "number" | "boolean";
            required: boolean;
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            position?: number | undefined;
        }[] | undefined;
        argumentHint?: string | undefined;
        cliDisabled?: boolean | undefined;
        executedViaSkillRunner?: boolean | undefined;
        options?: {
            type: "string" | "number" | "boolean" | "array";
            name: string;
            description: string;
            default?: string | number | boolean | undefined;
            short?: string | undefined;
            long?: string | undefined;
        }[] | undefined;
        allowedTools?: string[] | undefined;
        executionSteps?: string[] | undefined;
        successCriteria?: string[] | undefined;
        generatedFrom?: string | undefined;
    } | {
        type: "skill";
        triggerPhrases: string[];
        context?: "inherit" | "fork" | undefined;
        tools?: string[] | undefined;
        outputFormat?: string | undefined;
        commandHint?: {
            model?: string | undefined;
            arguments?: {
                type: "string" | "number" | "boolean";
                required: boolean;
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                position?: number | undefined;
            }[] | undefined;
            template?: "utility" | "transformation" | "orchestration" | undefined;
            argumentHint?: string | undefined;
            cliDisabled?: boolean | undefined;
            executedViaSkillRunner?: boolean | undefined;
            options?: {
                type: "string" | "number" | "boolean" | "array";
                name: string;
                description: string;
                default?: string | number | boolean | undefined;
                short?: string | undefined;
                long?: string | undefined;
            }[] | undefined;
            allowedTools?: string[] | undefined;
            executionSteps?: string[] | undefined;
            successCriteria?: string[] | undefined;
        } | undefined;
        allowedTools?: string[] | undefined;
        effort?: 2 | 1 | 3 | undefined;
        userInvocable?: boolean | undefined;
        disableModelInvocation?: boolean | undefined;
        autoTrigger?: boolean | undefined;
        autoTriggerConditions?: string[] | undefined;
        references?: {
            path: string;
            description: string;
            filename: string;
        }[] | undefined;
        inputRequirements?: string[] | undefined;
    } | {
        type: "hook";
        event: "pre-session" | "post-session" | "pre-command" | "post-command" | "pre-agent" | "post-agent" | "pre-write" | "post-write" | "pre-bash" | "post-bash";
        priority?: number | undefined;
        canModify?: boolean | undefined;
        canBlock?: boolean | undefined;
        configSchema?: Record<string, unknown> | undefined;
    } | {
        type: "tool";
        category: "custom" | "core" | "languages" | "utilities";
        executable: string;
        aliases?: string[] | undefined;
        verificationStatus?: "verified" | "unverified" | undefined;
        lastVerified?: string | undefined;
        manPage?: string | undefined;
        relatedTools?: string[] | undefined;
        platformNotes?: Record<string, string> | undefined;
        installHint?: string | undefined;
    } | {
        type: "mcp-server";
        capabilities: {
            sampling: boolean;
            tools: boolean;
            prompts: boolean;
            resources: boolean;
            logging: boolean;
        };
        mcpVersion: string;
        transport: "http" | "stdio";
        sourceType: "cli" | "extension" | "api" | "catalog" | "nl";
        tools?: {
            name: string;
            description: string;
            dangerous: boolean;
        }[] | undefined;
        prompts?: string[] | undefined;
        port?: number | undefined;
        resources?: string[] | undefined;
        sourceCommand?: string | undefined;
        sourceBaseUrl?: string | undefined;
        workingDirectory?: string | undefined;
        environment?: Record<string, string> | undefined;
    } | {
        type: "framework";
        includes: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
        domain: string;
        configSchema?: Record<string, unknown> | undefined;
        defaultConfig?: Record<string, unknown> | undefined;
    } | {
        type: "addon";
        entry: {
            agents?: string | undefined;
            skills?: string | undefined;
            commands?: string | undefined;
            templates?: string | undefined;
            hooks?: string | undefined;
            prompts?: string | undefined;
        };
        provides: {
            agents?: string[] | undefined;
            skills?: string[] | undefined;
            commands?: string[] | undefined;
            templates?: string[] | undefined;
            hooks?: string[] | undefined;
            prompts?: string[] | undefined;
        };
    } | {
        format: string;
        type: "template";
        variables?: {
            type: "string" | "number" | "boolean" | "object" | "array";
            required: boolean;
            name: string;
            description: string;
            default?: unknown;
        }[] | undefined;
        sections?: string[] | undefined;
        targetArtifact?: string | undefined;
    } | {
        type: "prompt";
        category: string;
        purpose: string;
        useWhen: string[];
        variables?: string[] | undefined;
        requiredContext?: string[] | undefined;
    };
    capabilities: string[];
    deployment: {
        pathTemplate: string;
        core?: boolean | undefined;
        pathOverrides?: Record<string, string> | undefined;
        additionalFiles?: string[] | undefined;
        autoInstall?: boolean | undefined;
    };
    platforms: {
        claude?: "experimental" | "full" | "partial" | "none" | undefined;
        cursor?: "experimental" | "full" | "partial" | "none" | undefined;
        factory?: "experimental" | "full" | "partial" | "none" | undefined;
        codex?: "experimental" | "full" | "partial" | "none" | undefined;
        opencode?: "experimental" | "full" | "partial" | "none" | undefined;
        windsurf?: "experimental" | "full" | "partial" | "none" | undefined;
        copilot?: "experimental" | "full" | "partial" | "none" | undefined;
        generic?: "experimental" | "full" | "partial" | "none" | undefined;
    };
    keywords: string[];
    signature?: {
        value: string;
        algorithm: "ed25519" | "pgp";
        publicKey?: string | undefined;
    } | undefined;
    status?: "deprecated" | "stable" | "archived" | "experimental" | "beta" | undefined;
    deprecation?: {
        reason: string;
        date: string;
        successor?: string | undefined;
    } | undefined;
    memory?: {
        creates?: {
            path: string;
            description: string;
        }[] | undefined;
        normalizedFiles?: {
            path: string;
            description: string;
        }[] | undefined;
    } | undefined;
    documentation?: Record<string, string> | undefined;
    category?: string | undefined;
    author?: string | undefined;
    license?: string | undefined;
    requires?: string[] | undefined;
    recommends?: string[] | undefined;
    conflicts?: string[] | undefined;
    systemDependencies?: Record<string, string> | undefined;
    repository?: string | undefined;
    homepage?: string | undefined;
    bugs?: string | undefined;
    researchCompliance?: Record<string, string[]> | undefined;
    installation?: {
        installedFrom: "local" | "builtin" | "registry" | "git";
        installedPath: string;
        enabled: boolean;
        installedAt: string;
    } | undefined;
    checksum?: string | undefined;
}>;
/**
 * Inferred Extension type from schema
 */
export type ValidatedExtension = z.infer<typeof ExtensionSchema>;
/**
 * Inferred metadata types
 */
export type ValidatedAgentMetadata = z.infer<typeof AgentMetadataSchema>;
export type ValidatedCommandMetadata = z.infer<typeof CommandMetadataSchema>;
export type ValidatedSkillMetadata = z.infer<typeof SkillMetadataSchema>;
export type ValidatedHookMetadata = z.infer<typeof HookMetadataSchema>;
export type ValidatedToolMetadata = z.infer<typeof ToolMetadataSchema>;
export type ValidatedMCPServerMetadata = z.infer<typeof MCPServerMetadataSchema>;
export type ValidatedFrameworkMetadata = z.infer<typeof FrameworkMetadataSchema>;
export type ValidatedAddonMetadata = z.infer<typeof AddonMetadataSchema>;
export type ValidatedTemplateMetadata = z.infer<typeof TemplateMetadataSchema>;
export type ValidatedPromptMetadata = z.infer<typeof PromptMetadataSchema>;
/**
 * Validation result for successful validations
 */
export interface ValidationSuccess {
    success: true;
    data: ValidatedExtension;
}
/**
 * Validation result for failed validations
 */
export interface ValidationFailure {
    success: false;
    errors: z.ZodError;
}
/**
 * Combined validation result type
 */
export type ValidationResult = ValidationSuccess | ValidationFailure;
/**
 * Validate an extension manifest
 *
 * @param data - Unknown data to validate
 * @returns Validation result with typed data or errors
 *
 * @example
 * ```typescript
 * const result = validateExtension(data);
 * if (result.success) {
 *   console.log('Valid extension:', result.data.name);
 * } else {
 *   console.error('Validation errors:', result.errors.format());
 * }
 * ```
 */
export declare function validateExtension(data: unknown): ValidationResult;
/**
 * Type guard to check if data is a valid extension
 *
 * @param data - Unknown data to check
 * @returns True if data is a valid extension
 *
 * @example
 * ```typescript
 * if (isValidExtension(data)) {
 *   // TypeScript knows data is ValidatedExtension here
 *   console.log(data.name);
 * }
 * ```
 */
export declare function isValidExtension(data: unknown): data is ValidatedExtension;
/**
 * Validate and throw on error
 *
 * Use this when you want validation errors to propagate as exceptions.
 *
 * @param data - Unknown data to validate
 * @returns Validated extension data
 * @throws {z.ZodError} If validation fails
 *
 * @example
 * ```typescript
 * try {
 *   const extension = validateExtensionStrict(data);
 *   console.log('Valid extension:', extension.name);
 * } catch (error) {
 *   if (error instanceof z.ZodError) {
 *     console.error('Validation failed:', error.format());
 *   }
 * }
 * ```
 */
export declare function validateExtensionStrict(data: unknown): ValidatedExtension;
/**
 * Validate extension metadata only
 *
 * Useful for validating type-specific metadata in isolation.
 *
 * @param data - Unknown metadata to validate
 * @returns Validation result
 */
export declare function validateExtensionMetadata(data: unknown): {
    success: boolean;
    data?: z.infer<typeof ExtensionMetadataSchema>;
    errors?: z.ZodError;
};
/**
 * Format validation errors for display
 *
 * Converts Zod errors into human-readable messages.
 *
 * @param errors - Zod validation errors
 * @returns Formatted error messages
 *
 * @example
 * ```typescript
 * const result = validateExtension(data);
 * if (!result.success) {
 *   const messages = formatValidationErrors(result.errors);
 *   console.error('Validation failed:\n' + messages.join('\n'));
 * }
 * ```
 */
export declare function formatValidationErrors(errors: z.ZodError): string[];
/**
 * Check if extension matches expected type
 *
 * Type-safe way to validate extension type before accessing type-specific fields.
 *
 * @param extension - Validated extension
 * @param type - Expected extension type
 * @returns True if extension matches type
 *
 * @example
 * ```typescript
 * if (isExtensionType(extension, 'agent')) {
 *   // TypeScript narrows metadata to AgentMetadata
 *   console.log(extension.metadata.role);
 * }
 * ```
 */
export declare function isExtensionType<T extends ExtensionType>(extension: ValidatedExtension, type: T): boolean;
//# sourceMappingURL=validation.d.ts.map