import type { DebugMonitorConfig, DebugMotionState, DebugLifecycleEvent, DebugLifecycleSound, LocationSubscription } from './types'; type MotionStateCallback = (state: DebugMotionState) => void; type HeartbeatCallback = (event: DebugLifecycleEvent) => void; type EnabledChangeCallback = (enabled: boolean) => void; type LifecycleCallback = (event: DebugLifecycleEvent) => void; /** * Debug Monitor — provides development-time feedback about what the * tracking engine is doing. Mirrors transistorsoft's debug mode. * * Features: * - Sound effects for lifecycle events (motion change, location, geofence, etc.) * - Dynamic Android notification text based on activity state * - Motion state machine with stopTimeout (moving ↔ stationary) * - Periodic heartbeat events * - onEnabledChange events * - Lifecycle event log for debugging */ export declare class DebugMonitor { private _enabled; private _sound; private motionStateListeners; private heartbeatListeners; private enabledChangeListeners; private lifecycleListeners; private subs; get enabled(): boolean; /** * Configure and enable debug mode. * Call with your config to turn on debug features. */ configure(config?: DebugMonitorConfig): Promise; /** * Disable debug mode and clean up. */ disable(): Promise; /** * Get the current motion state from the native state machine. */ getMotionState(): Promise; /** * Subscribe to motion state changes (moving ↔ stationary). */ onMotionStateChange(callback: MotionStateCallback): LocationSubscription; /** * Subscribe to periodic heartbeat events. */ onHeartbeat(callback: HeartbeatCallback): LocationSubscription; /** * Subscribe to enabled state changes (tracking start/stop). */ onEnabledChange(callback: EnabledChangeCallback): LocationSubscription; /** * Subscribe to all debug lifecycle events (for logging). */ onLifecycleEvent(callback: LifecycleCallback): LocationSubscription; /** * Get human-readable label for a sound event. */ getSoundLabel(sound: DebugLifecycleSound): string; private subscribeToEvents; private unsubscribeFromEvents; } /** Singleton instance */ export declare const debugMonitor: DebugMonitor; export default DebugMonitor; //# sourceMappingURL=DebugMonitor.d.ts.map