import { RequestService } from '../services';
export declare class BaseAccount {
    protected $request: RequestService;
    _id: string;
    accountType: string;
    accountToken: string;
    provider: string;
    name: string;
    verified: boolean;
    accountCategory: AccountCategory;
    $tracker: OperateTracker;
    constructor($request: RequestService);
    setTracker(tracker: OperateTracker): void;
    $operate(options: AccountOperateOptions): Promise<any>;
}
export interface OperateTracker {
    track(options: AccountOperateOptions, err: any, result?: any): Promise<void>;
}
export interface AccountCategory {
    accountType: string;
    provider: string;
    name: string;
    imageUrl: string;
}
export interface AccountOperateOptions {
    name: string;
    ref: string;
    method?: string;
    headers?: any;
    query?: {
        [name: string]: string;
    };
    body?: any;
}
