import { Observable } from 'rxjs';
import { LoginProvider } from './entities/login-provider';
import { SocialUser } from './entities/social-user';
export interface SocialAuthServiceConfig {
    autoLogin?: boolean;
    providers: {
        id: string;
        provider: LoginProvider;
    }[];
    onError?: (error: any) => any;
}
/** @dynamic */
export declare class SocialAuthService {
    private static readonly ERR_LOGIN_PROVIDER_NOT_FOUND;
    private static readonly ERR_NOT_LOGGED_IN;
    private static readonly ERR_NOT_INITIALIZED;
    private static readonly ERR_NOT_SUPPORTED_FOR_REFRESH_TOKEN;
    private providers;
    private autoLogin;
    private _user;
    private _authState;
    private initialized;
    private _initState;
    get authState(): Observable<SocialUser>;
    get initState(): Observable<boolean>;
    constructor(config: SocialAuthServiceConfig | Promise<SocialAuthServiceConfig>);
    private initialize;
    refreshAuthToken(providerId: string): Promise<void>;
    signIn(providerId: string, signInOptions?: any): Promise<SocialUser>;
    signOut(revoke?: boolean): Promise<any>;
}
