import { ConfigBundleSchema } from './primitives/config-bundle';
import { DatasetSchema } from './primitives/dataset';
import { EvaluationLevelSchema } from './primitives/evaluator';
import { DEFAULT_EPISODIC_REFLECTION_NAMESPACES, DEFAULT_EPISODIC_REFLECTION_NAMESPACE_TEMPLATES, DEFAULT_STRATEGY_NAMESPACES, DEFAULT_STRATEGY_NAMESPACE_TEMPLATES, MemoryStrategySchema, MemoryStrategyTypeSchema } from './primitives/memory';
import { PolicyEngineSchema } from './primitives/policy';
import { TagsSchema } from './primitives/tags';
import { z } from 'zod';
export { DEFAULT_EPISODIC_REFLECTION_NAMESPACE_TEMPLATES, DEFAULT_EPISODIC_REFLECTION_NAMESPACES, DEFAULT_STRATEGY_NAMESPACE_TEMPLATES, DEFAULT_STRATEGY_NAMESPACES, MemoryStrategySchema, MemoryStrategyTypeSchema, };
export { EvaluationLevelSchema };
export type { MemoryStrategy, MemoryStrategyType } from './primitives/memory';
export type { OnlineEvalConfig } from './primitives/online-eval-config';
export { OnlineEvalConfigSchema, OnlineEvalConfigNameSchema } from './primitives/online-eval-config';
export type { CodeBasedConfig, EvaluationLevel, EvaluatorConfig, ExternalCodeBasedConfig, LlmAsAJudgeConfig, ManagedCodeBasedConfig, RatingScale, } from './primitives/evaluator';
export { BedrockModelIdSchema, isValidBedrockModelId, EvaluatorNameSchema, KMS_KEY_ARN_PATTERN, isValidKmsKeyArn, } from './primitives/evaluator';
export { ConfigBundleSchema };
export type { ComponentConfiguration, ComponentConfigurationMap, ConfigBundle } from './primitives/config-bundle';
export { ConfigBundleNameSchema, ComponentConfigurationMapSchema } from './primitives/config-bundle';
export { PolicyEngineSchema };
export type { Policy, PolicyEngine, ValidationMode } from './primitives/policy';
export { PolicyEngineNameSchema, PolicyNameSchema, PolicySchema, ValidationModeSchema } from './primitives/policy';
export { TagsSchema };
export type { Tags } from './primitives/tags';
export { DatasetSchema };
export { DatasetNameSchema, DatasetSchemaTypeSchema } from './primitives/dataset';
export type { Dataset, DatasetSchemaType } from './primitives/dataset';
export type { ABTestMode, TargetRef, GatewayFilter, PerVariantOnlineEvaluationConfig } from './primitives/ab-test';
export { ABTestModeSchema, TargetRefSchema, GatewayFilterSchema } from './primitives/ab-test';
export type { HttpGatewayTarget } from './primitives/http-gateway';
export { HttpGatewayTargetSchema } from './primitives/http-gateway';
export declare const ManagedBySchema: z.ZodDefault<z.ZodEnum<{
    CDK: "CDK";
}>>;
export type ManagedBy = z.infer<typeof ManagedBySchema>;
export type { AgentCoreGateway, AgentCoreGatewayTarget, AgentCoreMcpRuntimeTool } from './mcp';
export { AgentCoreGatewaySchema, AgentCoreGatewayTargetSchema, AgentCoreMcpRuntimeToolSchema } from './mcp';
export declare const ProjectNameSchema: z.ZodString;
export declare const MemoryTypeSchema: z.ZodLiteral<"AgentCoreMemory">;
export type MemoryType = z.infer<typeof MemoryTypeSchema>;
export declare const MemoryNameSchema: z.ZodString;
export declare const StreamContentLevelSchema: z.ZodEnum<{
    FULL_CONTENT: "FULL_CONTENT";
    METADATA_ONLY: "METADATA_ONLY";
}>;
export type StreamContentLevel = z.infer<typeof StreamContentLevelSchema>;
export declare const StreamDeliveryResourcesSchema: z.ZodObject<{
    resources: z.ZodArray<z.ZodObject<{
        kinesis: z.ZodObject<{
            dataStreamArn: z.ZodString;
            contentConfigurations: z.ZodArray<z.ZodObject<{
                type: z.ZodLiteral<"MEMORY_RECORDS">;
                level: z.ZodEnum<{
                    FULL_CONTENT: "FULL_CONTENT";
                    METADATA_ONLY: "METADATA_ONLY";
                }>;
            }, z.core.$strip>>;
        }, z.core.$strip>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type StreamDeliveryResources = z.infer<typeof StreamDeliveryResourcesSchema>;
export declare const IndexedKeyTypeSchema: z.ZodEnum<{
    STRING: "STRING";
    STRINGLIST: "STRINGLIST";
    NUMBER: "NUMBER";
}>;
export type IndexedKeyType = z.infer<typeof IndexedKeyTypeSchema>;
/**
 * Indexed metadata key declaration on a Memory.
 * Indexed keys enable filtering memory records on retrieval by attached metadata.
 *
 * Key pattern matches the AgentCore Control API: alphanumeric characters, whitespace,
 * and the symbols `. _ : / = + @ -` (max 128 chars).
 *
 * Note: indexed keys are append-only on the AWS service side — once added to a Memory,
 * a key cannot be removed. Reducing the array on update will fail at deploy time.
 */
export declare const INDEXED_KEY_NAME_PATTERN: RegExp;
export declare const INDEXED_KEY_NAME_PATTERN_MESSAGE = "Must contain only alphanumeric characters, whitespace, or the symbols . _ : / = + @ -";
export declare const MAX_INDEXED_KEY_NAME_LENGTH = 128;
export declare const MAX_INDEXED_KEYS = 10;
export declare const IndexedKeySchema: z.ZodObject<{
    key: z.ZodString;
    type: z.ZodEnum<{
        STRING: "STRING";
        STRINGLIST: "STRINGLIST";
        NUMBER: "NUMBER";
    }>;
}, z.core.$strip>;
export type IndexedKey = z.infer<typeof IndexedKeySchema>;
export declare const MemorySchema: z.ZodObject<{
    name: z.ZodString;
    eventExpiryDuration: z.ZodNumber;
    strategies: z.ZodDefault<z.ZodArray<z.ZodObject<{
        type: z.ZodEnum<{
            SEMANTIC: "SEMANTIC";
            SUMMARIZATION: "SUMMARIZATION";
            USER_PREFERENCE: "USER_PREFERENCE";
            EPISODIC: "EPISODIC";
        }>;
        name: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        namespaceTemplates: z.ZodOptional<z.ZodArray<z.ZodString>>;
        namespaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
        reflectionNamespaceTemplates: z.ZodOptional<z.ZodArray<z.ZodString>>;
        reflectionNamespaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>>;
    indexedKeys: z.ZodOptional<z.ZodArray<z.ZodObject<{
        key: z.ZodString;
        type: z.ZodEnum<{
            STRING: "STRING";
            STRINGLIST: "STRINGLIST";
            NUMBER: "NUMBER";
        }>;
    }, z.core.$strip>>>;
    tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    encryptionKeyArn: z.ZodOptional<z.ZodString>;
    executionRoleArn: z.ZodOptional<z.ZodString>;
    streamDeliveryResources: z.ZodOptional<z.ZodObject<{
        resources: z.ZodArray<z.ZodObject<{
            kinesis: z.ZodObject<{
                dataStreamArn: z.ZodString;
                contentConfigurations: z.ZodArray<z.ZodObject<{
                    type: z.ZodLiteral<"MEMORY_RECORDS">;
                    level: z.ZodEnum<{
                        FULL_CONTENT: "FULL_CONTENT";
                        METADATA_ONLY: "METADATA_ONLY";
                    }>;
                }, z.core.$strip>>;
            }, z.core.$strip>;
        }, z.core.$strip>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type Memory = z.infer<typeof MemorySchema>;
export declare const CredentialNameSchema: z.ZodString;
export declare const CredentialTypeSchema: z.ZodEnum<{
    ApiKeyCredentialProvider: "ApiKeyCredentialProvider";
    OAuthCredentialProvider: "OAuthCredentialProvider";
}>;
export type CredentialType = z.infer<typeof CredentialTypeSchema>;
export declare const ApiKeyCredentialSchema: z.ZodObject<{
    authorizerType: z.ZodLiteral<"ApiKeyCredentialProvider">;
    name: z.ZodString;
}, z.core.$strip>;
export type ApiKeyCredential = z.infer<typeof ApiKeyCredentialSchema>;
export declare const OAuthCredentialSchema: z.ZodObject<{
    authorizerType: z.ZodLiteral<"OAuthCredentialProvider">;
    name: z.ZodString;
    discoveryUrl: z.ZodOptional<z.ZodString>;
    scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    vendor: z.ZodDefault<z.ZodString>;
    managed: z.ZodOptional<z.ZodBoolean>;
    usage: z.ZodOptional<z.ZodEnum<{
        inbound: "inbound";
        outbound: "outbound";
    }>>;
}, z.core.$strip>;
export type OAuthCredential = z.infer<typeof OAuthCredentialSchema>;
export declare const CredentialSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    authorizerType: z.ZodLiteral<"ApiKeyCredentialProvider">;
    name: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    authorizerType: z.ZodLiteral<"OAuthCredentialProvider">;
    name: z.ZodString;
    discoveryUrl: z.ZodOptional<z.ZodString>;
    scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
    vendor: z.ZodDefault<z.ZodString>;
    managed: z.ZodOptional<z.ZodBoolean>;
    usage: z.ZodOptional<z.ZodEnum<{
        inbound: "inbound";
        outbound: "outbound";
    }>>;
}, z.core.$strip>], "authorizerType">;
export type Credential = z.infer<typeof CredentialSchema>;
export declare const EvaluatorTypeSchema: z.ZodLiteral<"CustomEvaluator">;
export type EvaluatorType = z.infer<typeof EvaluatorTypeSchema>;
export declare const EvaluatorSchema: z.ZodObject<{
    name: z.ZodString;
    level: z.ZodEnum<{
        SESSION: "SESSION";
        TRACE: "TRACE";
        TOOL_CALL: "TOOL_CALL";
    }>;
    description: z.ZodOptional<z.ZodString>;
    config: z.ZodObject<{
        llmAsAJudge: z.ZodOptional<z.ZodObject<{
            model: z.ZodString;
            instructions: z.ZodString;
            ratingScale: z.ZodObject<{
                numerical: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    value: z.ZodNumber;
                    label: z.ZodString;
                    definition: z.ZodString;
                }, z.core.$strip>>>;
                categorical: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    label: z.ZodString;
                    definition: z.ZodString;
                }, z.core.$strip>>>;
            }, z.core.$strip>;
        }, z.core.$strip>>;
        codeBased: z.ZodOptional<z.ZodObject<{
            managed: z.ZodOptional<z.ZodObject<{
                codeLocation: z.ZodString;
                entrypoint: z.ZodDefault<z.ZodString>;
                timeoutSeconds: z.ZodDefault<z.ZodNumber>;
                additionalPolicies: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strip>>;
            external: z.ZodOptional<z.ZodObject<{
                lambdaArn: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    kmsKeyArn: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, z.core.$strip>;
export type Evaluator = z.infer<typeof EvaluatorSchema>;
export declare const AgentCoreProjectSpecSchema: z.ZodObject<{
    $schema: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    version: z.ZodNumber;
    managedBy: z.ZodDefault<z.ZodEnum<{
        CDK: "CDK";
    }>>;
    tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    runtimes: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        build: z.ZodEnum<{
            CodeZip: "CodeZip";
            Container: "Container";
        }>;
        entrypoint: z.ZodType<import("./agent-env").FilePath, unknown, z.core.$ZodTypeInternals<import("./agent-env").FilePath, unknown>>;
        codeLocation: z.ZodType<import("./agent-env").DirectoryPath, unknown, z.core.$ZodTypeInternals<import("./agent-env").DirectoryPath, unknown>>;
        dockerfile: z.ZodOptional<z.ZodString>;
        runtimeVersion: z.ZodOptional<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";
        }>]>>;
        envVars: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            value: z.ZodString;
        }, z.core.$strip>>>;
        networkMode: z.ZodOptional<z.ZodEnum<{
            PUBLIC: "PUBLIC";
            VPC: "VPC";
        }>>;
        networkConfig: z.ZodOptional<z.ZodObject<{
            subnets: z.ZodArray<z.ZodString>;
            securityGroups: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        instrumentation: z.ZodOptional<z.ZodObject<{
            enableOtel: z.ZodDefault<z.ZodBoolean>;
        }, z.core.$strip>>;
        protocol: z.ZodOptional<z.ZodEnum<{
            HTTP: "HTTP";
            MCP: "MCP";
            A2A: "A2A";
            AGUI: "AGUI";
        }>>;
        requestHeaderAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
        executionRoleArn: z.ZodOptional<z.ZodString>;
        authorizerType: z.ZodOptional<z.ZodEnum<{
            AWS_IAM: "AWS_IAM";
            CUSTOM_JWT: "CUSTOM_JWT";
        }>>;
        authorizerConfiguration: z.ZodOptional<z.ZodObject<{
            customJwtAuthorizer: z.ZodOptional<z.ZodObject<{
                discoveryUrl: z.ZodString;
                allowedAudience: z.ZodOptional<z.ZodArray<z.ZodString>>;
                allowedClients: z.ZodOptional<z.ZodArray<z.ZodString>>;
                allowedScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
                customClaims: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    inboundTokenClaimName: z.ZodString;
                    inboundTokenClaimValueType: z.ZodEnum<{
                        STRING: "STRING";
                        STRING_ARRAY: "STRING_ARRAY";
                    }>;
                    authorizingClaimMatchValue: z.ZodObject<{
                        claimMatchOperator: z.ZodEnum<{
                            EQUALS: "EQUALS";
                            CONTAINS: "CONTAINS";
                            CONTAINS_ANY: "CONTAINS_ANY";
                        }>;
                        claimMatchValue: z.ZodObject<{
                            matchValueString: z.ZodOptional<z.ZodString>;
                            matchValueStringList: z.ZodOptional<z.ZodArray<z.ZodString>>;
                        }, z.core.$strip>;
                    }, z.core.$strip>;
                }, z.core.$strict>>>;
            }, z.core.$strict>>;
        }, z.core.$strip>>;
        tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        lifecycleConfiguration: z.ZodOptional<z.ZodObject<{
            idleRuntimeSessionTimeout: z.ZodOptional<z.ZodNumber>;
            maxLifetime: z.ZodOptional<z.ZodNumber>;
        }, z.core.$strip>>;
        filesystemConfigurations: z.ZodOptional<z.ZodArray<z.ZodObject<{
            sessionStorage: z.ZodObject<{
                mountPath: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>>>;
        endpoints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            version: z.ZodNumber;
            description: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>;
    memories: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        eventExpiryDuration: z.ZodNumber;
        strategies: z.ZodDefault<z.ZodArray<z.ZodObject<{
            type: z.ZodEnum<{
                SEMANTIC: "SEMANTIC";
                SUMMARIZATION: "SUMMARIZATION";
                USER_PREFERENCE: "USER_PREFERENCE";
                EPISODIC: "EPISODIC";
            }>;
            name: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            namespaceTemplates: z.ZodOptional<z.ZodArray<z.ZodString>>;
            namespaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
            reflectionNamespaceTemplates: z.ZodOptional<z.ZodArray<z.ZodString>>;
            reflectionNamespaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>>;
        indexedKeys: z.ZodOptional<z.ZodArray<z.ZodObject<{
            key: z.ZodString;
            type: z.ZodEnum<{
                STRING: "STRING";
                STRINGLIST: "STRINGLIST";
                NUMBER: "NUMBER";
            }>;
        }, z.core.$strip>>>;
        tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        encryptionKeyArn: z.ZodOptional<z.ZodString>;
        executionRoleArn: z.ZodOptional<z.ZodString>;
        streamDeliveryResources: z.ZodOptional<z.ZodObject<{
            resources: z.ZodArray<z.ZodObject<{
                kinesis: z.ZodObject<{
                    dataStreamArn: z.ZodString;
                    contentConfigurations: z.ZodArray<z.ZodObject<{
                        type: z.ZodLiteral<"MEMORY_RECORDS">;
                        level: z.ZodEnum<{
                            FULL_CONTENT: "FULL_CONTENT";
                            METADATA_ONLY: "METADATA_ONLY";
                        }>;
                    }, z.core.$strip>>;
                }, z.core.$strip>;
            }, z.core.$strip>>;
        }, z.core.$strip>>;
    }, z.core.$strip>>>;
    credentials: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
        authorizerType: z.ZodLiteral<"ApiKeyCredentialProvider">;
        name: z.ZodString;
    }, z.core.$strip>, z.ZodObject<{
        authorizerType: z.ZodLiteral<"OAuthCredentialProvider">;
        name: z.ZodString;
        discoveryUrl: z.ZodOptional<z.ZodString>;
        scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
        vendor: z.ZodDefault<z.ZodString>;
        managed: z.ZodOptional<z.ZodBoolean>;
        usage: z.ZodOptional<z.ZodEnum<{
            inbound: "inbound";
            outbound: "outbound";
        }>>;
    }, z.core.$strip>], "authorizerType">>>;
    evaluators: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        level: z.ZodEnum<{
            SESSION: "SESSION";
            TRACE: "TRACE";
            TOOL_CALL: "TOOL_CALL";
        }>;
        description: z.ZodOptional<z.ZodString>;
        config: z.ZodObject<{
            llmAsAJudge: z.ZodOptional<z.ZodObject<{
                model: z.ZodString;
                instructions: z.ZodString;
                ratingScale: z.ZodObject<{
                    numerical: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        value: z.ZodNumber;
                        label: z.ZodString;
                        definition: z.ZodString;
                    }, z.core.$strip>>>;
                    categorical: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        label: z.ZodString;
                        definition: z.ZodString;
                    }, z.core.$strip>>>;
                }, z.core.$strip>;
            }, z.core.$strip>>;
            codeBased: z.ZodOptional<z.ZodObject<{
                managed: z.ZodOptional<z.ZodObject<{
                    codeLocation: z.ZodString;
                    entrypoint: z.ZodDefault<z.ZodString>;
                    timeoutSeconds: z.ZodDefault<z.ZodNumber>;
                    additionalPolicies: z.ZodOptional<z.ZodArray<z.ZodString>>;
                }, z.core.$strip>>;
                external: z.ZodOptional<z.ZodObject<{
                    lambdaArn: z.ZodString;
                }, z.core.$strip>>;
            }, z.core.$strip>>;
        }, z.core.$strip>;
        kmsKeyArn: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, z.core.$strip>>>;
    onlineEvalConfigs: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        agent: z.ZodString;
        endpoint: z.ZodOptional<z.ZodString>;
        evaluators: z.ZodArray<z.ZodString>;
        samplingRate: z.ZodNumber;
        description: z.ZodOptional<z.ZodString>;
        enableOnCreate: z.ZodOptional<z.ZodBoolean>;
        tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, z.core.$strip>>>;
    agentCoreGateways: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        resourceName: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        targets: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            targetType: z.ZodEnum<{
                lambda: "lambda";
                mcpServer: "mcpServer";
                openApiSchema: "openApiSchema";
                smithyModel: "smithyModel";
                apiGateway: "apiGateway";
                lambdaFunctionArn: "lambdaFunctionArn";
            }>;
            toolDefinitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                description: z.ZodString;
                inputSchema: z.ZodType<import("./mcp-defs").SchemaDefinition, unknown, z.core.$ZodTypeInternals<import("./mcp-defs").SchemaDefinition, unknown>>;
                outputSchema: z.ZodOptional<z.ZodType<import("./mcp-defs").SchemaDefinition, unknown, z.core.$ZodTypeInternals<import("./mcp-defs").SchemaDefinition, unknown>>>;
            }, z.core.$strict>>>;
            compute: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
                host: z.ZodLiteral<"Lambda">;
                implementation: z.ZodObject<{
                    language: z.ZodEnum<{
                        Python: "Python";
                        TypeScript: "TypeScript";
                    }>;
                    path: z.ZodString;
                    handler: z.ZodString;
                }, z.core.$strict>;
                nodeVersion: z.ZodOptional<z.ZodEnum<{
                    NODE_18: "NODE_18";
                    NODE_20: "NODE_20";
                    NODE_22: "NODE_22";
                }>>;
                pythonVersion: z.ZodOptional<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";
                }>>;
                timeout: z.ZodOptional<z.ZodNumber>;
                memorySize: z.ZodOptional<z.ZodNumber>;
                iamPolicy: z.ZodOptional<z.ZodObject<{
                    Version: z.ZodString;
                    Statement: z.ZodArray<z.ZodUnknown>;
                }, z.core.$loose>>;
            }, z.core.$strict>, z.ZodObject<{
                host: z.ZodLiteral<"AgentCoreRuntime">;
                implementation: z.ZodObject<{
                    language: z.ZodEnum<{
                        Python: "Python";
                        TypeScript: "TypeScript";
                    }>;
                    path: z.ZodString;
                    handler: z.ZodString;
                }, z.core.$strict>;
                runtime: z.ZodOptional<z.ZodObject<{
                    artifact: z.ZodLiteral<"CodeZip">;
                    pythonVersion: 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";
                    }>;
                    name: z.ZodString;
                    entrypoint: z.ZodType<import("./agent-env").FilePath, unknown, z.core.$ZodTypeInternals<import("./agent-env").FilePath, unknown>>;
                    codeLocation: z.ZodType<import("./agent-env").DirectoryPath, unknown, z.core.$ZodTypeInternals<import("./agent-env").DirectoryPath, unknown>>;
                    instrumentation: z.ZodOptional<z.ZodObject<{
                        enableOtel: z.ZodDefault<z.ZodBoolean>;
                    }, z.core.$strip>>;
                    networkMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                        PUBLIC: "PUBLIC";
                        VPC: "VPC";
                    }>>>;
                    description: z.ZodOptional<z.ZodString>;
                }, z.core.$strict>>;
                iamPolicy: z.ZodOptional<z.ZodObject<{
                    Version: z.ZodString;
                    Statement: z.ZodArray<z.ZodUnknown>;
                }, z.core.$loose>>;
            }, z.core.$strict>], "host">>;
            endpoint: z.ZodOptional<z.ZodString>;
            outboundAuth: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodEnum<{
                    NONE: "NONE";
                    OAUTH: "OAUTH";
                    API_KEY: "API_KEY";
                }>>;
                credentialName: z.ZodOptional<z.ZodString>;
                scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strict>>;
            apiGateway: z.ZodOptional<z.ZodObject<{
                restApiId: z.ZodString;
                stage: z.ZodString;
                apiGatewayToolConfiguration: z.ZodObject<{
                    toolFilters: z.ZodArray<z.ZodObject<{
                        filterPath: z.ZodString;
                        methods: z.ZodArray<z.ZodEnum<{
                            GET: "GET";
                            POST: "POST";
                            PUT: "PUT";
                            DELETE: "DELETE";
                            PATCH: "PATCH";
                            HEAD: "HEAD";
                            OPTIONS: "OPTIONS";
                        }>>;
                    }, z.core.$strict>>;
                    toolOverrides: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        name: z.ZodString;
                        path: z.ZodString;
                        method: z.ZodEnum<{
                            GET: "GET";
                            POST: "POST";
                            PUT: "PUT";
                            DELETE: "DELETE";
                            PATCH: "PATCH";
                            HEAD: "HEAD";
                            OPTIONS: "OPTIONS";
                        }>;
                        description: z.ZodOptional<z.ZodString>;
                    }, z.core.$strict>>>;
                }, z.core.$strict>;
            }, z.core.$strict>>;
            schemaSource: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
                inline: z.ZodObject<{
                    path: z.ZodString;
                }, z.core.$strict>;
            }, z.core.$strict>, z.ZodObject<{
                s3: z.ZodObject<{
                    uri: z.ZodString;
                    bucketOwnerAccountId: z.ZodOptional<z.ZodString>;
                }, z.core.$strict>;
            }, z.core.$strict>]>>;
            lambdaFunctionArn: z.ZodOptional<z.ZodObject<{
                lambdaArn: z.ZodString;
                toolSchemaFile: z.ZodString;
            }, z.core.$strict>>;
        }, z.core.$strict>>;
        authorizerType: z.ZodDefault<z.ZodEnum<{
            NONE: "NONE";
            AWS_IAM: "AWS_IAM";
            CUSTOM_JWT: "CUSTOM_JWT";
        }>>;
        authorizerConfiguration: z.ZodOptional<z.ZodObject<{
            customJwtAuthorizer: z.ZodOptional<z.ZodObject<{
                discoveryUrl: z.ZodString;
                allowedAudience: z.ZodOptional<z.ZodArray<z.ZodString>>;
                allowedClients: z.ZodOptional<z.ZodArray<z.ZodString>>;
                allowedScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
                customClaims: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    inboundTokenClaimName: z.ZodString;
                    inboundTokenClaimValueType: z.ZodEnum<{
                        STRING: "STRING";
                        STRING_ARRAY: "STRING_ARRAY";
                    }>;
                    authorizingClaimMatchValue: z.ZodObject<{
                        claimMatchOperator: z.ZodEnum<{
                            EQUALS: "EQUALS";
                            CONTAINS: "CONTAINS";
                            CONTAINS_ANY: "CONTAINS_ANY";
                        }>;
                        claimMatchValue: z.ZodObject<{
                            matchValueString: z.ZodOptional<z.ZodString>;
                            matchValueStringList: z.ZodOptional<z.ZodArray<z.ZodString>>;
                        }, z.core.$strip>;
                    }, z.core.$strip>;
                }, z.core.$strict>>>;
            }, z.core.$strict>>;
        }, z.core.$strip>>;
        enableSemanticSearch: z.ZodDefault<z.ZodBoolean>;
        exceptionLevel: z.ZodDefault<z.ZodEnum<{
            NONE: "NONE";
            DEBUG: "DEBUG";
        }>>;
        policyEngineConfiguration: z.ZodOptional<z.ZodObject<{
            policyEngineName: z.ZodString;
            mode: z.ZodEnum<{
                LOG_ONLY: "LOG_ONLY";
                ENFORCE: "ENFORCE";
            }>;
        }, z.core.$strict>>;
        executionRoleArn: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, z.core.$strict>>>;
    mcpRuntimeTools: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        toolDefinition: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            inputSchema: z.ZodType<import("./mcp-defs").SchemaDefinition, unknown, z.core.$ZodTypeInternals<import("./mcp-defs").SchemaDefinition, unknown>>;
            outputSchema: z.ZodOptional<z.ZodType<import("./mcp-defs").SchemaDefinition, unknown, z.core.$ZodTypeInternals<import("./mcp-defs").SchemaDefinition, unknown>>>;
        }, z.core.$strict>;
        compute: z.ZodObject<{
            host: z.ZodLiteral<"AgentCoreRuntime">;
            implementation: z.ZodObject<{
                language: z.ZodEnum<{
                    Python: "Python";
                    TypeScript: "TypeScript";
                }>;
                path: z.ZodString;
                handler: z.ZodString;
            }, z.core.$strict>;
            runtime: z.ZodOptional<z.ZodObject<{
                artifact: z.ZodLiteral<"CodeZip">;
                pythonVersion: 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";
                }>;
                name: z.ZodString;
                entrypoint: z.ZodType<import("./agent-env").FilePath, unknown, z.core.$ZodTypeInternals<import("./agent-env").FilePath, unknown>>;
                codeLocation: z.ZodType<import("./agent-env").DirectoryPath, unknown, z.core.$ZodTypeInternals<import("./agent-env").DirectoryPath, unknown>>;
                instrumentation: z.ZodOptional<z.ZodObject<{
                    enableOtel: z.ZodDefault<z.ZodBoolean>;
                }, z.core.$strip>>;
                networkMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                    PUBLIC: "PUBLIC";
                    VPC: "VPC";
                }>>>;
                description: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>;
            iamPolicy: z.ZodOptional<z.ZodObject<{
                Version: z.ZodString;
                Statement: z.ZodArray<z.ZodUnknown>;
            }, z.core.$loose>>;
        }, z.core.$strict>;
        bindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
            runtimeName: z.ZodString;
            envVarName: z.ZodString;
        }, z.core.$strict>>>;
    }, z.core.$strict>>>;
    unassignedTargets: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        targetType: z.ZodEnum<{
            lambda: "lambda";
            mcpServer: "mcpServer";
            openApiSchema: "openApiSchema";
            smithyModel: "smithyModel";
            apiGateway: "apiGateway";
            lambdaFunctionArn: "lambdaFunctionArn";
        }>;
        toolDefinitions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            inputSchema: z.ZodType<import("./mcp-defs").SchemaDefinition, unknown, z.core.$ZodTypeInternals<import("./mcp-defs").SchemaDefinition, unknown>>;
            outputSchema: z.ZodOptional<z.ZodType<import("./mcp-defs").SchemaDefinition, unknown, z.core.$ZodTypeInternals<import("./mcp-defs").SchemaDefinition, unknown>>>;
        }, z.core.$strict>>>;
        compute: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
            host: z.ZodLiteral<"Lambda">;
            implementation: z.ZodObject<{
                language: z.ZodEnum<{
                    Python: "Python";
                    TypeScript: "TypeScript";
                }>;
                path: z.ZodString;
                handler: z.ZodString;
            }, z.core.$strict>;
            nodeVersion: z.ZodOptional<z.ZodEnum<{
                NODE_18: "NODE_18";
                NODE_20: "NODE_20";
                NODE_22: "NODE_22";
            }>>;
            pythonVersion: z.ZodOptional<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";
            }>>;
            timeout: z.ZodOptional<z.ZodNumber>;
            memorySize: z.ZodOptional<z.ZodNumber>;
            iamPolicy: z.ZodOptional<z.ZodObject<{
                Version: z.ZodString;
                Statement: z.ZodArray<z.ZodUnknown>;
            }, z.core.$loose>>;
        }, z.core.$strict>, z.ZodObject<{
            host: z.ZodLiteral<"AgentCoreRuntime">;
            implementation: z.ZodObject<{
                language: z.ZodEnum<{
                    Python: "Python";
                    TypeScript: "TypeScript";
                }>;
                path: z.ZodString;
                handler: z.ZodString;
            }, z.core.$strict>;
            runtime: z.ZodOptional<z.ZodObject<{
                artifact: z.ZodLiteral<"CodeZip">;
                pythonVersion: 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";
                }>;
                name: z.ZodString;
                entrypoint: z.ZodType<import("./agent-env").FilePath, unknown, z.core.$ZodTypeInternals<import("./agent-env").FilePath, unknown>>;
                codeLocation: z.ZodType<import("./agent-env").DirectoryPath, unknown, z.core.$ZodTypeInternals<import("./agent-env").DirectoryPath, unknown>>;
                instrumentation: z.ZodOptional<z.ZodObject<{
                    enableOtel: z.ZodDefault<z.ZodBoolean>;
                }, z.core.$strip>>;
                networkMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
                    PUBLIC: "PUBLIC";
                    VPC: "VPC";
                }>>>;
                description: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>>;
            iamPolicy: z.ZodOptional<z.ZodObject<{
                Version: z.ZodString;
                Statement: z.ZodArray<z.ZodUnknown>;
            }, z.core.$loose>>;
        }, z.core.$strict>], "host">>;
        endpoint: z.ZodOptional<z.ZodString>;
        outboundAuth: z.ZodOptional<z.ZodObject<{
            type: z.ZodDefault<z.ZodEnum<{
                NONE: "NONE";
                OAUTH: "OAUTH";
                API_KEY: "API_KEY";
            }>>;
            credentialName: z.ZodOptional<z.ZodString>;
            scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strict>>;
        apiGateway: z.ZodOptional<z.ZodObject<{
            restApiId: z.ZodString;
            stage: z.ZodString;
            apiGatewayToolConfiguration: z.ZodObject<{
                toolFilters: z.ZodArray<z.ZodObject<{
                    filterPath: z.ZodString;
                    methods: z.ZodArray<z.ZodEnum<{
                        GET: "GET";
                        POST: "POST";
                        PUT: "PUT";
                        DELETE: "DELETE";
                        PATCH: "PATCH";
                        HEAD: "HEAD";
                        OPTIONS: "OPTIONS";
                    }>>;
                }, z.core.$strict>>;
                toolOverrides: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    path: z.ZodString;
                    method: z.ZodEnum<{
                        GET: "GET";
                        POST: "POST";
                        PUT: "PUT";
                        DELETE: "DELETE";
                        PATCH: "PATCH";
                        HEAD: "HEAD";
                        OPTIONS: "OPTIONS";
                    }>;
                    description: z.ZodOptional<z.ZodString>;
                }, z.core.$strict>>>;
            }, z.core.$strict>;
        }, z.core.$strict>>;
        schemaSource: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
            inline: z.ZodObject<{
                path: z.ZodString;
            }, z.core.$strict>;
        }, z.core.$strict>, z.ZodObject<{
            s3: z.ZodObject<{
                uri: z.ZodString;
                bucketOwnerAccountId: z.ZodOptional<z.ZodString>;
            }, z.core.$strict>;
        }, z.core.$strict>]>>;
        lambdaFunctionArn: z.ZodOptional<z.ZodObject<{
            lambdaArn: z.ZodString;
            toolSchemaFile: z.ZodString;
        }, z.core.$strict>>;
    }, z.core.$strict>>>;
    policyEngines: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        encryptionKeyArn: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        policies: z.ZodDefault<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            statement: z.ZodString;
            sourceFile: z.ZodOptional<z.ZodString>;
            validationMode: z.ZodDefault<z.ZodEnum<{
                FAIL_ON_ANY_FINDINGS: "FAIL_ON_ANY_FINDINGS";
                IGNORE_ALL_FINDINGS: "IGNORE_ALL_FINDINGS";
            }>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>;
    configBundles: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodDefault<z.ZodLiteral<"ConfigurationBundle">>;
        description: z.ZodOptional<z.ZodString>;
        components: z.ZodRecord<z.ZodString, z.ZodObject<{
            configuration: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        }, z.core.$strip>>;
        branchName: z.ZodOptional<z.ZodString>;
        commitMessage: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
    abTests: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
            "config-bundle": "config-bundle";
            "target-based": "target-based";
        }>>>;
        gatewayRef: z.ZodString;
        roleArn: z.ZodOptional<z.ZodString>;
        variants: z.ZodArray<z.ZodObject<{
            name: z.ZodEnum<{
                C: "C";
                T1: "T1";
            }>;
            weight: z.ZodNumber;
            variantConfiguration: z.ZodUnion<readonly [z.ZodObject<{
                configurationBundle: z.ZodObject<{
                    bundleArn: z.ZodString;
                    bundleVersion: z.ZodString;
                }, z.core.$strip>;
                target: z.ZodOptional<z.ZodNever>;
            }, z.core.$strip>, z.ZodObject<{
                configurationBundle: z.ZodOptional<z.ZodNever>;
                target: z.ZodObject<{
                    targetName: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>]>;
        }, z.core.$strip>>;
        evaluationConfig: z.ZodUnion<readonly [z.ZodObject<{
            onlineEvaluationConfigArn: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            perVariantOnlineEvaluationConfig: z.ZodArray<z.ZodObject<{
                treatmentName: z.ZodEnum<{
                    C: "C";
                    T1: "T1";
                }>;
                onlineEvaluationConfigArn: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>]>;
        gatewayFilter: z.ZodOptional<z.ZodObject<{
            targetPaths: z.ZodArray<z.ZodString>;
        }, z.core.$strip>>;
        trafficAllocationConfig: z.ZodOptional<z.ZodObject<{
            routeOnHeader: z.ZodObject<{
                headerName: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>>;
        maxDurationDays: z.ZodOptional<z.ZodNumber>;
        enableOnCreate: z.ZodOptional<z.ZodBoolean>;
        promoted: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>>;
    httpGateways: z.ZodDefault<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        runtimeRef: z.ZodString;
        roleArn: z.ZodOptional<z.ZodString>;
        targets: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            runtimeRef: z.ZodString;
            qualifier: z.ZodDefault<z.ZodString>;
        }, z.core.$strip>>>;
    }, z.core.$strict>>>;
    datasets: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        schemaType: z.ZodEnum<{
            AGENTCORE_EVALUATION_PREDEFINED_V1: "AGENTCORE_EVALUATION_PREDEFINED_V1";
            AGENTCORE_EVALUATION_SIMULATED_V1: "AGENTCORE_EVALUATION_SIMULATED_V1";
        }>;
        description: z.ZodOptional<z.ZodString>;
        config: z.ZodObject<{
            managed: z.ZodObject<{
                location: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>;
        kmsKeyArn: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>>;
}, z.core.$strict>;
export type AgentCoreProjectSpec = z.infer<typeof AgentCoreProjectSpecSchema>;
//# sourceMappingURL=agentcore-project.d.ts.map