import { Types } from 'wa-chat-server';
import { IWAChatServerMluviiConfig } from '../interface/IWAChatServerMluviiConfig';
import { IMluviiPublicAPIDependencies } from '../interface/IMluviiPublicAPIDependencies';
export declare class MluviiPublicAPI {
    private config;
    dependencies: IMluviiPublicAPIDependencies;
    private token;
    private tokenExpiration;
    private axios;
    private log;
    constructor(config: IWAChatServerMluviiConfig, dependencies: IMluviiPublicAPIDependencies);
    private getTokenRequest;
    /**
     * Removes some keys from the response for the purpose of logging
     */
    private pruneResponse;
    getAccessToken(): Promise<string>;
    sendMessage(sessionId: string, watsonResponse: Record<string, any>, // AssistantV1.Response
    session: Types.ISession, date?: Date): Promise<void>;
}
