import { AutorunObserver } from 'vs/base/common/observableInternal/autorun'; import { IObservable, ObservableValue, TransactionImpl } from 'vs/base/common/observableInternal/base'; import { Derived } from 'vs/base/common/observableInternal/derived'; import { FromEventObservable } from 'vs/base/common/observableInternal/utils'; export declare function setLogger(logger: IObservableLogger): void; export declare function getLogger(): IObservableLogger | undefined; interface IChangeInformation { oldValue: unknown; newValue: unknown; change: unknown; didChange: boolean; hadValue: boolean; } export interface IObservableLogger { handleObservableChanged(observable: ObservableValue, info: IChangeInformation): void; handleFromEventObservableTriggered(observable: FromEventObservable, info: IChangeInformation): void; handleAutorunCreated(autorun: AutorunObserver): void; handleAutorunTriggered(autorun: AutorunObserver): void; handleAutorunFinished(autorun: AutorunObserver): void; handleDerivedCreated(observable: Derived): void; handleDerivedRecomputed(observable: Derived, info: IChangeInformation): void; handleBeginTransaction(transaction: TransactionImpl): void; handleEndTransaction(): void; } export declare class ConsoleObservableLogger implements IObservableLogger { private indentation; private textToConsoleArgs; private formatInfo; handleObservableChanged(observable: IObservable, info: IChangeInformation): void; private readonly changedObservablesSets; formatChanges(changes: Set>): ConsoleText | undefined; handleDerivedCreated(derived: Derived): void; handleDerivedRecomputed(derived: Derived, info: IChangeInformation): void; handleFromEventObservableTriggered(observable: FromEventObservable, info: IChangeInformation): void; handleAutorunCreated(autorun: AutorunObserver): void; handleAutorunTriggered(autorun: AutorunObserver): void; handleAutorunFinished(autorun: AutorunObserver): void; handleBeginTransaction(transaction: TransactionImpl): void; handleEndTransaction(): void; } type ConsoleText = (ConsoleText | undefined)[] | { text: string; style: string; data?: unknown[]; } | { data: unknown[]; }; export {}; //# sourceMappingURL=logging.d.ts.map