import type { CfnGateway } from '../../../aws-bedrockagentcore';
/******************************************************************************
 *                                 Enums
 *****************************************************************************/
/**
 * The type of protocols
 * @internal
 */
export declare enum GatewayProtocolType {
    /**
     * MCP (Model Context Protocol) protocol type.
     */
    MCP = "MCP"
}
/******************************************************************************
 *                                Protocol Configuration
 *****************************************************************************/
/**
 * Abstract interface for gateway protocol configuration
 */
export interface IGatewayProtocolConfig {
    /**
     * The protocol type
     */
    readonly protocolType: string;
    /**
     * Returns internal info as the CFN protocol configuration object
     * @internal
     */
    _render(): any;
}
/**
 * Factory class for instantiating Gateway Protocols
 */
export declare abstract class GatewayProtocol {
    /**
     * Create an MCP protocol configuration
     * @param props - Optional MCP configuration properties
     * @returns IGatewayProtocolConfig configured for MCP
     */
    static mcp(props?: McpConfiguration): IGatewayProtocolConfig;
}
/******************************************************************************
 *                          MCP Protocol Configuration
 *****************************************************************************/
/**
 * MCP protocol versions.
 * The Model Context Protocol uses string-based version identifiers following the format YYYY-MM-DD,
 * to indicate the last date backwards incompatible changes were made.
 * Versions are available at https://github.com/modelcontextprotocol/modelcontextprotocol/releases
 */
export declare class MCPProtocolVersion {
    /**
     * The latest version of the MCP protocol.
     */
    static readonly MCP_2025_06_18: MCPProtocolVersion;
    /** MCP version 2025-03-26 */
    static readonly MCP_2025_03_26: MCPProtocolVersion;
    /**
     * Use a custom MCP protocol version not yet defined in this class.
     * @param value The version string (YYYY-MM-DD format)
     */
    static of(value: string): MCPProtocolVersion;
    /** The version string value. */
    readonly value: string;
    private constructor();
    /** Returns the string value. */
    toString(): string;
}
/**
 * Search types supported by MCP gateway
 */
export declare class McpGatewaySearchType {
    /**
     * Semantic search type.
     * When semantic search is enabled, your gateway can search the tools via
     * the gateway SDK based off of a natural language phrase.
     */
    static readonly SEMANTIC: McpGatewaySearchType;
    /**
     * Use a custom search type not yet defined in this class.
     * @param value The search type string value
     */
    static of(value: string): McpGatewaySearchType;
    /** The search type string value. */
    readonly value: string;
    private constructor();
    /** Returns the string value. */
    toString(): string;
}
/**
 * MCP protocol configuration
 * The configuration for the Model Context Protocol (MCP).
 * This protocol enables communication between Amazon Bedrock Agent and external tools.
 */
export interface McpConfiguration {
    /**
     * The instructions for using the Model Context Protocol gateway.
     * These instructions provide guidance on how to interact with the gateway.
     *
     * @default - No instructions provided
     */
    readonly instructions?: string;
    /**
     * The search type for the Model Context Protocol gateway.
     * This field specifies how the gateway handles search operations.
     *
     * @default - No search type specified
     */
    readonly searchType?: McpGatewaySearchType;
    /**
     * The supported versions of the Model Context Protocol.
     * This field specifies which versions of the protocol the gateway can use.
     *
     * @default - No specific versions specified
     */
    readonly supportedVersions?: MCPProtocolVersion[];
}
/**
 * MCP (Model Context Protocol) configuration implementation
 */
export declare class McpProtocolConfiguration implements IGatewayProtocolConfig {
    readonly protocolType: string;
    /**
     * The supported MCP protocol versions
     */
    readonly supportedVersions?: MCPProtocolVersion[];
    /**
     * The search type for the MCP gateway
     */
    readonly searchType?: string;
    /**
     * Instructions for using the MCP gateway
     */
    readonly instructions?: string;
    constructor(props?: McpConfiguration);
    /**
     * @internal
     */
    _render(): CfnGateway.GatewayProtocolConfigurationProperty;
}
