import { Knex } from 'knex'; import { User, AuthProvider, UserService } from '../../types.js'; import { OAuthUser } from './index.js'; export declare abstract class BaseOAuthProvider implements AuthProvider { abstract clientID: string; abstract clientSecret: string; abstract callbackURL: string; abstract scopes: string[]; config: { clientID?: string; clientSecret?: string; callbackURL: string; scopes?: string[]; userService: UserService; knex: Knex; name: string; redirect_url: string; }; constructor(config: { clientID?: string; clientSecret?: string; callbackURL: string; scopes?: string[]; userService: UserService; knex: Knex; name: string; redirect_url: string; }); getConfig(): Promise<{ clientID: any; clientSecret: any; callbackURL: string; scopes: any; redirect_url: string; }>; abstract getAuthorizationUrl(): Promise; abstract exchangeCode(code: string, state: string): Promise<{ accessToken: string; }>; abstract getUserProfile(accessToken: string): Promise; authenticate({ code, state, }: { code: string; state: string; }): Promise; } //# sourceMappingURL=basic.d.ts.map