import { AbstractOAuth1Auth } from "../auth/IOAuth1Auth";
import { AbstractOAuth2Auth } from "../auth/IOAuth2Auth";
import { AbstractRequestClient } from "../IRequestClient";
export interface IApiConstructor<T> {
    new (baseUrl: string, oAuth1: AbstractOAuth1Auth | undefined | null, oAuth2: AbstractOAuth2Auth, requestClient: AbstractRequestClient): T;
}
export declare abstract class AbstractApi {
    protected readonly baseUrl: string;
    protected readonly oAuth1: AbstractOAuth1Auth | undefined | null;
    protected readonly oAuth2: AbstractOAuth2Auth;
    protected readonly requestClient: AbstractRequestClient;
    constructor(baseUrl: string, oAuth1: AbstractOAuth1Auth | undefined | null, oAuth2: AbstractOAuth2Auth, requestClient: AbstractRequestClient);
}
