type Listener = (...args: any[]) => void; /** * Manages state transitions and event handling for the AI assistant. * Provides a pub/sub system for components to listen to and react to state changes * (idle, connecting, connected, disconnecting, error). * * Usage: * - Subscribe to state changes: on('stateChange', (state, ...args) => {}) * - Unsubscribe from events: off('stateChange', listener) * - Emit state changes: emitStateChange(STATE_CONNECTED) * - Emit custom events: emit('customEvent', ...args) */ declare class ButtonStateManager { private events; on(eventName: string, listener: Listener): void; off(eventName: string, listener: Listener): void; emit(eventName: string, ...args: any[]): void; emitStateChange(eventName: string, ...args: any[]): void; static get STATE_IDLE(): string; static get STATE_CONNECTING(): string; static get STATE_CONNECTED(): string; static get STATE_DISCONNECTING(): string; static get STATE_ERROR(): string; } export default ButtonStateManager;