import type { Handler } from 'hono';
export type McpContextPayload = {
    isMcpFlow: boolean;
    originalRedirectUri: string | null;
    mcpClientId: string | null;
    mcpState: string | null;
    mcpSessionId: string;
    mcpCodeChallenge?: string | null;
    mcpCodeChallengeMethod?: string | null;
    timestamp: number;
};
export declare function verifyPkce(codeChallenge: string, codeChallengeMethod: string | undefined, codeVerifier: string): boolean;
export declare function createMcpContextToken(context: McpContextPayload): Promise<string>;
export declare function verifyAndParseMcpContextToken(token: string): Promise<McpContextPayload>;
export declare function mcpOAuthProtectedResourceHandler(): Handler;
export declare function mcpOAuthAuthorizationServerHandler(): Handler;
/**
 * This code is not used in the MCP server, but it is required to satisfy the OAuth 2.0 Dynamic Client Registration Protocol.
 * Also it is simulating the client registration process.
 */
export declare function mcpDynamicClientRegistrationHandler(): Handler;
export declare function mcpAuthorizationHandler(): Handler;
export declare function mcpTokenPortalHandler(): Handler;
export declare function mcpCallbackHandler(): Handler;
//# sourceMappingURL=mcp-oauth.d.ts.map