import AuthSession from './AuthSession';
import { AuthSessionType } from '../../resources/enums';
import type Client from '../Client';
import type { EOSAuthData } from '../../resources/structs';
declare class EOSAuthSession extends AuthSession<AuthSessionType.EOS> {
    refreshToken: string;
    refreshTokenExpiresAt: Date;
    applicationId: string;
    mergedAccounts: string[];
    scope: string;
    easAccessToken: string;
    easExpiresAt: Date;
    easRefreshToken: string;
    easRefreshTokenExpiresAt: Date;
    refreshTimeout?: NodeJS.Timeout;
    private readonly basePayload;
    constructor(client: Client, data: EOSAuthData, clientSecret: string, basePayload: Record<string, string>);
    verify(forceVerify?: boolean): Promise<boolean>;
    revoke(): Promise<void>;
    grantEasRefreshToken(refreshToken: string): Promise<EOSAuthData>;
    refresh(): Promise<void>;
    initRefreshTimeout(): void;
    private static authenticate;
    static create(client: Client, clientId: string, clientSecret: string, createPayload: Record<string, string>, basePayload: Record<string, string>): Promise<EOSAuthSession>;
}
export default EOSAuthSession;
