import { BaseProvider } from "../Core/BaseProvider";
import { User } from "../Core/User";
/**
 * @see [Taobao - 用户授权介绍](https://open.taobao.com/doc.htm?docId=102635&docType=1&source=search)
 */
export declare class Taobao extends BaseProvider {
    static NAME: string;
    protected _baseUrl: string;
    protected _gatewayUrl: string;
    protected _scopes: string[];
    protected _view: string;
    protected withView(view: string): this;
    getAuthUrl(): string;
    protected getCodeFields(): Record<string, any>;
    getTokenUrl(): string;
    protected getTokenFields(code: string): Record<string, any>;
    tokenFromCode(code: string): Promise<Record<string, any>>;
    protected generateSign(params: Record<string, any>): string;
    protected getPublicFields(token: string, apiFields?: Record<string, any>): {
        app_key: string;
        sign_method: string;
        session: string;
        timestamp: any;
        v: string;
        format: string;
    };
    protected getUserInfoUrl(url: string, token: string): string;
    getUserByToken(token: string): Promise<Record<string, any>>;
    mapUserToObject(user: Record<string, any>): User;
}
