import { z } from 'zod';
import type { ExampleDocumentation, ExampleEntrypoints, ExampleMeta, ExampleSpec, ExampleSurfaces } from './types';
export declare const ExampleKindSchema: z.ZodEnum<{
    ui: "ui";
    integration: "integration";
    workflow: "workflow";
    knowledge: "knowledge";
    template: "template";
    blueprint: "blueprint";
    script: "script";
    library: "library";
}>;
export declare const ExampleVisibilitySchema: z.ZodEnum<{
    experimental: "experimental";
    public: "public";
    internal: "internal";
}>;
export declare const ExampleSandboxModeSchema: z.ZodEnum<{
    markdown: "markdown";
    playground: "playground";
    specs: "specs";
    builder: "builder";
    evolution: "evolution";
}>;
export declare const StabilitySchema: z.ZodEnum<{
    idea: "idea";
    in_creation: "in_creation";
    experimental: "experimental";
    beta: "beta";
    stable: "stable";
    deprecated: "deprecated";
}>;
export declare const ExampleDocumentationSchema: z.ZodObject<{
    rootDocId: z.ZodOptional<z.ZodString>;
    goalDocId: z.ZodOptional<z.ZodString>;
    usageDocId: z.ZodOptional<z.ZodString>;
    referenceDocId: z.ZodOptional<z.ZodString>;
    constraintsDocId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const ExampleSandboxSupportSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
    modes: z.ZodArray<z.ZodEnum<{
        markdown: "markdown";
        playground: "playground";
        specs: "specs";
        builder: "builder";
        evolution: "evolution";
    }>>;
}, z.core.$strip>;
export declare const ExampleStudioSupportSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
    installable: z.ZodBoolean;
}, z.core.$strip>;
export declare const ExampleMcpSupportSchema: z.ZodObject<{
    enabled: z.ZodBoolean;
}, z.core.$strip>;
export declare const ExampleSurfacesSchema: z.ZodObject<{
    templates: z.ZodBoolean;
    sandbox: z.ZodObject<{
        enabled: z.ZodBoolean;
        modes: z.ZodArray<z.ZodEnum<{
            markdown: "markdown";
            playground: "playground";
            specs: "specs";
            builder: "builder";
            evolution: "evolution";
        }>>;
    }, z.core.$strip>;
    studio: z.ZodObject<{
        enabled: z.ZodBoolean;
        installable: z.ZodBoolean;
    }, z.core.$strip>;
    mcp: z.ZodObject<{
        enabled: z.ZodBoolean;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare const ExampleEntrypointsSchema: z.ZodObject<{
    packageName: z.ZodString;
    feature: z.ZodOptional<z.ZodString>;
    blueprint: z.ZodOptional<z.ZodString>;
    presentations: z.ZodOptional<z.ZodString>;
    contracts: z.ZodOptional<z.ZodString>;
    handlers: z.ZodOptional<z.ZodString>;
    ui: z.ZodOptional<z.ZodString>;
    docs: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const ExampleMetaSchema: z.ZodObject<{
    version: z.ZodString;
    key: z.ZodString;
    title: z.ZodOptional<z.ZodString>;
    description: z.ZodString;
    domain: z.ZodOptional<z.ZodString>;
    stability: z.ZodEnum<{
        idea: "idea";
        in_creation: "in_creation";
        experimental: "experimental";
        beta: "beta";
        stable: "stable";
        deprecated: "deprecated";
    }>;
    owners: z.ZodArray<z.ZodString>;
    tags: z.ZodArray<z.ZodString>;
    docId: z.ZodOptional<z.ZodArray<z.ZodString>>;
    kind: z.ZodEnum<{
        ui: "ui";
        integration: "integration";
        workflow: "workflow";
        knowledge: "knowledge";
        template: "template";
        blueprint: "blueprint";
        script: "script";
        library: "library";
    }>;
    visibility: z.ZodEnum<{
        experimental: "experimental";
        public: "public";
        internal: "internal";
    }>;
    summary: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const SpecPointerSchema: z.ZodObject<{
    key: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const FeatureRefSchema: z.ZodObject<{
    key: z.ZodString;
}, z.core.$strip>;
/**
 * Zod schema for validating ExampleSpec objects.
 *
 * Note: blueprint and features are loosely validated since they can be
 * inline specs or references. Full validation requires registry lookups.
 */
export declare const ExampleSpecSchema: z.ZodObject<{
    meta: z.ZodObject<{
        version: z.ZodString;
        key: z.ZodString;
        title: z.ZodOptional<z.ZodString>;
        description: z.ZodString;
        domain: z.ZodOptional<z.ZodString>;
        stability: z.ZodEnum<{
            idea: "idea";
            in_creation: "in_creation";
            experimental: "experimental";
            beta: "beta";
            stable: "stable";
            deprecated: "deprecated";
        }>;
        owners: z.ZodArray<z.ZodString>;
        tags: z.ZodArray<z.ZodString>;
        docId: z.ZodOptional<z.ZodArray<z.ZodString>>;
        kind: z.ZodEnum<{
            ui: "ui";
            integration: "integration";
            workflow: "workflow";
            knowledge: "knowledge";
            template: "template";
            blueprint: "blueprint";
            script: "script";
            library: "library";
        }>;
        visibility: z.ZodEnum<{
            experimental: "experimental";
            public: "public";
            internal: "internal";
        }>;
        summary: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    docs: z.ZodOptional<z.ZodObject<{
        rootDocId: z.ZodOptional<z.ZodString>;
        goalDocId: z.ZodOptional<z.ZodString>;
        usageDocId: z.ZodOptional<z.ZodString>;
        referenceDocId: z.ZodOptional<z.ZodString>;
        constraintsDocId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    surfaces: z.ZodObject<{
        templates: z.ZodBoolean;
        sandbox: z.ZodObject<{
            enabled: z.ZodBoolean;
            modes: z.ZodArray<z.ZodEnum<{
                markdown: "markdown";
                playground: "playground";
                specs: "specs";
                builder: "builder";
                evolution: "evolution";
            }>>;
        }, z.core.$strip>;
        studio: z.ZodObject<{
            enabled: z.ZodBoolean;
            installable: z.ZodBoolean;
        }, z.core.$strip>;
        mcp: z.ZodObject<{
            enabled: z.ZodBoolean;
        }, z.core.$strip>;
    }, z.core.$strip>;
    entrypoints: z.ZodObject<{
        packageName: z.ZodString;
        feature: z.ZodOptional<z.ZodString>;
        blueprint: z.ZodOptional<z.ZodString>;
        presentations: z.ZodOptional<z.ZodString>;
        contracts: z.ZodOptional<z.ZodString>;
        handlers: z.ZodOptional<z.ZodString>;
        ui: z.ZodOptional<z.ZodString>;
        docs: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    blueprint: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodObject<{
        key: z.ZodString;
        version: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>]>>;
    features: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodObject<{
        key: z.ZodString;
    }, z.core.$strip>]>>>;
}, z.core.$strip>;
/** Parse and validate an ExampleSpec, throwing on failure */
export declare function parseExampleSpec(data: unknown): ExampleSpec;
/** Safely parse an ExampleSpec, returning result object */
export declare function safeParseExampleSpec(data: unknown): z.ZodSafeParseResult<{
    meta: {
        version: string;
        key: string;
        description: string;
        stability: "idea" | "in_creation" | "experimental" | "beta" | "stable" | "deprecated";
        owners: string[];
        tags: string[];
        kind: "ui" | "integration" | "workflow" | "knowledge" | "template" | "blueprint" | "script" | "library";
        visibility: "experimental" | "public" | "internal";
        title?: string | undefined;
        domain?: string | undefined;
        docId?: string[] | undefined;
        summary?: string | undefined;
    };
    surfaces: {
        templates: boolean;
        sandbox: {
            enabled: boolean;
            modes: ("markdown" | "playground" | "specs" | "builder" | "evolution")[];
        };
        studio: {
            enabled: boolean;
            installable: boolean;
        };
        mcp: {
            enabled: boolean;
        };
    };
    entrypoints: {
        packageName: string;
        feature?: string | undefined;
        blueprint?: string | undefined;
        presentations?: string | undefined;
        contracts?: string | undefined;
        handlers?: string | undefined;
        ui?: string | undefined;
        docs?: string | undefined;
    };
    docs?: {
        rootDocId?: string | undefined;
        goalDocId?: string | undefined;
        usageDocId?: string | undefined;
        referenceDocId?: string | undefined;
        constraintsDocId?: string | undefined;
    } | undefined;
    blueprint?: Record<string, unknown> | {
        key: string;
        version?: string | undefined;
    } | undefined;
    features?: (Record<string, unknown> | {
        key: string;
    })[] | undefined;
}>;
/** Parse and validate ExampleMeta */
export declare function parseExampleMeta(data: unknown): ExampleMeta;
/** Parse and validate ExampleSurfaces */
export declare function parseExampleSurfaces(data: unknown): ExampleSurfaces;
/** Parse and validate ExampleEntrypoints */
export declare function parseExampleEntrypoints(data: unknown): ExampleEntrypoints;
/** Parse and validate ExampleDocumentation */
export declare function parseExampleDocumentation(data: unknown): ExampleDocumentation;
