import { AbstractProvider, SocialTokens } from './abstract-provider.service';
export interface GoogleAuthParams {
    nonce?: string;
    prompt?: string;
    display?: string;
    login_hint?: string;
    access_type?: 'offline' | 'online';
    include_granted_scopes?: true | false;
    'openid.realm'?: string;
    hd?: string;
}
export interface GoogleUserInfo {
    aud: string;
    exp: number;
    iat: number;
    iss: string;
    sub: string;
    at_hash?: string;
    azp?: string;
    email?: string;
    email_verified?: boolean;
    family_name?: string;
    given_name?: string;
    hd?: string;
    locale?: string;
    name?: string;
    nonce?: string;
    picture?: string;
    profile?: string;
    [name: string]: unknown;
}
export declare class InvalidJWTError extends Error {
    readonly name = "InvalidJWTError";
}
/**
 * Google social provider.
 *
 * @export
 * @class GoogleProvider
 * @extends {AbstractProvider<GoogleAuthParams, never>}
 */
export declare class GoogleProvider extends AbstractProvider<GoogleAuthParams, never, GoogleUserInfo> {
    protected configPaths: {
        clientId: string;
        clientSecret: string;
        redirectUri: string;
    };
    protected authEndpoint: string;
    protected tokenEndpoint: string;
    protected defaultScopes: string[];
    getUserInfoFromTokens(tokens: SocialTokens): GoogleUserInfo;
}
