import { JsonWebToken } from './JsonWebToken';
import { VerifyOptions } from 'jsonwebtoken';
export interface IdTokenPayload {
    address?: object;
    birthdate?: string;
    email?: string;
    email_verified?: boolean;
    family_name?: string;
    gender?: string;
    given_name?: string;
    locale?: string;
    middle_name?: string;
    name?: string;
    nickname?: string;
    phone_number?: string;
    phone_number_verified?: boolean;
    picture?: string;
    preferred_username?: string;
    profile?: string;
    sub?: string;
    updated_at?: number;
    website?: string;
    zoneinfo?: string;
}
/** @class */
export declare class IdToken extends JsonWebToken {
    protected pem?: string;
    /**
     * Constructs a new CognitoJwtToken object
     * @param {string} token The JWT token.
     * @param {string} [pem]
     * @param {VerifyOptions} [options]
     */
    constructor(token: string, pem?: string, options?: VerifyOptions);
    /**
     * Get the JWT payload
     * @returns {IdTokenPayload}
     */
    getIdTokenPayload(): IdTokenPayload;
    /**
     * Get the user's address
     * @returns {Object}
     */
    get address(): object;
    /**
     * Get the user's birthdate represented as an ISO 8601:2004 [ISO8601‑2004] YYYY-MM-DD format.
     * @returns {string}
     */
    get birthdate(): string;
    /**
     * Get the user's email address
     * @returns {string}
     */
    get email(): string;
    /**
     * Closed question if email address has been verified.
     * @returns {boolean}
     */
    get email_verified(): boolean;
    /**
     * Get the user's family name.
     * @returns {string}
     */
    get family_name(): string;
    /**
     * Get the user's gender
     * @returns {string}
     */
    get gender(): string;
    /**
     * Get the user's given name.
     * @returns {string}
     */
    get given_name(): string;
    /**
     * Get the user's locale.
     * @returns {string}
     */
    get locale(): string;
    /**
     * Get the user's middle name.
     * @returns {string}
     */
    get middle_name(): string;
    /**
     * Get the user's full name.
     * @returns {string}
     */
    get name(): string;
    /**
     * Get the user's nickname.
     * @returns {string}
     */
    get nickname(): string;
    /**
     * Get the user's phone number.
     * @returns {string}
     */
    get phone_number(): string;
    /**
     * Closed question asking if phone number has been verified.
     * @returns {boolean}
     */
    get phone_number_verified(): boolean;
    /**
     * Get a URL to the user's picture.
     * @returns {string}
     */
    get picture(): string;
    /**
     * Get the user's preferred name.
     * @returns {string}
     */
    get preferred_username(): string;
    get profile(): string;
    get sub(): string;
    get updated_at(): number;
    get website(): string;
    get zoneinfo(): string;
}
