import { EventEmitter } from "node:events"; import { Connection } from "./connection.js"; import { type ModelId, type ModelSchema, type ModelStateMap } from "./models/index.js"; import { RoutingApi } from "./routing.js"; import { SlotApi, OutputApi } from "./channels.js"; import { SineGeneratorApi, NoiseGeneratorApi } from "./generators.js"; import { MetersApi, type MeterFrame } from "./meters.js"; import type { Path, PathValue } from "./paths.js"; export interface GlobconClientConfig { ip: string; model?: ModelId; port?: number; meterPorts?: { p5011: number; p5002: number; }; retryIntervalMs?: number; requestTimeoutMs?: number; pingIntervalMs?: number; fetchStateOnConnect?: boolean; } export interface GlobconClientEvents { connect: []; reconnected: []; disconnect: []; reconnecting: []; ready: []; state: [unknown]; update: [unknown]; meter: [MeterFrame]; error: [Error]; } export declare class GlobconClient extends EventEmitter { protected readonly config: GlobconClientConfig; readonly schema: ModelSchema; readonly routing: RoutingApi; readonly meters: MetersApi; protected readonly conn: Connection; private cached?; constructor(config: GlobconClientConfig); connect(): Promise; protected onReconnected(): Promise; get connected(): boolean; get state(): ModelStateMap[M] | undefined; getState(): Promise; get

>(path: P): Promise>; set

>(path: P, value: PathValue): Promise; ping(): Promise; slot(index: number): SlotApi; output(index: number): OutputApi; sineGen(index: number): SineGeneratorApi; pinkNoise(index: number): NoiseGeneratorApi; whiteNoise(index: number): NoiseGeneratorApi; private onUpdate; destroy(): Promise; }