import type { ServerWebSocket } from 'bun'; import type { Channel, ChannelAuthorizationCallback, ChannelAuthorizationClass, ChannelType, PresenceMember, WebSocketData } from './types'; export declare class ChannelManager { channel(channelPattern: string, callback: ChannelAuthorizationCallback | ChannelAuthorizationClass): this; getChannel(channelName: string): Channel; getChannelType(channelName: string): ChannelType; subscribe(ws: ServerWebSocket, channelName: string, channelData?: unknown): Promise; unsubscribe(ws: ServerWebSocket, channelName: string): void; unsubscribeAll(ws: ServerWebSocket): void; authorize(ws: ServerWebSocket, channelName: string, _channelData?: unknown): Promise; getSubscribers(channelName: string): Set; getPresenceMembers(channelName: string): Map | null; getSubscriberCount(channelName: string): number; hasChannel(channelName: string): boolean; getChannelNames(): string[]; getChannelCount(): number; }