import type { OAuthProfile, OAuthProvider } from "./types"; interface GitHubOAuthOptions { clientId: string; clientSecret: string; redirectUri: string; } declare class GitHubOAuthProvider implements OAuthProvider { private readonly options; readonly name = "github"; constructor(options: GitHubOAuthOptions); getAuthorizationUrl(state: string, redirectUri?: string): string; exchangeCode(code: string, redirectUri?: string): Promise; } declare class MockOAuthProvider implements OAuthProvider { private readonly profile; readonly name = "mock"; constructor(profile: OAuthProfile); getAuthorizationUrl(state: string): string; exchangeCode(code: string): Promise; } export type { GitHubOAuthOptions }; export { GitHubOAuthProvider, MockOAuthProvider };