import { Response } from 'express'; import { OAuthServerProvider, AuthorizationParams } from '@modelcontextprotocol/sdk/server/auth/provider.js'; import { OAuthRegisteredClientsStore } from '@modelcontextprotocol/sdk/server/auth/clients.js'; import { OAuthClientInformationFull, OAuthTokens, OAuthTokenRevocationRequest } from '@modelcontextprotocol/sdk/shared/auth.js'; import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js'; import { InMemoryClientsStore } from './clients.js'; /** * In-memory OAuth 2.0 provider implementing the MCP authorization server. * For production use, replace in-memory Maps with a persistent store. */ export declare class MagpieOAuthProvider implements OAuthServerProvider { private _clientsStore; private authorizationCodes; private accessTokens; private refreshTokens; private tokenExpirySeconds; constructor(tokenExpirySeconds?: number); get clientsStore(): OAuthRegisteredClientsStore; get merchantClientsStore(): InMemoryClientsStore; authorize(client: OAuthClientInformationFull, params: AuthorizationParams, res: Response): Promise; generateCodeAndRedirect(client: OAuthClientInformationFull, params: AuthorizationParams, res: Response): void; challengeForAuthorizationCode(_client: OAuthClientInformationFull, authorizationCode: string): Promise; exchangeAuthorizationCode(client: OAuthClientInformationFull, authorizationCode: string, _codeVerifier?: string, _redirectUri?: string, resource?: URL): Promise; exchangeRefreshToken(client: OAuthClientInformationFull, refreshToken: string, scopes?: string[], resource?: URL): Promise; verifyAccessToken(token: string): Promise; revokeToken(_client: OAuthClientInformationFull, request: OAuthTokenRevocationRequest): Promise; private issueTokens; }