import { OAuth2 } from "oauth";
import { OAuthProvider, OAuthTokenResponse } from "./oauth.interfaces";
export declare class OAuthImplement {
    private readonly provider;
    private readonly defaultRedirectUri;
    constructor(provider: OAuthProvider);
    getOAuth2({ mode }: {
        mode: "authorize" | "accessToken";
    }): OAuth2;
    getAuthorizeUrl({ state }: {
        state: string;
    }): string;
    getAccessToken({ code }: {
        code: string;
    }): Promise<OAuthTokenResponse>;
    refreshAccessToken({ refreshToken, }: {
        refreshToken: string;
    }): Promise<OAuthTokenResponse>;
}
