import { AutorunObserver } from "../../autorun.js";
import { IObservable, TransactionImpl } from "../../base.js";
import { Derived } from "../../derived.js";
import { IChangeInformation, IObservableLogger } from "../logging.js";
export declare class DevToolsLogger implements IObservableLogger {
    private static _instance;
    static getInstance(): DevToolsLogger;
    private _declarationId;
    private _instanceId;
    private readonly _declarations;
    private readonly _instanceInfos;
    private readonly _aliveInstances;
    private readonly _activeTransactions;
    private readonly _channel;
    private getTransactionState;
    private _getObservableInfo;
    private _getAutorunInfo;
    private _getInfo;
    private _formatObservable;
    private _formatObserver;
    private constructor();
    private _pendingChanges;
    private readonly _changeThrottler;
    private readonly _fullState;
    private _handleChange;
    private readonly _flushUpdates;
    private _getDeclarationId;
    handleObservableCreated(observable: IObservable<any>): void;
    handleOnListenerCountChanged(observable: IObservable<any>, newCount: number): void;
    handleObservableUpdated(observable: IObservable<any>, changeInfo: IChangeInformation): void;
    handleAutorunCreated(autorun: AutorunObserver): void;
    handleAutorunDisposed(autorun: AutorunObserver): void;
    handleAutorunDependencyChanged(autorun: AutorunObserver, observable: IObservable<any>, change: unknown): void;
    handleAutorunStarted(autorun: AutorunObserver): void;
    handleAutorunFinished(autorun: AutorunObserver): void;
    handleDerivedDependencyChanged(derived: Derived<any>, observable: IObservable<any>, change: unknown): void;
    _handleDerivedRecomputed(observable: Derived<any>, changeInfo: IChangeInformation): void;
    handleDerivedCleared(observable: Derived<any>): void;
    handleBeginTransaction(transaction: TransactionImpl): void;
    handleEndTransaction(transaction: TransactionImpl): void;
}
