import { ACL, ChannelState } from '@tf2pickup-org/mumble-protocol'; import { Change } from './change.js'; import { Client } from './client.js'; import { Permissions } from './permissions.js'; import { User } from './user.js'; type ChannelChangeableProps = Pick; export type ChannelChanges = { -readonly [P in keyof ChannelChangeableProps]?: Change; }; export declare class Channel { readonly client: Client; readonly id: number; name?: string; parent?: number; temporary: boolean; private links; constructor(client: Client, channelState: ChannelState & { channelId: number; }); get users(): User[]; get subChannels(): Channel[]; get linkedChannels(): Channel[]; createSubChannel(name: string): Promise; remove(): Promise; getPermissions(): Promise; link(otherChannel: Channel | number): Promise; unlink(otherChannel: Channel | number): Promise; fetchAcl(): Promise; saveAcl(acl: ACL): Promise; } export {};