import Core from '../../core/Core';
import SessionsRequest from '../SessionsRequest';
import { Service } from '../../core/nqs/Services';
/**
 * Handles plugin and player logging for QA tools
 */
export default class PluginLogger {
    private core;
    private options;
    private requestBuilder;
    private queueRequest;
    private isMethodPostEnabled;
    constructor(core: Core, options: any, requestBuilder: any, queueRequest: (request: SessionsRequest) => boolean, isMethodPostEnabled: () => boolean);
    /**
     * Check if plugin logs are enabled
     */
    isPluginLogsEnabled(): boolean;
    /**
     * Check if player logs are enabled
     */
    isPlayerLogsEnabled(): boolean;
    /**
     * Send plugin logs
     * @param willSendLog - Log identifier
     * @param service - Service name
     * @param params - Log parameters
     */
    sendPluginLogs(willSendLog: string, service: Service, params: any): void;
    /**
     * Log session start event
     * @param dimensions - Event dimensions
     */
    logFireSessionStartEvent(dimensions: object): void;
    /**
     * Log session stop event
     * @param eventParams - Event parameters
     */
    logFireSessionStopEvent(eventParams: object): void;
    /**
     * Log session error event
     */
    logFireSessionErrorEvent(code: string, msg: string, errorType?: string, metadata?: any, duration?: number, dimensions?: object, values?: object): void;
    /**
     * Log event
     * @param eventName - Event name
     */
    logFireEventListener(eventName: string): void;
    /**
     * Log event end
     * @param eventName - Event name
     */
    logFireEventEndListener(eventName: string): void;
    /**
     * Log navigation
     * @param dimensions - Navigation dimensions
     */
    logFireNavListener(dimensions: object): void;
}
