import { z } from 'zod';
declare const AuthorSchema: z.ZodObject<{
    name: z.ZodString;
    email: z.ZodOptional<z.ZodString>;
    url: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
export declare const PluginManifestSchema: z.ZodObject<{
    name: z.ZodString;
    version: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    author: z.ZodOptional<z.ZodObject<{
        name: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
    homepage: z.ZodOptional<z.ZodString>;
    repository: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
        type: z.ZodOptional<z.ZodString>;
        url: z.ZodString;
        directory: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>]>>;
    license: z.ZodOptional<z.ZodString>;
    keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
    skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
    agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
    commands: z.ZodOptional<z.ZodArray<z.ZodString>>;
    mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    outputStyles: z.ZodOptional<z.ZodArray<z.ZodString>>;
    lspServers: z.ZodOptional<z.ZodArray<z.ZodString>>;
    monitors: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>;
export type PluginManifest = z.infer<typeof PluginManifestSchema>;
export type PluginAuthor = z.infer<typeof AuthorSchema>;
/** Validator — returns discriminated { success: true, data } | { success: false, error } */
export declare function validatePluginManifest(data: unknown): z.ZodSafeParseResult<{
    name: string;
    version: string;
    description?: string | undefined;
    author?: {
        name: string;
        email?: string | undefined;
        url?: string | undefined;
    } | undefined;
    homepage?: string | undefined;
    repository?: string | {
        url: string;
        type?: string | undefined;
        directory?: string | undefined;
    } | undefined;
    license?: string | undefined;
    keywords?: string[] | undefined;
    skills?: string[] | undefined;
    agents?: string[] | undefined;
    commands?: string[] | undefined;
    mcpServers?: Record<string, unknown> | undefined;
    outputStyles?: string[] | undefined;
    lspServers?: string[] | undefined;
    monitors?: string[] | undefined;
}>;
/** Pre-computed JSON Schema for external validators / CI hooks. */
export declare const pluginManifestJsonSchema: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
    name: z.ZodString;
    version: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    author: z.ZodOptional<z.ZodObject<{
        name: z.ZodString;
        email: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>>;
    homepage: z.ZodOptional<z.ZodString>;
    repository: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
        type: z.ZodOptional<z.ZodString>;
        url: z.ZodString;
        directory: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>]>>;
    license: z.ZodOptional<z.ZodString>;
    keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
    skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
    agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
    commands: z.ZodOptional<z.ZodArray<z.ZodString>>;
    mcpServers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    outputStyles: z.ZodOptional<z.ZodArray<z.ZodString>>;
    lspServers: z.ZodOptional<z.ZodArray<z.ZodString>>;
    monitors: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>>;
export {};
//# sourceMappingURL=plugin-manifest.d.ts.map