///
///
import { Callback } from "./types";
import { GuardCallback, GuardOptions } from "./middlewares/guard";
import { RequestHandler } from "express";
declare class FirebaseAuth {
private apiKey;
constructor(apiKey: string);
static initTokenMiddleware(serviceAccount: any): RequestHandler;
static initTokenMiddleware(serviceAccount: any, options: GuardOptions): RequestHandler;
static initTokenMiddleware(serviceAccount: any, callback: GuardCallback): RequestHandler;
static initTokenMiddleware(serviceAccount: any, options: GuardOptions, callback: GuardCallback): RequestHandler;
signInWithEmail(email: string, password: string, callback: Callback): void;
sendVerificationEmail(token: string, callback: Callback): void;
verifyEmail(oobcode: string, callback: Callback): void;
sendPasswordResetEmail(email: string, callback: Callback): void;
verifyPasswordResetcode(oobcode: string, callback: Callback): void;
resetPassword(oobcode: string, newPassword: string, callback: Callback): void;
changePassword(token: string, password: string, callback: Callback): void;
getProfile(token: string, callback: Callback): void;
updateProfile(token: string, name: string, photoUrl: string, callback: Callback): void;
refreshToken(refreshToken: string, callback: Callback): void;
registerWithEmail(email: string, password: string, extras: any, callback: Callback): void;
loginWithFacebook(providerToken: string, callback: Callback): void;
linkWithFacebook(idToken: string, providerToken: string, callback: Function): void;
loginWithGoogle(providerToken: string, callback: Callback): void;
linkWithGoogle(idToken: string, providerToken: string, callback: Function): void;
loginWithGithub(providerToken: string, callback: Callback): void;
linkWithGithub(idToken: string, providerToken: string, callback: Function): void;
loginWithTwitter(providerToken: string, callback: Callback): void;
linkWithTwitter(idToken: string, providerToken: string, callback: Function): void;
}
export = FirebaseAuth;