export interface AgoraFetchParams {
    url?: string;
    method: string;
    data?: any;
    token?: string;
    full_url?: string;
    type?: string;
    restToken?: string;
}
export declare type ApiInitParams = {
    userToken: string;
    sdkDomain: string;
    appId: string;
    rtmToken: string;
    rtmUid: string;
    prefix: string;
    roomUuid: string;
};
export declare type ApiBaseInitializerParams = {
    sdkDomain: string;
    appId: string;
    rtmToken: string;
    rtmUid: string;
};
export declare abstract class ApiBase {
    protected rtmToken: string;
    protected rtmUid: string;
    protected appId: string;
    protected sdkDomain: string;
    protected userToken: string;
    protected prefix: string;
    constructor(params: ApiBaseInitializerParams);
    updateRtmConfig(info: {
        rtmUid: string;
        rtmToken: string;
    }): void;
    fetch(params: AgoraFetchParams): Promise<any>;
    fetchFormData(params: AgoraFetchParams): Promise<any>;
}
