import { z } from 'zod';
type Plugin = (params: any) => Promise<any>;
export declare const DROID_SCHEMA: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    model: z.ZodDefault<z.ZodEnum<["inherit", "dedicated"]>>;
    coordination: z.ZodOptional<z.ZodObject<{
        channels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        claims: z.ZodOptional<z.ZodArray<z.ZodEnum<["exclusive", "shared"]>, "many">>;
        batches_deploy: z.ZodDefault<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        batches_deploy: boolean;
        claims?: ("exclusive" | "shared")[] | undefined;
        channels?: string[] | undefined;
    }, {
        claims?: ("exclusive" | "shared")[] | undefined;
        channels?: string[] | undefined;
        batches_deploy?: boolean | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    description: string;
    model: "inherit" | "dedicated";
    coordination?: {
        batches_deploy: boolean;
        claims?: ("exclusive" | "shared")[] | undefined;
        channels?: string[] | undefined;
    } | undefined;
}, {
    name: string;
    description: string;
    model?: "inherit" | "dedicated" | undefined;
    coordination?: {
        claims?: ("exclusive" | "shared")[] | undefined;
        channels?: string[] | undefined;
        batches_deploy?: boolean | undefined;
    } | undefined;
}>;
interface DroidMeta {
    name: string;
    description: string;
    model: string;
    path: string;
    channels?: Array<string>;
}
export declare function discoverDroids(projectDir: string): Promise<DroidMeta[]>;
export { validateDecoderFirst as validateDecoderFirstFull } from './tasks/decoder-gate.js';
interface ValidationResult {
    valid: boolean;
    errors?: string[];
}
export declare function validateDecoderFirst(droidName: string, taskContext?: {
    availableTools?: string[];
}): Promise<ValidationResult>;
interface WorktreeResult {
    exists: boolean;
    branch?: string;
}
export declare function ensureWorktree(droidName: string): Promise<WorktreeResult>;
export declare const UAPDroidsStrict: Plugin;
//# sourceMappingURL=uap-droids-strict.d.ts.map