declare module 'mizan/channels' { export interface ChannelSubscription< TParams = unknown, TServerMessage = unknown, TClientMessage = unknown, > { status: 'connecting' | 'connected' | 'disconnected' messages: TServerMessage[] send: TClientMessage extends never ? never : (message: TClientMessage) => void unsubscribe: () => void clearMessages: () => void } export function useChannel< TParams = undefined, TServerMessage = unknown, TClientMessage = unknown, >( channelName: string, params?: TParams, ): ChannelSubscription }