import { AxiosRequestHeaders } from "axios";
import Accounts from "../accounts";
import Budgets from "../budgets/Budgets";
import Categories from "../categories/Categories";
import FinancialEntities from "../financialEntities/index";
import Insights from "../insights/Insights";
import Transactions from "../transactions/Transactions";
interface IClassesDictionary {
    Accounts?: Accounts;
    Categories?: Categories;
    Transactions?: Transactions;
    Budgets?: Budgets;
    Insights?: Insights;
    FinancialEntities?: FinancialEntities;
}
interface IConnectParams {
    includes?: string | string[];
    serverUrl?: string;
}
export default class FinerioConnectSDK {
    private _includedClasses;
    private _authToken;
    private _baseURL;
    private _refreshToken;
    private _axiosApiInstance;
    private _tokenExpiresDate;
    constructor(arg?: IConnectParams | string[] | string);
    login(username: string, password: string, clientId: number, headers: AxiosRequestHeaders): Promise<IClassesDictionary>;
    connect(authToken?: string): IClassesDictionary;
    refreshApiToken(): Promise<any>;
    private getIncludedClasses;
    get authToken(): string;
    get refreshToken(): string;
    doGet(uri: string, success: (response: any) => any): Promise<any>;
    doPost(uri: string, body: any, success: (response: any) => any, headers?: AxiosRequestHeaders): Promise<any>;
    doPut(uri: string, body: any, success: (response: any) => any): Promise<any>;
    doDelete(uri: string, success: (response: any) => any): Promise<any>;
    private setNewAccessData;
    private processLogin;
    private setRequestInterceptors;
    private setRequestHeaders;
    private setResponseInterceptors;
    private processErrors;
    private createErrorBadRequest;
    private createErrorResObject;
    private createErrorObject;
    getUriParams(objectReq: Object): string;
}
export {};
