import { Auto, Change, ObserverTarget } from './shared/ed456245'; interface DebugState { name: string; actions?: any[]; renders?: number; } /** Get the `Auto` object for the current `withAuto` component being rendered. */ declare function getCurrentAuto(): Auto | null; /** * Get the `DebugState` object of the `target` object. * * Returns `undefined` if target was never passed to `setDebug`. */ declare function getDebug(target: object): DebugState; /** * Set the `DebugState` object of the `target` object. */ declare function setDebug(target: T, debug: DebugState): T; /** Safely add an action to a `DebugState` object */ declare function addDebugAction(target: any, action: any): void; declare function logChange(change: Change, targetId?: string): void; declare global { interface Console { groupCollapsed(name: string): void; groupEnd(): void; } } declare type ChangeLogConfig = { name?: string; onChange?: (change: Change) => void; }; declare function logChanges(target: ObserverTarget, { name, onChange }?: ChangeLogConfig): { onChange: (change: Change) => void; dispose: () => void; }; /** * Log any shallow changes to the given observable object. */ declare function useChangeLog(target: object, { name, onChange }?: ChangeLogConfig): void; declare function useObserverLog(name?: string): void; declare function useRenderLog(): void; export { ChangeLogConfig, addDebugAction, getCurrentAuto, getDebug, logChange, logChanges, setDebug, useChangeLog, useObserverLog, useRenderLog };