import { z } from 'zod';
export declare const SDKFrameworkSchema: z.ZodEnum<{
    Strands: "Strands";
    LangChain_LangGraph: "LangChain_LangGraph";
    GoogleADK: "GoogleADK";
    OpenAIAgents: "OpenAIAgents";
    VercelAI: "VercelAI";
}>;
export type SDKFramework = z.infer<typeof SDKFrameworkSchema>;
export declare const TargetLanguageSchema: z.ZodEnum<{
    Python: "Python";
    TypeScript: "TypeScript";
    Other: "Other";
}>;
export type TargetLanguage = z.infer<typeof TargetLanguageSchema>;
export declare const ModelProviderSchema: z.ZodEnum<{
    Bedrock: "Bedrock";
    Gemini: "Gemini";
    OpenAI: "OpenAI";
    Anthropic: "Anthropic";
}>;
export type ModelProvider = z.infer<typeof ModelProviderSchema>;
/** Providers that use credentials (Bedrock uses IAM, no credential needed). */
export declare const CREDENTIAL_PROVIDERS: readonly ["Gemini", "OpenAI", "Anthropic"];
/**
 * Case-insensitively match a user-provided value against a Zod enum's options.
 * Returns the canonical (correctly-cased) value, or undefined if no match.
 */
export declare function matchEnumValue(schema: {
    options: readonly string[];
}, input: string): string | undefined;
/**
 * Default model IDs used for each provider.
 * These are the models generated in agent templates.
 */
export declare const DEFAULT_MODEL_IDS: Record<ModelProvider, string>;
/**
 * Matrix defining which model providers are supported for each SDK framework.
 * - Most SDKs support all 4 providers (Bedrock, Anthropic, OpenAI, Gemini)
 * - GoogleADK only supports Gemini (uses Google's native API)
 * - OpenAIAgents only supports OpenAI (uses OpenAI's native API)
 */
export declare const SDK_MODEL_PROVIDER_MATRIX: Record<SDKFramework, readonly ModelProvider[]>;
/**
 * Returns the supported model providers for a given SDK framework.
 */
export declare function getSupportedModelProviders(sdk: SDKFramework): readonly ModelProvider[];
/**
 * Checks if a model provider is supported for a given SDK framework.
 */
export declare function isModelProviderSupported(sdk: SDKFramework, provider: ModelProvider): boolean;
/**
 * Project/agent names that would conflict with Python package names when
 * creating a virtual environment. If the project directory name matches
 * a dependency name, uv/pip will fail to resolve dependencies correctly.
 *
 * This list includes all dependencies used across SDK templates, normalized
 * to valid project name format (lowercase, underscores replaced with nothing
 * since project names are alphanumeric only).
 */
export declare const RESERVED_PROJECT_NAMES: readonly string[];
/**
 * Check if a project name is reserved (case-insensitive).
 */
export declare function isReservedProjectName(name: string): boolean;
export declare const PythonRuntimeSchema: z.ZodEnum<{
    PYTHON_3_10: "PYTHON_3_10";
    PYTHON_3_11: "PYTHON_3_11";
    PYTHON_3_12: "PYTHON_3_12";
    PYTHON_3_13: "PYTHON_3_13";
    PYTHON_3_14: "PYTHON_3_14";
}>;
export type PythonRuntime = z.infer<typeof PythonRuntimeSchema>;
/** Default Python runtime version for new agents and MCP tools */
export declare const DEFAULT_PYTHON_VERSION: PythonRuntime;
export declare const NodeRuntimeSchema: z.ZodEnum<{
    NODE_18: "NODE_18";
    NODE_20: "NODE_20";
    NODE_22: "NODE_22";
}>;
export type NodeRuntime = z.infer<typeof NodeRuntimeSchema>;
/** Default Node.js runtime version for new TypeScript agents */
export declare const DEFAULT_NODE_VERSION: NodeRuntime;
/** Combined runtime version schema supporting both Python and Node/TypeScript runtimes */
export declare const RuntimeVersionSchema: z.ZodUnion<readonly [z.ZodEnum<{
    PYTHON_3_10: "PYTHON_3_10";
    PYTHON_3_11: "PYTHON_3_11";
    PYTHON_3_12: "PYTHON_3_12";
    PYTHON_3_13: "PYTHON_3_13";
    PYTHON_3_14: "PYTHON_3_14";
}>, z.ZodEnum<{
    NODE_18: "NODE_18";
    NODE_20: "NODE_20";
    NODE_22: "NODE_22";
}>]>;
export type RuntimeVersion = z.infer<typeof RuntimeVersionSchema>;
/** Default entrypoint filename for each target language (create path). */
export declare const DEFAULT_ENTRYPOINT_BY_LANGUAGE: Record<'Python' | 'TypeScript', string>;
/** Default runtime version for each target language (create path). */
export declare const DEFAULT_RUNTIME_BY_LANGUAGE: Record<'Python' | 'TypeScript', RuntimeVersion>;
export declare const NetworkModeSchema: z.ZodEnum<{
    PUBLIC: "PUBLIC";
    VPC: "VPC";
}>;
export type NetworkMode = z.infer<typeof NetworkModeSchema>;
export declare const ProtocolModeSchema: z.ZodEnum<{
    HTTP: "HTTP";
    MCP: "MCP";
    A2A: "A2A";
    AGUI: "AGUI";
}>;
export type ProtocolMode = z.infer<typeof ProtocolModeSchema>;
/**
 * Matrix defining which SDK frameworks are supported for each protocol mode.
 * MCP is a standalone tool server with no framework.
 */
export declare const PROTOCOL_FRAMEWORK_MATRIX: Record<ProtocolMode, readonly SDKFramework[]>;
/**
 * Returns the supported SDK frameworks for a given protocol mode.
 */
export declare function getSupportedFrameworksForProtocol(protocol: ProtocolMode): readonly SDKFramework[];
/**
 * Checks if a framework is supported for a given protocol mode.
 */
export declare function isFrameworkSupportedForProtocol(protocol: ProtocolMode, framework: SDKFramework): boolean;
//# sourceMappingURL=constants.d.ts.map