import type { Sse, StreamableHttp } from "../types.js"; import { HoomanMcpOAuthProvider } from "./provider.js"; import { Store } from "./store.js"; export type OAuthRemoteTransport = StreamableHttp | Sse; export type ServiceOptions = { store?: Store; clientLabel?: string; }; export type BeginAuthorizationResult = { authorizationUrl: URL; complete: (options?: { signal?: AbortSignal; timeoutMs?: number; }) => Promise; cancel: () => Promise; }; export declare class Service { private readonly store; private readonly clientLabel?; private readonly providers; constructor(options?: ServiceOptions); getProvider(serverName: string, transport: OAuthRemoteTransport): HoomanMcpOAuthProvider; hasTokens(serverName: string, transport: OAuthRemoteTransport): Promise; beginAuthorization(serverName: string, transport: OAuthRemoteTransport): Promise; authenticate(serverName: string, transport: OAuthRemoteTransport): Promise; logout(serverName: string, transport: OAuthRemoteTransport, scope?: "all" | "client" | "tokens" | "discovery"): Promise; status(serverName: string, transport: OAuthRemoteTransport): Promise<"authenticated" | "expired" | "unauthenticated">; private createCallbackServer; }