import { Option } from "../types/config/options"; import { ServiceContainer, bootstrapContainer } from "./bootstrap"; import { uuidv7 } from "./shared"; import { RestChannelManager } from "./managers/channel-manager"; import { RestQueueManager } from "./managers/queue-manager"; import { IOptionManager, IAuthManager, IRestQueueManager, } from "../types/services/managers"; import { ILogger, ILoggerFactory, } from "../types/services/clients"; export class Rest { private instanceId: string; private container: ServiceContainer; // Public API - expose through interfaces for clean contracts public readonly optionManager: IOptionManager; public readonly auth: IAuthManager; public readonly channels: RestChannelManager; public readonly queues: IRestQueueManager; private logger: ILogger; constructor(options?: Partial