import { IotaCredentials, PrepareRequestParams } from './helpers/channel-provider';
import { IotaResponse, IotaResponseCallbackFunction } from './helpers/response-handler';
import { VaultHandler } from './helpers/vault-handler';
import { IotaRequest } from './request';
import { IotaError } from './validators/error';
export type SessionParams = {
    credentials: IotaCredentials;
};
export type IotaRequestCallbackFunction = (err: IotaError | null, data: IotaRequest | null) => void;
export declare class Session {
    private channelProvider;
    private credentials;
    vaultHandler: VaultHandler;
    constructor(params: SessionParams);
    initialize(): Promise<void>;
    prepareRequest(params: PrepareRequestParams): Promise<IotaRequest>;
    prepareRequestWithCallback(params: PrepareRequestParams, callback: IotaRequestCallbackFunction): void;
    getResponse(correlationId: string): Promise<IotaResponse>;
    getResponseWithCallback(correlationId: string, callback: IotaResponseCallbackFunction): void;
    private isChannelProviderInitialized;
}
