import { z } from "zod";
import type { AgentReasoningDefinition, AgentStaticModelDefinition } from "#public/index.js";
import type { GitHubCredentialProvider, SelfModificationAuthorization } from "../config.js";
export declare const selfModificationConfigSchema: z.ZodObject<{
    model: z.ZodOptional<z.ZodCustom<AgentStaticModelDefinition, AgentStaticModelDefinition>>;
    reasoning: z.ZodOptional<z.ZodCustom<AgentReasoningDefinition, AgentReasoningDefinition>>;
    local: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    deployed: z.ZodOptional<z.ZodObject<{
        credentials: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
            pat: z.ZodLiteral<true>;
        }, z.core.$strip>, z.ZodCustom<GitHubCredentialProvider, GitHubCredentialProvider>]>>;
        source: z.ZodObject<{
            git: z.ZodObject<{
                directory: z.ZodString;
                repository: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>;
        target: z.ZodObject<{
            branch: z.ZodString;
        }, z.core.$strip>;
        authorize: z.ZodCustom<SelfModificationAuthorization, SelfModificationAuthorization>;
    }, z.core.$strip>>;
}, z.core.$strip>;
/** Extension mount configured with the same policy as the agent and sandbox. */
declare const _default: import("eve/extension").ExtensionHandle<z.ZodObject<{
    model: z.ZodOptional<z.ZodCustom<AgentStaticModelDefinition, AgentStaticModelDefinition>>;
    reasoning: z.ZodOptional<z.ZodCustom<AgentReasoningDefinition, AgentReasoningDefinition>>;
    local: z.ZodOptional<z.ZodObject<{
        enabled: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    deployed: z.ZodOptional<z.ZodObject<{
        credentials: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
            pat: z.ZodLiteral<true>;
        }, z.core.$strip>, z.ZodCustom<GitHubCredentialProvider, GitHubCredentialProvider>]>>;
        source: z.ZodObject<{
            git: z.ZodObject<{
                directory: z.ZodString;
                repository: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>;
        target: z.ZodObject<{
            branch: z.ZodString;
        }, z.core.$strip>;
        authorize: z.ZodCustom<SelfModificationAuthorization, SelfModificationAuthorization>;
    }, z.core.$strip>>;
}, z.core.$strip>>;
export default _default;
