/** * Debug Trackers — Data collection for signals, components, routes, and API. */ import type { Signal } from '../core/signal'; import type { Tina4Element } from '../core/component'; import type { ChangeEvent } from '../router/router'; export interface TrackedSignal { ref: WeakRef>; label?: string; createdAt: number; updateCount: number; subs: WeakRef void>>; } export declare const signalTracker: { add(s: Signal, label?: string): void; onUpdate(s: Signal): void; getAll(): { label?: string; value: unknown; subscriberCount: number; updateCount: number; alive: boolean; }[]; readonly count: number; }; export interface TrackedComponent { ref: WeakRef; tagName: string; mountedAt: number; } export declare const componentTracker: { onMount(el: Tina4Element): void; onUnmount(el: Tina4Element): void; getAll(): { tagName: string; props: Record; alive: boolean; }[]; readonly count: number; }; export interface RouteEntry { path: string; pattern: string; params: Record; durationMs: number; timestamp: number; } declare let _getRoutesFn: (() => ReadonlyArray<{ pattern: string; hasGuard: boolean; }>) | null; export declare const routeTracker: { /** Set the function that reads registered routes (avoids direct import from router). */ setGetRoutes(fn: typeof _getRoutesFn): void; getRegisteredRoutes(): ReadonlyArray<{ pattern: string; hasGuard: boolean; }>; onNavigate(event: ChangeEvent): void; getHistory(): readonly RouteEntry[]; readonly count: number; }; export interface ApiEntry { id: number; method: string; url: string; status?: number; durationMs?: number; hasAuth: boolean; timestamp: number; pending: boolean; error?: string; } export declare const apiTracker: { onRequest(config: RequestInit & { headers: Record; _url?: string; _requestId?: number; }): void; onResponse(response: { status: number; ok: boolean; _requestId?: number; }): void; getLog(): readonly ApiEntry[]; readonly count: number; }; export {}; //# sourceMappingURL=trackers.d.ts.map