import type { OpenAPIPath } from '@redocly/openapi-docs/src/types';
import type { McpServer } from '@redocly/mcp-typescript-sdk/server/mcp.js';
import type { StreamableHTTPServerTransport } from '@redocly/mcp-typescript-sdk/server/streamableHttp.js';
import type { OpenAPIDefinition } from '@redocly/openapi-docs/lib/types/open-api.js';
import type { McpErrorCodes, McpServerType } from './constants';
type ObjectValues<T> = T[keyof T];
export type McpServerType = ObjectValues<typeof McpServerType>;
export type McpErrorCodeTypes = ObjectValues<typeof McpErrorCodes>;
export type McpPath = {
    'x-mcp'?: XMcpConfig;
} & OpenAPIPath;
export type XMcpConfig = {
    docs?: {
        hide?: boolean;
    };
};
export type McpEndpoint = {
    'x-mcp'?: XMcpConfig;
    [key: string]: any;
};
export type McpServerInstance = {
    readonly server: McpServer;
    readonly transport: StreamableHTTPServerTransport;
    cleanup(): Promise<void>;
};
export type McpPluginConfig = {
    readonly hide: boolean;
    readonly docs: {
        readonly hide: boolean;
        readonly name: string;
        readonly ignore: readonly string[];
    };
};
export type DocsServerDependencies = {
    definitions: OpenAPIDefinition[];
    readonly name: string;
};
export type McpUserInfo = {
    email?: string;
    name?: string;
    sub?: string;
    aud?: string | string[];
    client_id?: string;
    scope?: string;
    iat?: number;
    exp?: number;
    [key: string]: any;
};
export {};
//# sourceMappingURL=types.d.ts.map