import { AuthProvider, ExternalAuthPayload, UserModel } from '..'; import passport from 'passport'; import { Express } from 'express'; declare type ProviderCallback = (err?: any, user?: any, info?: any) => void; export declare const ExternalAuth: { setupPassport(app: Express): void; _registerStrategies(): void; getProviderStrategy(provider: AuthProvider): { registerStrategy(): void; authOptions: { scope: string[]; }; } | { registerStrategy(): void; authOptions: { scope: string; }; }; authCallback(provider: AuthProvider, accessToken: string, refreshToken: string, profile: passport.Profile, cb: ProviderCallback): Promise; createAccountFromProvider(provider: AuthProvider, profile: passport.Profile, email: string, emailVerified: boolean | undefined, cb: ProviderCallback): Promise; updateAccountFromProvider(provider: AuthProvider, profile: passport.Profile, user: UserModel, emailVerified: boolean | undefined, cb: ProviderCallback): Promise; sign: (payload: ExternalAuthPayload) => Promise; verify: (token: string) => Promise; }; export {};