import { Logger as OtelLogger } from "@opentelemetry/api-logs";
import * as Contracts from "../declarations/contracts";
/**
 * Log manual API to generate Application Insights telemetry
 */
export declare class LogApi {
    private _idGenerator;
    private _logger;
    /**
    * Constructs a new client of LogApi
    */
    constructor(logger: OtelLogger);
    /**
       * Log information about availability of an application
       * @param telemetry      Object encapsulating tracking options
       */
    trackAvailability(telemetry: Contracts.AvailabilityTelemetry): void;
    /**
     * Log a page view
     * @param telemetry      Object encapsulating tracking options
     */
    trackPageView(telemetry: Contracts.PageViewTelemetry): void;
    /**
     * Log a trace message
     * @param telemetry      Object encapsulating tracking options
     */
    trackTrace(telemetry: Contracts.TraceTelemetry): void;
    /**
     * Log an exception
     * @param telemetry      Object encapsulating tracking options
     */
    trackException(telemetry: Contracts.ExceptionTelemetry): void;
    /**
     * Log a user action or other occurrence.
     * @param telemetry      Object encapsulating tracking options
     */
    trackEvent(telemetry: Contracts.EventTelemetry): void;
    private _telemetryToLogRecord;
    /**
    * Availability Log to LogRecord parsing.
    * @internal
    */
    private _availabilityToLogRecord;
    /**
     * Exception to LogRecord parsing.
     * @internal
     */
    private _exceptionToLogRecord;
    /**
     * Trace to LogRecord parsing.
     * @internal
     */
    private _traceToLogRecord;
    /**
     * PageView to LogRecord parsing.
     * @internal
     */
    private _pageViewToLogRecord;
    /**
     * Event to LogRecord parsing.
     * @internal
     */
    private _eventToLogRecord;
}
