import type { Response, Request } from 'express'; import type { OAuthServerProvider } from '@modelcontextprotocol/sdk/server/auth/provider.js'; import type { OAuthRegisteredClientsStore } from '@modelcontextprotocol/sdk/server/auth/clients.js'; import type { OAuthClientInformationFull } from '@modelcontextprotocol/sdk/shared/auth.js'; import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js'; import type { AuthorizationParams } from '@modelcontextprotocol/sdk/server/auth/provider.js'; import type { OAuthTokens, OAuthTokenRevocationRequest } from '@modelcontextprotocol/sdk/shared/auth.js'; export declare class RedmineOAuthProvider implements OAuthServerProvider { private redmineUrl; constructor(redmineUrl: string); get clientsStore(): OAuthRegisteredClientsStore; authorize(client: OAuthClientInformationFull, params: AuthorizationParams, res: Response): Promise; /** * Handle the form POST from the auth page. * Validates the API key against Redmine, then redirects with an auth code. */ handleAuthCallback(req: Request, res: Response): Promise; 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; } //# sourceMappingURL=provider.d.ts.map