import { z } from 'zod';
import type { ProviderSettingsDefinition } from '../types.js';
export declare const MAX_CLAUDE_REMOTE_ADVANCED_OPTIONS_JSON_CHARS = 16384;
declare const CLAUDE_SETTING_SOURCES_V2: readonly ["user", "project", "local"];
export type ClaudeSettingSourceV2 = (typeof CLAUDE_SETTING_SOURCES_V2)[number];
declare const CLAUDE_REMOTE_DEBUG_CATEGORIES: readonly ["api", "mcp", "hooks", "file", "1p"];
export type ClaudeRemoteDebugCategory = (typeof CLAUDE_REMOTE_DEBUG_CATEGORIES)[number];
export declare function isValidClaudeRemoteAdvancedOptionsJson(raw: string): boolean;
export declare function normalizeClaudeRemoteAdvancedOptionsJson(raw: unknown): string;
export declare const CLAUDE_REMOTE_PROVIDER_FIELDS: {
    readonly claudeRemoteAgentSdkEnabled: {
        readonly schema: z.ZodBoolean;
        readonly default: true;
        readonly description: "Use Claude Agent SDK in remote mode";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeRemoteSettingSources: {
        readonly schema: z.ZodEnum<{
            project: "project";
            user_project: "user_project";
            none: "none";
        }>;
        readonly default: "project" | "user_project" | "none";
        readonly description: "Legacy Claude settings source mode";
        readonly storageScope: "account";
    };
    readonly claudeRemoteSettingSourcesV2: {
        readonly schema: z.ZodArray<z.ZodEnum<{
            local: "local";
            project: "project";
            user: "user";
        }>>;
        readonly default: readonly ClaudeSettingSourceV2[];
        readonly description: "Claude settings sources";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "enum";
            readonly privacy: "safe";
            readonly identityScope: "person";
            readonly serializeCurrent: (value: unknown) => string;
        };
    };
    readonly claudeCodeExperimentalAgentTeamsEnabled: {
        readonly schema: z.ZodBoolean;
        readonly default: false;
        readonly description: "Force-enable Claude experimental agent teams";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeLocalPermissionBridgeEnabled: {
        readonly schema: z.ZodBoolean;
        readonly default: true;
        readonly description: "Enable local Claude permission bridge";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeLocalPermissionBridgeWaitIndefinitely: {
        readonly schema: z.ZodBoolean;
        readonly default: true;
        readonly description: "Keep local permission requests open until the user responds";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeLocalPermissionBridgeTimeoutSeconds: {
        readonly schema: z.ZodNumber;
        readonly default: 600;
        readonly description: "Local permission bridge timeout in seconds";
        readonly storageScope: "account";
    };
    readonly claudeRemoteEnableFileCheckpointing: {
        readonly schema: z.ZodBoolean;
        readonly default: false;
        readonly description: "Enable Claude file checkpointing";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeRemoteMaxThinkingTokens: {
        readonly schema: z.ZodNullable<z.ZodNumber>;
        readonly default: number | null;
        readonly description: "Maximum Claude thinking tokens override";
        readonly storageScope: "account";
    };
    readonly claudeRemoteDisableTodos: {
        readonly schema: z.ZodBoolean;
        readonly default: false;
        readonly description: "Disable TODO generation in Claude remote mode";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeRemoteStrictMcpServerConfig: {
        readonly schema: z.ZodBoolean;
        readonly default: false;
        readonly description: "Fail if Claude MCP server config is invalid";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeRemoteDebugEnabled: {
        readonly schema: z.ZodBoolean;
        readonly default: false;
        readonly description: "Enable Claude Code debug mode (remote)";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeRemoteVerboseEnabled: {
        readonly schema: z.ZodBoolean;
        readonly default: false;
        readonly description: "Enable Claude Code verbose logging (remote)";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "boolean";
            readonly privacy: "safe";
            readonly identityScope: "person";
        };
    };
    readonly claudeRemoteDebugCategories: {
        readonly schema: z.ZodArray<z.ZodEnum<{
            file: "file";
            api: "api";
            mcp: "mcp";
            hooks: "hooks";
            "1p": "1p";
        }>>;
        readonly default: readonly ClaudeRemoteDebugCategory[];
        readonly description: "Claude Code debug categories filter (remote)";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "enum";
            readonly privacy: "safe";
            readonly identityScope: "person";
            readonly serializeCurrent: (value: unknown) => string;
        };
    };
    readonly claudeRemoteAdvancedOptionsJson: {
        readonly schema: z.ZodString;
        readonly default: "";
        readonly description: "Advanced Claude remote options JSON";
        readonly storageScope: "account";
        readonly analytics: {
            readonly trackCurrentState: true;
            readonly trackChanges: true;
            readonly valueKind: "presence";
            readonly privacy: "presence_only";
            readonly identityScope: "person";
            readonly serializeCurrent: (value: unknown) => boolean;
        };
    };
};
export declare const CLAUDE_REMOTE_PROVIDER_SETTINGS_DEFAULTS: Readonly<{
    readonly claudeRemoteAgentSdkEnabled: boolean;
    readonly claudeRemoteSettingSources: "project" | "user_project" | "none";
    readonly claudeRemoteSettingSourcesV2: ("local" | "project" | "user")[];
    readonly claudeCodeExperimentalAgentTeamsEnabled: boolean;
    readonly claudeLocalPermissionBridgeEnabled: boolean;
    readonly claudeLocalPermissionBridgeWaitIndefinitely: boolean;
    readonly claudeLocalPermissionBridgeTimeoutSeconds: number;
    readonly claudeRemoteEnableFileCheckpointing: boolean;
    readonly claudeRemoteMaxThinkingTokens: number | null;
    readonly claudeRemoteDisableTodos: boolean;
    readonly claudeRemoteStrictMcpServerConfig: boolean;
    readonly claudeRemoteDebugEnabled: boolean;
    readonly claudeRemoteVerboseEnabled: boolean;
    readonly claudeRemoteDebugCategories: ("file" | "api" | "mcp" | "hooks" | "1p")[];
    readonly claudeRemoteAdvancedOptionsJson: string;
}>;
export declare function buildClaudeRemoteProviderSettingsShape(_zod: typeof z): {
    readonly claudeRemoteAgentSdkEnabled: z.ZodBoolean;
    readonly claudeRemoteSettingSources: z.ZodEnum<{
        project: "project";
        user_project: "user_project";
        none: "none";
    }>;
    readonly claudeRemoteSettingSourcesV2: z.ZodArray<z.ZodEnum<{
        local: "local";
        project: "project";
        user: "user";
    }>>;
    readonly claudeCodeExperimentalAgentTeamsEnabled: z.ZodBoolean;
    readonly claudeLocalPermissionBridgeEnabled: z.ZodBoolean;
    readonly claudeLocalPermissionBridgeWaitIndefinitely: z.ZodBoolean;
    readonly claudeLocalPermissionBridgeTimeoutSeconds: z.ZodNumber;
    readonly claudeRemoteEnableFileCheckpointing: z.ZodBoolean;
    readonly claudeRemoteMaxThinkingTokens: z.ZodNullable<z.ZodNumber>;
    readonly claudeRemoteDisableTodos: z.ZodBoolean;
    readonly claudeRemoteStrictMcpServerConfig: z.ZodBoolean;
    readonly claudeRemoteDebugEnabled: z.ZodBoolean;
    readonly claudeRemoteVerboseEnabled: z.ZodBoolean;
    readonly claudeRemoteDebugCategories: z.ZodArray<z.ZodEnum<{
        file: "file";
        api: "api";
        mcp: "mcp";
        hooks: "hooks";
        "1p": "1p";
    }>>;
    readonly claudeRemoteAdvancedOptionsJson: z.ZodString;
};
export declare function buildClaudeRemoteOutgoingMessageMetaExtras(settings: Readonly<Record<string, unknown>>): Readonly<Record<string, unknown>>;
export declare const CLAUDE_REMOTE_PROVIDER_SETTINGS_DEFINITION: ProviderSettingsDefinition;
export {};
//# sourceMappingURL=claudeRemote.d.ts.map