import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
/**
 * @generated from protobuf message MumbleProto.Version
 */
export interface Version {
    /**
     * Legacy version number format.
     *
     * @generated from protobuf field: optional uint32 version_v1 = 1
     */
    versionV1?: number;
    /**
     * New version number format.
     * Necessary since patch level may exceed 255. (See https://github.com/mumble-voip/mumble/issues/5827)
     *
     * @generated from protobuf field: optional uint64 version_v2 = 5
     */
    versionV2?: bigint;
    /**
     * Client release name.
     *
     * @generated from protobuf field: optional string release = 2
     */
    release?: string;
    /**
     * Client OS name.
     *
     * @generated from protobuf field: optional string os = 3
     */
    os?: string;
    /**
     * Client OS version.
     *
     * @generated from protobuf field: optional string os_version = 4
     */
    osVersion?: string;
}
/**
 * Not used. Not even for tunneling UDP through TCP.
 *
 * @generated from protobuf message MumbleProto.UDPTunnel
 */
export interface UDPTunnel {
    /**
     * Not used.
     *
     * @generated from protobuf field: required bytes packet = 1
     */
    packet: Uint8Array;
}
/**
 * Used by the client to send the authentication credentials to the server.
 *
 * @generated from protobuf message MumbleProto.Authenticate
 */
export interface Authenticate {
    /**
     * UTF-8 encoded username.
     *
     * @generated from protobuf field: optional string username = 1
     */
    username?: string;
    /**
     * Server or user password.
     *
     * @generated from protobuf field: optional string password = 2
     */
    password?: string;
    /**
     * Additional access tokens for server ACL groups.
     *
     * @generated from protobuf field: repeated string tokens = 3
     */
    tokens: string[];
    /**
     * A list of CELT bitstream version constants supported by the client.
     *
     * @generated from protobuf field: repeated int32 celt_versions = 4
     */
    celtVersions: number[];
    /**
     * @generated from protobuf field: optional bool opus = 5 [default = false]
     */
    opus?: boolean;
    /**
     * 0 = REGULAR, 1 = BOT
     *
     * @generated from protobuf field: optional int32 client_type = 6 [default = 0]
     */
    clientType?: number;
}
/**
 * Sent by the client to notify the server that the client is still alive.
 * Server must reply to the packet with the same timestamp and its own
 * good/late/lost/resync numbers. None of the fields is strictly required.
 *
 * @generated from protobuf message MumbleProto.Ping
 */
export interface Ping {
    /**
     * Client timestamp. Server should not attempt to decode.
     *
     * @generated from protobuf field: optional uint64 timestamp = 1
     */
    timestamp?: bigint;
    /**
     * The amount of good packets received.
     *
     * @generated from protobuf field: optional uint32 good = 2
     */
    good?: number;
    /**
     * The amount of late packets received.
     *
     * @generated from protobuf field: optional uint32 late = 3
     */
    late?: number;
    /**
     * The amount of packets never received.
     *
     * @generated from protobuf field: optional uint32 lost = 4
     */
    lost?: number;
    /**
     * The amount of nonce resyncs.
     *
     * @generated from protobuf field: optional uint32 resync = 5
     */
    resync?: number;
    /**
     * The total amount of UDP packets received.
     *
     * @generated from protobuf field: optional uint32 udp_packets = 6
     */
    udpPackets?: number;
    /**
     * The total amount of TCP packets received.
     *
     * @generated from protobuf field: optional uint32 tcp_packets = 7
     */
    tcpPackets?: number;
    /**
     * UDP ping average.
     *
     * @generated from protobuf field: optional float udp_ping_avg = 8
     */
    udpPingAvg?: number;
    /**
     * UDP ping variance.
     *
     * @generated from protobuf field: optional float udp_ping_var = 9
     */
    udpPingVar?: number;
    /**
     * TCP ping average.
     *
     * @generated from protobuf field: optional float tcp_ping_avg = 10
     */
    tcpPingAvg?: number;
    /**
     * TCP ping variance.
     *
     * @generated from protobuf field: optional float tcp_ping_var = 11
     */
    tcpPingVar?: number;
}
/**
 * Sent by the server when it rejects the user connection.
 *
 * @generated from protobuf message MumbleProto.Reject
 */
export interface Reject {
    /**
     * Rejection type.
     *
     * @generated from protobuf field: optional MumbleProto.Reject.RejectType type = 1
     */
    type?: Reject_RejectType;
    /**
     * Human readable rejection reason.
     *
     * @generated from protobuf field: optional string reason = 2
     */
    reason?: string;
}
/**
 * @generated from protobuf enum MumbleProto.Reject.RejectType
 */
export declare enum Reject_RejectType {
    /**
     * The rejection reason is unknown (details should be available
     * in Reject.reason).
     *
     * @generated from protobuf enum value: None = 0;
     */
    None = 0,
    /**
     * The client attempted to connect with an incompatible version.
     *
     * @generated from protobuf enum value: WrongVersion = 1;
     */
    WrongVersion = 1,
    /**
     * The user name supplied by the client was invalid.
     *
     * @generated from protobuf enum value: InvalidUsername = 2;
     */
    InvalidUsername = 2,
    /**
     * The client attempted to authenticate as a user with a password but it
     * was wrong.
     *
     * @generated from protobuf enum value: WrongUserPW = 3;
     */
    WrongUserPW = 3,
    /**
     * The client attempted to connect to a passworded server but the password
     * was wrong.
     *
     * @generated from protobuf enum value: WrongServerPW = 4;
     */
    WrongServerPW = 4,
    /**
     * Supplied username is already in use.
     *
     * @generated from protobuf enum value: UsernameInUse = 5;
     */
    UsernameInUse = 5,
    /**
     * Server is currently full and cannot accept more users.
     *
     * @generated from protobuf enum value: ServerFull = 6;
     */
    ServerFull = 6,
    /**
     * The user did not provide a certificate but one is required.
     *
     * @generated from protobuf enum value: NoCertificate = 7;
     */
    NoCertificate = 7,
    /**
     * @generated from protobuf enum value: AuthenticatorFail = 8;
     */
    AuthenticatorFail = 8
}
/**
 * ServerSync message is sent by the server when it has authenticated the user
 * and finished synchronizing the server state.
 *
 * @generated from protobuf message MumbleProto.ServerSync
 */
export interface ServerSync {
    /**
     * The session of the current user.
     *
     * @generated from protobuf field: optional uint32 session = 1
     */
    session?: number;
    /**
     * Maximum bandwidth that the user should use.
     *
     * @generated from protobuf field: optional uint32 max_bandwidth = 2
     */
    maxBandwidth?: number;
    /**
     * Server welcome text.
     *
     * @generated from protobuf field: optional string welcome_text = 3
     */
    welcomeText?: string;
    /**
     * Current user permissions in the root channel.
     * Note: The permissions data type usually is uin32 (e.g. in PermissionQuery and PermissionDenied messages). Here
     * it is uint64 because of an oversight in the past. Nonetheless it should never exceed the uin32 range.
     * See also: https://github.com/mumble-voip/mumble/issues/5139
     *
     * @generated from protobuf field: optional uint64 permissions = 4
     */
    permissions?: bigint;
}
/**
 * Sent by the client when it wants a channel removed. Sent by the server when
 * a channel has been removed and clients should be notified.
 *
 * @generated from protobuf message MumbleProto.ChannelRemove
 */
export interface ChannelRemove {
    /**
     * @generated from protobuf field: required uint32 channel_id = 1
     */
    channelId: number;
}
/**
 * Used to communicate channel properties between the client and the server.
 * Sent by the server during the login process or when channel properties are
 * updated. Client may use this message to update said channel properties.
 *
 * @generated from protobuf message MumbleProto.ChannelState
 */
export interface ChannelState {
    /**
     * Unique ID for the channel within the server.
     *
     * @generated from protobuf field: optional uint32 channel_id = 1
     */
    channelId?: number;
    /**
     * channel_id of the parent channel.
     *
     * @generated from protobuf field: optional uint32 parent = 2
     */
    parent?: number;
    /**
     * UTF-8 encoded channel name.
     *
     * @generated from protobuf field: optional string name = 3
     */
    name?: string;
    /**
     * A collection of channel id values of the linked channels. Absent during
     * the first channel listing.
     *
     * @generated from protobuf field: repeated uint32 links = 4
     */
    links: number[];
    /**
     * UTF-8 encoded channel description. Only if the description is less than
     * 128 bytes
     *
     * @generated from protobuf field: optional string description = 5
     */
    description?: string;
    /**
     * A collection of channel_id values that should be added to links.
     *
     * @generated from protobuf field: repeated uint32 links_add = 6
     */
    linksAdd: number[];
    /**
     * A collection of channel_id values that should be removed from links.
     *
     * @generated from protobuf field: repeated uint32 links_remove = 7
     */
    linksRemove: number[];
    /**
     * True if the channel is temporary.
     *
     * @generated from protobuf field: optional bool temporary = 8 [default = false]
     */
    temporary?: boolean;
    /**
     * Position weight to tweak the channel position in the channel list.
     *
     * @generated from protobuf field: optional int32 position = 9 [default = 0]
     */
    position?: number;
    /**
     * SHA1 hash of the description if the description is 128 bytes or more.
     *
     * @generated from protobuf field: optional bytes description_hash = 10
     */
    descriptionHash?: Uint8Array;
    /**
     * Maximum number of users allowed in the channel. If this value is zero,
     * the maximum number of users allowed in the channel is given by the
     * server's "usersperchannel" setting.
     *
     * @generated from protobuf field: optional uint32 max_users = 11
     */
    maxUsers?: number;
    /**
     * Whether this channel has enter restrictions (ACL denying ENTER) set
     *
     * @generated from protobuf field: optional bool is_enter_restricted = 12
     */
    isEnterRestricted?: boolean;
    /**
     * Whether the receiver of this msg is considered to be able to enter this channel
     *
     * @generated from protobuf field: optional bool can_enter = 13
     */
    canEnter?: boolean;
}
/**
 * Used to communicate user leaving or being kicked. May be sent by the client
 * when it attempts to kick a user. Sent by the server when it informs the
 * clients that a user is not present anymore.
 *
 * @generated from protobuf message MumbleProto.UserRemove
 */
export interface UserRemove {
    /**
     * The user who is being kicked, identified by their session, not present
     * when no one is being kicked.
     *
     * @generated from protobuf field: required uint32 session = 1
     */
    session: number;
    /**
     * The user who initiated the removal. Either the user who performs the kick
     * or the user who is currently leaving.
     *
     * @generated from protobuf field: optional uint32 actor = 2
     */
    actor?: number;
    /**
     * Reason for the kick, stored as the ban reason if the user is banned.
     *
     * @generated from protobuf field: optional string reason = 3
     */
    reason?: string;
    /**
     * True if the kick should result in a ban.
     *
     * @generated from protobuf field: optional bool ban = 4
     */
    ban?: boolean;
}
/**
 * Sent by the server when it communicates new and changed users to client.
 * First seen during login procedure. May be sent by the client when it wishes
 * to alter its state.
 *
 * @generated from protobuf message MumbleProto.UserState
 */
export interface UserState {
    /**
     * Unique user session ID of the user whose state this is, may change on
     * reconnect.
     *
     * @generated from protobuf field: optional uint32 session = 1
     */
    session?: number;
    /**
     * The session of the user who is updating this user.
     *
     * @generated from protobuf field: optional uint32 actor = 2
     */
    actor?: number;
    /**
     * User name, UTF-8 encoded.
     *
     * @generated from protobuf field: optional string name = 3
     */
    name?: string;
    /**
     * Registered user ID if the user is registered.
     *
     * @generated from protobuf field: optional uint32 user_id = 4
     */
    userId?: number;
    /**
     * Channel on which the user is.
     *
     * @generated from protobuf field: optional uint32 channel_id = 5
     */
    channelId?: number;
    /**
     * True if the user is muted by admin.
     *
     * @generated from protobuf field: optional bool mute = 6
     */
    mute?: boolean;
    /**
     * True if the user is deafened by admin.
     *
     * @generated from protobuf field: optional bool deaf = 7
     */
    deaf?: boolean;
    /**
     * True if the user has been suppressed from talking by a reason other than
     * being muted.
     *
     * @generated from protobuf field: optional bool suppress = 8
     */
    suppress?: boolean;
    /**
     * True if the user has muted self.
     *
     * @generated from protobuf field: optional bool self_mute = 9
     */
    selfMute?: boolean;
    /**
     * True if the user has deafened self.
     *
     * @generated from protobuf field: optional bool self_deaf = 10
     */
    selfDeaf?: boolean;
    /**
     * User image if it is less than 128 bytes.
     *
     * @generated from protobuf field: optional bytes texture = 11
     */
    texture?: Uint8Array;
    /**
     * The positional audio plugin identifier.
     * Positional audio information is only sent to users who share
     * identical plugin contexts.
     *
     * This value is not transmitted to clients.
     *
     * @generated from protobuf field: optional bytes plugin_context = 12
     */
    pluginContext?: Uint8Array;
    /**
     * The user's plugin-specific identity.
     * This value is not transmitted to clients.
     *
     * @generated from protobuf field: optional string plugin_identity = 13
     */
    pluginIdentity?: string;
    /**
     * User comment if it is less than 128 bytes.
     *
     * @generated from protobuf field: optional string comment = 14
     */
    comment?: string;
    /**
     * The hash of the user certificate.
     *
     * @generated from protobuf field: optional string hash = 15
     */
    hash?: string;
    /**
     * SHA1 hash of the user comment if it 128 bytes or more.
     *
     * @generated from protobuf field: optional bytes comment_hash = 16
     */
    commentHash?: Uint8Array;
    /**
     * SHA1 hash of the user picture if it 128 bytes or more.
     *
     * @generated from protobuf field: optional bytes texture_hash = 17
     */
    textureHash?: Uint8Array;
    /**
     * True if the user is a priority speaker.
     *
     * @generated from protobuf field: optional bool priority_speaker = 18
     */
    prioritySpeaker?: boolean;
    /**
     * True if the user is currently recording.
     *
     * @generated from protobuf field: optional bool recording = 19
     */
    recording?: boolean;
    /**
     * A list of temporary access tokens to be respected when processing this request.
     *
     * @generated from protobuf field: repeated string temporary_access_tokens = 20
     */
    temporaryAccessTokens: string[];
    /**
     * A list of channels the user wants to start listening to.
     *
     * @generated from protobuf field: repeated uint32 listening_channel_add = 21
     */
    listeningChannelAdd: number[];
    /**
     * a list of channels the user does no longer want to listen to.
     *
     * @generated from protobuf field: repeated uint32 listening_channel_remove = 22
     */
    listeningChannelRemove: number[];
    /**
     * A list of volume adjustments the user has applied to listeners
     *
     * @generated from protobuf field: repeated MumbleProto.UserState.VolumeAdjustment listening_volume_adjustment = 23
     */
    listeningVolumeAdjustment: UserState_VolumeAdjustment[];
}
/**
 * @generated from protobuf message MumbleProto.UserState.VolumeAdjustment
 */
export interface UserState_VolumeAdjustment {
    /**
     * @generated from protobuf field: optional uint32 listening_channel = 1
     */
    listeningChannel?: number;
    /**
     * @generated from protobuf field: optional float volume_adjustment = 2
     */
    volumeAdjustment?: number;
}
/**
 * Relays information on the bans. The client may send the BanList message to
 * either modify the list of bans or query them from the server. The server
 * sends this list only after a client queries for it.
 *
 * @generated from protobuf message MumbleProto.BanList
 */
export interface BanList {
    /**
     * List of ban entries currently in place.
     *
     * @generated from protobuf field: repeated MumbleProto.BanList.BanEntry bans = 1
     */
    bans: BanList_BanEntry[];
    /**
     * True if the server should return the list, false if it should replace old
     * ban list with the one provided.
     *
     * @generated from protobuf field: optional bool query = 2 [default = false]
     */
    query?: boolean;
}
/**
 * @generated from protobuf message MumbleProto.BanList.BanEntry
 */
export interface BanList_BanEntry {
    /**
     * Banned IP address.
     *
     * @generated from protobuf field: required bytes address = 1
     */
    address: Uint8Array;
    /**
     * The length of the subnet mask for the ban.
     *
     * @generated from protobuf field: required uint32 mask = 2
     */
    mask: number;
    /**
     * User name for identification purposes (does not affect the ban).
     *
     * @generated from protobuf field: optional string name = 3
     */
    name?: string;
    /**
     * The certificate hash of the banned user.
     *
     * @generated from protobuf field: optional string hash = 4
     */
    hash?: string;
    /**
     * Reason for the ban (does not affect the ban).
     *
     * @generated from protobuf field: optional string reason = 5
     */
    reason?: string;
    /**
     * Ban start time.
     *
     * @generated from protobuf field: optional string start = 6
     */
    start?: string;
    /**
     * Ban duration in seconds.
     *
     * @generated from protobuf field: optional uint32 duration = 7
     */
    duration?: number;
}
/**
 * Used to send and broadcast text messages.
 *
 * @generated from protobuf message MumbleProto.TextMessage
 */
export interface TextMessage {
    /**
     * The message sender, identified by its session.
     *
     * @generated from protobuf field: optional uint32 actor = 1
     */
    actor?: number;
    /**
     * Target users for the message, identified by their session.
     *
     * @generated from protobuf field: repeated uint32 session = 2
     */
    session: number[];
    /**
     * The channels to which the message is sent, identified by their
     * channel_ids.
     *
     * @generated from protobuf field: repeated uint32 channel_id = 3
     */
    channelId: number[];
    /**
     * The root channels when sending message recursively to several channels,
     * identified by their channel_ids.
     *
     * @generated from protobuf field: repeated uint32 tree_id = 4
     */
    treeId: number[];
    /**
     * The UTF-8 encoded message. May be HTML if the server allows.
     *
     * @generated from protobuf field: required string message = 5
     */
    message: string;
}
/**
 * @generated from protobuf message MumbleProto.PermissionDenied
 */
export interface PermissionDenied {
    /**
     * The denied permission when type is Permission.
     *
     * @generated from protobuf field: optional uint32 permission = 1
     */
    permission?: number;
    /**
     * channel_id for the channel where the permission was denied when type is
     * Permission.
     *
     * @generated from protobuf field: optional uint32 channel_id = 2
     */
    channelId?: number;
    /**
     * The user who was denied permissions, identified by session.
     *
     * @generated from protobuf field: optional uint32 session = 3
     */
    session?: number;
    /**
     * Textual reason for the denial.
     *
     * @generated from protobuf field: optional string reason = 4
     */
    reason?: string;
    /**
     * Type of the denial.
     *
     * @generated from protobuf field: optional MumbleProto.PermissionDenied.DenyType type = 5
     */
    type?: PermissionDenied_DenyType;
    /**
     * The name that is invalid when type is UserName.
     *
     * @generated from protobuf field: optional string name = 6
     */
    name?: string;
}
/**
 * @generated from protobuf enum MumbleProto.PermissionDenied.DenyType
 */
export declare enum PermissionDenied_DenyType {
    /**
     * Operation denied for other reason, see reason field.
     *
     * @generated from protobuf enum value: Text = 0;
     */
    Text = 0,
    /**
     * Permissions were denied.
     *
     * @generated from protobuf enum value: Permission = 1;
     */
    Permission = 1,
    /**
     * Cannot modify SuperUser.
     *
     * @generated from protobuf enum value: SuperUser = 2;
     */
    SuperUser = 2,
    /**
     * Invalid channel name.
     *
     * @generated from protobuf enum value: ChannelName = 3;
     */
    ChannelName = 3,
    /**
     * Text message too long.
     *
     * @generated from protobuf enum value: TextTooLong = 4;
     */
    TextTooLong = 4,
    /**
     * The flux capacitor was spelled wrong.
     *
     * @generated from protobuf enum value: H9K = 5;
     */
    H9K = 5,
    /**
     * Operation not permitted in temporary channel.
     *
     * @generated from protobuf enum value: TemporaryChannel = 6;
     */
    TemporaryChannel = 6,
    /**
     * Operation requires certificate.
     *
     * @generated from protobuf enum value: MissingCertificate = 7;
     */
    MissingCertificate = 7,
    /**
     * Invalid username.
     *
     * @generated from protobuf enum value: UserName = 8;
     */
    UserName = 8,
    /**
     * Channel is full.
     *
     * @generated from protobuf enum value: ChannelFull = 9;
     */
    ChannelFull = 9,
    /**
     * Channels are nested too deeply.
     *
     * @generated from protobuf enum value: NestingLimit = 10;
     */
    NestingLimit = 10,
    /**
     * Maximum channel count reached.
     *
     * @generated from protobuf enum value: ChannelCountLimit = 11;
     */
    ChannelCountLimit = 11,
    /**
     * Amount of listener objects for this channel has been reached
     *
     * @generated from protobuf enum value: ChannelListenerLimit = 12;
     */
    ChannelListenerLimit = 12,
    /**
     * Amount of listener proxies for the user has been reached
     *
     * @generated from protobuf enum value: UserListenerLimit = 13;
     */
    UserListenerLimit = 13
}
/**
 * @generated from protobuf message MumbleProto.ACL
 */
export interface ACL {
    /**
     * Channel ID of the channel this message affects.
     *
     * @generated from protobuf field: required uint32 channel_id = 1
     */
    channelId: number;
    /**
     * True if the channel inherits its parent's ACLs.
     *
     * @generated from protobuf field: optional bool inherit_acls = 2 [default = true]
     */
    inheritAcls?: boolean;
    /**
     * User group specifications.
     *
     * @generated from protobuf field: repeated MumbleProto.ACL.ChanGroup groups = 3
     */
    groups: ACL_ChanGroup[];
    /**
     * ACL specifications.
     *
     * @generated from protobuf field: repeated MumbleProto.ACL.ChanACL acls = 4
     */
    acls: ACL_ChanACL[];
    /**
     * True if the message is a query for ACLs instead of setting them.
     *
     * @generated from protobuf field: optional bool query = 5 [default = false]
     */
    query?: boolean;
}
/**
 * @generated from protobuf message MumbleProto.ACL.ChanGroup
 */
export interface ACL_ChanGroup {
    /**
     * Name of the channel group, UTF-8 encoded.
     *
     * @generated from protobuf field: required string name = 1
     */
    name: string;
    /**
     * True if the group has been inherited from the parent (Read only).
     *
     * @generated from protobuf field: optional bool inherited = 2 [default = true]
     */
    inherited?: boolean;
    /**
     * True if the group members are inherited.
     *
     * @generated from protobuf field: optional bool inherit = 3 [default = true]
     */
    inherit?: boolean;
    /**
     * True if the group can be inherited by sub channels.
     *
     * @generated from protobuf field: optional bool inheritable = 4 [default = true]
     */
    inheritable?: boolean;
    /**
     * Users explicitly included in this group, identified by user_id.
     *
     * @generated from protobuf field: repeated uint32 add = 5
     */
    add: number[];
    /**
     * Users explicitly removed from this group in this channel if the group
     * has been inherited, identified by user_id.
     *
     * @generated from protobuf field: repeated uint32 remove = 6
     */
    remove: number[];
    /**
     * Users inherited, identified by user_id.
     *
     * @generated from protobuf field: repeated uint32 inherited_members = 7
     */
    inheritedMembers: number[];
}
/**
 * @generated from protobuf message MumbleProto.ACL.ChanACL
 */
export interface ACL_ChanACL {
    /**
     * True if this ACL applies to the current channel.
     *
     * @generated from protobuf field: optional bool apply_here = 1 [default = true]
     */
    applyHere?: boolean;
    /**
     * True if this ACL applies to the sub channels.
     *
     * @generated from protobuf field: optional bool apply_subs = 2 [default = true]
     */
    applySubs?: boolean;
    /**
     * True if the ACL has been inherited from the parent.
     *
     * @generated from protobuf field: optional bool inherited = 3 [default = true]
     */
    inherited?: boolean;
    /**
     * ID of the user that is affected by this ACL.
     *
     * @generated from protobuf field: optional uint32 user_id = 4
     */
    userId?: number;
    /**
     * ID of the group that is affected by this ACL.
     *
     * @generated from protobuf field: optional string group = 5
     */
    group?: string;
    /**
     * Bit flag field of the permissions granted by this ACL.
     *
     * @generated from protobuf field: optional uint32 grant = 6
     */
    grant?: number;
    /**
     * Bit flag field of the permissions denied by this ACL.
     *
     * @generated from protobuf field: optional uint32 deny = 7
     */
    deny?: number;
}
/**
 * Client may use this message to refresh its registered user information. The
 * client should fill the IDs or Names of the users it wants to refresh. The
 * server fills the missing parts and sends the message back.
 *
 * @generated from protobuf message MumbleProto.QueryUsers
 */
export interface QueryUsers {
    /**
     * user_ids.
     *
     * @generated from protobuf field: repeated uint32 ids = 1
     */
    ids: number[];
    /**
     * User names in the same order as ids.
     *
     * @generated from protobuf field: repeated string names = 2
     */
    names: string[];
}
/**
 * Used to initialize and resync the UDP encryption. Either side may request a
 * resync by sending the message without any values filled. The resync is
 * performed by sending the message with only the client or server nonce
 * filled.
 *
 * @generated from protobuf message MumbleProto.CryptSetup
 */
export interface CryptSetup {
    /**
     * Encryption key.
     *
     * @generated from protobuf field: optional bytes key = 1
     */
    key?: Uint8Array;
    /**
     * Client nonce.
     *
     * @generated from protobuf field: optional bytes client_nonce = 2
     */
    clientNonce?: Uint8Array;
    /**
     * Server nonce.
     *
     * @generated from protobuf field: optional bytes server_nonce = 3
     */
    serverNonce?: Uint8Array;
}
/**
 * Used to add or remove custom context menu item on client-side.
 *
 * @generated from protobuf message MumbleProto.ContextActionModify
 */
export interface ContextActionModify {
    /**
     * The action identifier. Used later to initiate an action.
     *
     * @generated from protobuf field: required string action = 1
     */
    action: string;
    /**
     * The display name of the action.
     *
     * @generated from protobuf field: optional string text = 2
     */
    text?: string;
    /**
     * Context bit flags defining where the action should be displayed.
     * Flags can be OR-ed to combine different types.
     *
     * @generated from protobuf field: optional uint32 context = 3
     */
    context?: number;
    /**
     * Choose either to add or to remove the context action.
     * Note: This field only exists after Mumble 1.2.4-beta1 release.
     *       The message will be recognized as Add regardless of this field
     *       before said release.
     *
     * @generated from protobuf field: optional MumbleProto.ContextActionModify.Operation operation = 4
     */
    operation?: ContextActionModify_Operation;
}
/**
 * @generated from protobuf enum MumbleProto.ContextActionModify.Context
 */
export declare enum ContextActionModify_Context {
    /**
     * @generated synthetic value - protobuf-ts requires all enums to have a 0 value
     */
    UNSPECIFIED$ = 0,
    /**
     * Action is applicable to the server.
     *
     * @generated from protobuf enum value: Server = 1;
     */
    Server = 1,
    /**
     * Action can target a Channel.
     *
     * @generated from protobuf enum value: Channel = 2;
     */
    Channel = 2,
    /**
     * Action can target a User.
     *
     * @generated from protobuf enum value: User = 4;
     */
    User = 4
}
/**
 * @generated from protobuf enum MumbleProto.ContextActionModify.Operation
 */
export declare enum ContextActionModify_Operation {
    /**
     * @generated from protobuf enum value: Add = 0;
     */
    Add = 0,
    /**
     * @generated from protobuf enum value: Remove = 1;
     */
    Remove = 1
}
/**
 * Sent by the client when it wants to initiate a Context action.
 *
 * @generated from protobuf message MumbleProto.ContextAction
 */
export interface ContextAction {
    /**
     * The target User for the action, identified by session.
     *
     * @generated from protobuf field: optional uint32 session = 1
     */
    session?: number;
    /**
     * The target Channel for the action, identified by channel_id.
     *
     * @generated from protobuf field: optional uint32 channel_id = 2
     */
    channelId?: number;
    /**
     * The action that should be executed.
     *
     * @generated from protobuf field: required string action = 3
     */
    action: string;
}
/**
 * Lists the registered users.
 *
 * @generated from protobuf message MumbleProto.UserList
 */
export interface UserList {
    /**
     * A list of registered users.
     *
     * @generated from protobuf field: repeated MumbleProto.UserList.User users = 1
     */
    users: UserList_User[];
}
/**
 * @generated from protobuf message MumbleProto.UserList.User
 */
export interface UserList_User {
    /**
     * Registered user ID.
     *
     * @generated from protobuf field: required uint32 user_id = 1
     */
    userId: number;
    /**
     * Registered user name.
     *
     * @generated from protobuf field: optional string name = 2
     */
    name?: string;
    /**
     * @generated from protobuf field: optional string last_seen = 3
     */
    lastSeen?: string;
    /**
     * @generated from protobuf field: optional uint32 last_channel = 4
     */
    lastChannel?: number;
}
/**
 * Sent by the client when it wants to register or clear whisper targets.
 *
 * Note: The first available target ID is 1 as 0 is reserved for normal
 * talking. Maximum target ID is 30.
 *
 * @generated from protobuf message MumbleProto.VoiceTarget
 */
export interface VoiceTarget {
    /**
     * Voice target ID.
     *
     * @generated from protobuf field: optional uint32 id = 1
     */
    id?: number;
    /**
     * The receivers that this voice target includes.
     *
     * @generated from protobuf field: repeated MumbleProto.VoiceTarget.Target targets = 2
     */
    targets: VoiceTarget_Target[];
}
/**
 * @generated from protobuf message MumbleProto.VoiceTarget.Target
 */
export interface VoiceTarget_Target {
    /**
     * Users that are included as targets.
     *
     * @generated from protobuf field: repeated uint32 session = 1
     */
    session: number[];
    /**
     * Channel that is included as a target.
     *
     * @generated from protobuf field: optional uint32 channel_id = 2
     */
    channelId?: number;
    /**
     * ACL group that is included as a target.
     *
     * @generated from protobuf field: optional string group = 3
     */
    group?: string;
    /**
     * True if the voice should follow links from the specified channel.
     *
     * @generated from protobuf field: optional bool links = 4 [default = false]
     */
    links?: boolean;
    /**
     * True if the voice should also be sent to children of the specific
     * channel.
     *
     * @generated from protobuf field: optional bool children = 5 [default = false]
     */
    children?: boolean;
}
/**
 * Sent by the client when it wants permissions for a certain channel. Sent by
 * the server when it replies to the query or wants the user to resync all
 * channel permissions.
 *
 * @generated from protobuf message MumbleProto.PermissionQuery
 */
export interface PermissionQuery {
    /**
     * channel_id of the channel for which the permissions are queried.
     *
     * @generated from protobuf field: optional uint32 channel_id = 1
     */
    channelId?: number;
    /**
     * Channel permissions.
     *
     * @generated from protobuf field: optional uint32 permissions = 2
     */
    permissions?: number;
    /**
     * True if the client should drop its current permission information for all
     * channels.
     *
     * @generated from protobuf field: optional bool flush = 3 [default = false]
     */
    flush?: boolean;
}
/**
 * Sent by the server to notify the users of the version of the CELT codec they
 * should use. This may change during the connection when new users join.
 *
 * @generated from protobuf message MumbleProto.CodecVersion
 */
export interface CodecVersion {
    /**
     * The version of the CELT Alpha codec.
     *
     * @generated from protobuf field: required int32 alpha = 1
     */
    alpha: number;
    /**
     * The version of the CELT Beta codec.
     *
     * @generated from protobuf field: required int32 beta = 2
     */
    beta: number;
    /**
     * True if the user should prefer Alpha over Beta.
     *
     * @generated from protobuf field: required bool prefer_alpha = 3 [default = true]
     */
    preferAlpha: boolean;
    /**
     * @generated from protobuf field: optional bool opus = 4 [default = false]
     */
    opus?: boolean;
}
/**
 * Used to communicate user stats between the server and clients.
 *
 * @generated from protobuf message MumbleProto.UserStats
 */
export interface UserStats {
    /**
     * User whose stats these are.
     *
     * @generated from protobuf field: optional uint32 session = 1
     */
    session?: number;
    /**
     * True if the message contains only mutable stats (packets, ping).
     *
     * @generated from protobuf field: optional bool stats_only = 2 [default = false]
     */
    statsOnly?: boolean;
    /**
     * Full user certificate chain of the user certificate in DER format.
     *
     * @generated from protobuf field: repeated bytes certificates = 3
     */
    certificates: Uint8Array[];
    /**
     * Packet statistics for packets received from the client.
     *
     * @generated from protobuf field: optional MumbleProto.UserStats.Stats from_client = 4
     */
    fromClient?: UserStats_Stats;
    /**
     * Packet statistics for packets sent by the server.
     *
     * @generated from protobuf field: optional MumbleProto.UserStats.Stats from_server = 5
     */
    fromServer?: UserStats_Stats;
    /**
     * Amount of UDP packets sent.
     *
     * @generated from protobuf field: optional uint32 udp_packets = 6
     */
    udpPackets?: number;
    /**
     * Amount of TCP packets sent.
     *
     * @generated from protobuf field: optional uint32 tcp_packets = 7
     */
    tcpPackets?: number;
    /**
     * UDP ping average.
     *
     * @generated from protobuf field: optional float udp_ping_avg = 8
     */
    udpPingAvg?: number;
    /**
     * UDP ping variance.
     *
     * @generated from protobuf field: optional float udp_ping_var = 9
     */
    udpPingVar?: number;
    /**
     * TCP ping average.
     *
     * @generated from protobuf field: optional float tcp_ping_avg = 10
     */
    tcpPingAvg?: number;
    /**
     * TCP ping variance.
     *
     * @generated from protobuf field: optional float tcp_ping_var = 11
     */
    tcpPingVar?: number;
    /**
     * Client version.
     *
     * @generated from protobuf field: optional MumbleProto.Version version = 12
     */
    version?: Version;
    /**
     * A list of CELT bitstream version constants supported by the client of this
     * user.
     *
     * @generated from protobuf field: repeated int32 celt_versions = 13
     */
    celtVersions: number[];
    /**
     * Client IP address.
     *
     * @generated from protobuf field: optional bytes address = 14
     */
    address?: Uint8Array;
    /**
     * Bandwidth used by this client.
     *
     * @generated from protobuf field: optional uint32 bandwidth = 15
     */
    bandwidth?: number;
    /**
     * Connection duration.
     *
     * @generated from protobuf field: optional uint32 onlinesecs = 16
     */
    onlinesecs?: number;
    /**
     * Duration since last activity.
     *
     * @generated from protobuf field: optional uint32 idlesecs = 17
     */
    idlesecs?: number;
    /**
     * True if the user has a strong certificate.
     *
     * @generated from protobuf field: optional bool strong_certificate = 18 [default = false]
     */
    strongCertificate?: boolean;
    /**
     * @generated from protobuf field: optional bool opus = 19 [default = false]
     */
    opus?: boolean;
}
/**
 * @generated from protobuf message MumbleProto.UserStats.Stats
 */
export interface UserStats_Stats {
    /**
     * The amount of good packets received.
     *
     * @generated from protobuf field: optional uint32 good = 1
     */
    good?: number;
    /**
     * The amount of late packets received.
     *
     * @generated from protobuf field: optional uint32 late = 2
     */
    late?: number;
    /**
     * The amount of packets never received.
     *
     * @generated from protobuf field: optional uint32 lost = 3
     */
    lost?: number;
    /**
     * The amount of nonce resyncs.
     *
     * @generated from protobuf field: optional uint32 resync = 4
     */
    resync?: number;
}
/**
 * Used by the client to request binary data from the server. By default large
 * comments or textures are not sent within standard messages but instead the
 * hash is. If the client does not recognize the hash it may request the
 * resource when it needs it. The client does so by sending a RequestBlob
 * message with the correct fields filled with the user sessions or channel_ids
 * it wants to receive. The server replies to this by sending a new
 * UserState/ChannelState message with the resources filled even if they would
 * normally be transmitted as hashes.
 *
 * @generated from protobuf message MumbleProto.RequestBlob
 */
export interface RequestBlob {
    /**
     * sessions of the requested UserState textures.
     *
     * @generated from protobuf field: repeated uint32 session_texture = 1
     */
    sessionTexture: number[];
    /**
     * sessions of the requested UserState comments.
     *
     * @generated from protobuf field: repeated uint32 session_comment = 2
     */
    sessionComment: number[];
    /**
     * channel_ids of the requested ChannelState descriptions.
     *
     * @generated from protobuf field: repeated uint32 channel_description = 3
     */
    channelDescription: number[];
}
/**
 * Sent by the server when it informs the clients on server configuration
 * details.
 *
 * @generated from protobuf message MumbleProto.ServerConfig
 */
export interface ServerConfig {
    /**
     * The maximum bandwidth the clients should use.
     *
     * @generated from protobuf field: optional uint32 max_bandwidth = 1
     */
    maxBandwidth?: number;
    /**
     * Server welcome text.
     *
     * @generated from protobuf field: optional string welcome_text = 2
     */
    welcomeText?: string;
    /**
     * True if the server allows HTML.
     *
     * @generated from protobuf field: optional bool allow_html = 3
     */
    allowHtml?: boolean;
    /**
     * Maximum text message length.
     *
     * @generated from protobuf field: optional uint32 message_length = 4
     */
    messageLength?: number;
    /**
     * Maximum image message length.
     *
     * @generated from protobuf field: optional uint32 image_message_length = 5
     */
    imageMessageLength?: number;
    /**
     * The maximum number of users allowed on the server.
     *
     * @generated from protobuf field: optional uint32 max_users = 6
     */
    maxUsers?: number;
    /**
     * Whether using Mumble's recording feature is allowed on the server
     *
     * @generated from protobuf field: optional bool recording_allowed = 7
     */
    recordingAllowed?: boolean;
}
/**
 * Sent by the server to inform the clients of suggested client configuration
 * specified by the server administrator.
 *
 * @generated from protobuf message MumbleProto.SuggestConfig
 */
export interface SuggestConfig {
    /**
     * Suggested client version in the legacy format.
     *
     * @generated from protobuf field: optional uint32 version_v1 = 1
     */
    versionV1?: number;
    /**
     * Suggested client version in the new format.
     * Necessary since patch level may exceed 255. (See https://github.com/mumble-voip/mumble/issues/5827)
     *
     * @generated from protobuf field: optional uint64 version_v2 = 4
     */
    versionV2?: bigint;
    /**
     * True if the administrator suggests positional audio to be used on this
     * server.
     *
     * @generated from protobuf field: optional bool positional = 2
     */
    positional?: boolean;
    /**
     * True if the administrator suggests push to talk to be used on this server.
     *
     * @generated from protobuf field: optional bool push_to_talk = 3
     */
    pushToTalk?: boolean;
}
/**
 * Used to send plugin messages between clients
 *
 * @generated from protobuf message MumbleProto.PluginDataTransmission
 */
export interface PluginDataTransmission {
    /**
     * The session ID of the client this message was sent from
     *
     * @generated from protobuf field: optional uint32 senderSession = 1
     */
    senderSession?: number;
    /**
     * The session IDs of the clients that should receive this message
     *
     * @generated from protobuf field: repeated uint32 receiverSessions = 2 [packed = true]
     */
    receiverSessions: number[];
    /**
     * The data that is sent
     *
     * @generated from protobuf field: optional bytes data = 3
     */
    data?: Uint8Array;
    /**
     * The ID of the sent data. This will be used by plugins to check whether they will
     * process it or not
     *
     * @generated from protobuf field: optional string dataID = 4
     */
    dataID?: string;
}
declare class Version$Type extends MessageType<Version> {
    constructor();
    create(value?: PartialMessage<Version>): Version;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Version): Version;
    internalBinaryWrite(message: Version, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.Version
 */
export declare const Version: Version$Type;
declare class UDPTunnel$Type extends MessageType<UDPTunnel> {
    constructor();
    create(value?: PartialMessage<UDPTunnel>): UDPTunnel;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UDPTunnel): UDPTunnel;
    internalBinaryWrite(message: UDPTunnel, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.UDPTunnel
 */
export declare const UDPTunnel: UDPTunnel$Type;
declare class Authenticate$Type extends MessageType<Authenticate> {
    constructor();
    create(value?: PartialMessage<Authenticate>): Authenticate;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Authenticate): Authenticate;
    internalBinaryWrite(message: Authenticate, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.Authenticate
 */
export declare const Authenticate: Authenticate$Type;
declare class Ping$Type extends MessageType<Ping> {
    constructor();
    create(value?: PartialMessage<Ping>): Ping;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Ping): Ping;
    internalBinaryWrite(message: Ping, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.Ping
 */
export declare const Ping: Ping$Type;
declare class Reject$Type extends MessageType<Reject> {
    constructor();
    create(value?: PartialMessage<Reject>): Reject;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Reject): Reject;
    internalBinaryWrite(message: Reject, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.Reject
 */
export declare const Reject: Reject$Type;
declare class ServerSync$Type extends MessageType<ServerSync> {
    constructor();
    create(value?: PartialMessage<ServerSync>): ServerSync;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ServerSync): ServerSync;
    internalBinaryWrite(message: ServerSync, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ServerSync
 */
export declare const ServerSync: ServerSync$Type;
declare class ChannelRemove$Type extends MessageType<ChannelRemove> {
    constructor();
    create(value?: PartialMessage<ChannelRemove>): ChannelRemove;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ChannelRemove): ChannelRemove;
    internalBinaryWrite(message: ChannelRemove, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ChannelRemove
 */
export declare const ChannelRemove: ChannelRemove$Type;
declare class ChannelState$Type extends MessageType<ChannelState> {
    constructor();
    create(value?: PartialMessage<ChannelState>): ChannelState;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ChannelState): ChannelState;
    internalBinaryWrite(message: ChannelState, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ChannelState
 */
export declare const ChannelState: ChannelState$Type;
declare class UserRemove$Type extends MessageType<UserRemove> {
    constructor();
    create(value?: PartialMessage<UserRemove>): UserRemove;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserRemove): UserRemove;
    internalBinaryWrite(message: UserRemove, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.UserRemove
 */
export declare const UserRemove: UserRemove$Type;
declare class UserState$Type extends MessageType<UserState> {
    constructor();
    create(value?: PartialMessage<UserState>): UserState;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserState): UserState;
    internalBinaryWrite(message: UserState, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.UserState
 */
export declare const UserState: UserState$Type;
declare class UserState_VolumeAdjustment$Type extends MessageType<UserState_VolumeAdjustment> {
    constructor();
    create(value?: PartialMessage<UserState_VolumeAdjustment>): UserState_VolumeAdjustment;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserState_VolumeAdjustment): UserState_VolumeAdjustment;
    internalBinaryWrite(message: UserState_VolumeAdjustment, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.UserState.VolumeAdjustment
 */
export declare const UserState_VolumeAdjustment: UserState_VolumeAdjustment$Type;
declare class BanList$Type extends MessageType<BanList> {
    constructor();
    create(value?: PartialMessage<BanList>): BanList;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: BanList): BanList;
    internalBinaryWrite(message: BanList, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.BanList
 */
export declare const BanList: BanList$Type;
declare class BanList_BanEntry$Type extends MessageType<BanList_BanEntry> {
    constructor();
    create(value?: PartialMessage<BanList_BanEntry>): BanList_BanEntry;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: BanList_BanEntry): BanList_BanEntry;
    internalBinaryWrite(message: BanList_BanEntry, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.BanList.BanEntry
 */
export declare const BanList_BanEntry: BanList_BanEntry$Type;
declare class TextMessage$Type extends MessageType<TextMessage> {
    constructor();
    create(value?: PartialMessage<TextMessage>): TextMessage;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TextMessage): TextMessage;
    internalBinaryWrite(message: TextMessage, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.TextMessage
 */
export declare const TextMessage: TextMessage$Type;
declare class PermissionDenied$Type extends MessageType<PermissionDenied> {
    constructor();
    create(value?: PartialMessage<PermissionDenied>): PermissionDenied;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PermissionDenied): PermissionDenied;
    internalBinaryWrite(message: PermissionDenied, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.PermissionDenied
 */
export declare const PermissionDenied: PermissionDenied$Type;
declare class ACL$Type extends MessageType<ACL> {
    constructor();
    create(value?: PartialMessage<ACL>): ACL;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ACL): ACL;
    internalBinaryWrite(message: ACL, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ACL
 */
export declare const ACL: ACL$Type;
declare class ACL_ChanGroup$Type extends MessageType<ACL_ChanGroup> {
    constructor();
    create(value?: PartialMessage<ACL_ChanGroup>): ACL_ChanGroup;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ACL_ChanGroup): ACL_ChanGroup;
    internalBinaryWrite(message: ACL_ChanGroup, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ACL.ChanGroup
 */
export declare const ACL_ChanGroup: ACL_ChanGroup$Type;
declare class ACL_ChanACL$Type extends MessageType<ACL_ChanACL> {
    constructor();
    create(value?: PartialMessage<ACL_ChanACL>): ACL_ChanACL;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ACL_ChanACL): ACL_ChanACL;
    internalBinaryWrite(message: ACL_ChanACL, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ACL.ChanACL
 */
export declare const ACL_ChanACL: ACL_ChanACL$Type;
declare class QueryUsers$Type extends MessageType<QueryUsers> {
    constructor();
    create(value?: PartialMessage<QueryUsers>): QueryUsers;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QueryUsers): QueryUsers;
    internalBinaryWrite(message: QueryUsers, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.QueryUsers
 */
export declare const QueryUsers: QueryUsers$Type;
declare class CryptSetup$Type extends MessageType<CryptSetup> {
    constructor();
    create(value?: PartialMessage<CryptSetup>): CryptSetup;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CryptSetup): CryptSetup;
    internalBinaryWrite(message: CryptSetup, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.CryptSetup
 */
export declare const CryptSetup: CryptSetup$Type;
declare class ContextActionModify$Type extends MessageType<ContextActionModify> {
    constructor();
    create(value?: PartialMessage<ContextActionModify>): ContextActionModify;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ContextActionModify): ContextActionModify;
    internalBinaryWrite(message: ContextActionModify, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ContextActionModify
 */
export declare const ContextActionModify: ContextActionModify$Type;
declare class ContextAction$Type extends MessageType<ContextAction> {
    constructor();
    create(value?: PartialMessage<ContextAction>): ContextAction;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ContextAction): ContextAction;
    internalBinaryWrite(message: ContextAction, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ContextAction
 */
export declare const ContextAction: ContextAction$Type;
declare class UserList$Type extends MessageType<UserList> {
    constructor();
    create(value?: PartialMessage<UserList>): UserList;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserList): UserList;
    internalBinaryWrite(message: UserList, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.UserList
 */
export declare const UserList: UserList$Type;
declare class UserList_User$Type extends MessageType<UserList_User> {
    constructor();
    create(value?: PartialMessage<UserList_User>): UserList_User;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserList_User): UserList_User;
    internalBinaryWrite(message: UserList_User, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.UserList.User
 */
export declare const UserList_User: UserList_User$Type;
declare class VoiceTarget$Type extends MessageType<VoiceTarget> {
    constructor();
    create(value?: PartialMessage<VoiceTarget>): VoiceTarget;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VoiceTarget): VoiceTarget;
    internalBinaryWrite(message: VoiceTarget, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.VoiceTarget
 */
export declare const VoiceTarget: VoiceTarget$Type;
declare class VoiceTarget_Target$Type extends MessageType<VoiceTarget_Target> {
    constructor();
    create(value?: PartialMessage<VoiceTarget_Target>): VoiceTarget_Target;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: VoiceTarget_Target): VoiceTarget_Target;
    internalBinaryWrite(message: VoiceTarget_Target, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.VoiceTarget.Target
 */
export declare const VoiceTarget_Target: VoiceTarget_Target$Type;
declare class PermissionQuery$Type extends MessageType<PermissionQuery> {
    constructor();
    create(value?: PartialMessage<PermissionQuery>): PermissionQuery;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PermissionQuery): PermissionQuery;
    internalBinaryWrite(message: PermissionQuery, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.PermissionQuery
 */
export declare const PermissionQuery: PermissionQuery$Type;
declare class CodecVersion$Type extends MessageType<CodecVersion> {
    constructor();
    create(value?: PartialMessage<CodecVersion>): CodecVersion;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CodecVersion): CodecVersion;
    internalBinaryWrite(message: CodecVersion, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.CodecVersion
 */
export declare const CodecVersion: CodecVersion$Type;
declare class UserStats$Type extends MessageType<UserStats> {
    constructor();
    create(value?: PartialMessage<UserStats>): UserStats;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserStats): UserStats;
    internalBinaryWrite(message: UserStats, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.UserStats
 */
export declare const UserStats: UserStats$Type;
declare class UserStats_Stats$Type extends MessageType<UserStats_Stats> {
    constructor();
    create(value?: PartialMessage<UserStats_Stats>): UserStats_Stats;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserStats_Stats): UserStats_Stats;
    internalBinaryWrite(message: UserStats_Stats, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.UserStats.Stats
 */
export declare const UserStats_Stats: UserStats_Stats$Type;
declare class RequestBlob$Type extends MessageType<RequestBlob> {
    constructor();
    create(value?: PartialMessage<RequestBlob>): RequestBlob;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RequestBlob): RequestBlob;
    internalBinaryWrite(message: RequestBlob, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.RequestBlob
 */
export declare const RequestBlob: RequestBlob$Type;
declare class ServerConfig$Type extends MessageType<ServerConfig> {
    constructor();
    create(value?: PartialMessage<ServerConfig>): ServerConfig;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ServerConfig): ServerConfig;
    internalBinaryWrite(message: ServerConfig, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.ServerConfig
 */
export declare const ServerConfig: ServerConfig$Type;
declare class SuggestConfig$Type extends MessageType<SuggestConfig> {
    constructor();
    create(value?: PartialMessage<SuggestConfig>): SuggestConfig;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SuggestConfig): SuggestConfig;
    internalBinaryWrite(message: SuggestConfig, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.SuggestConfig
 */
export declare const SuggestConfig: SuggestConfig$Type;
declare class PluginDataTransmission$Type extends MessageType<PluginDataTransmission> {
    constructor();
    create(value?: PartialMessage<PluginDataTransmission>): PluginDataTransmission;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PluginDataTransmission): PluginDataTransmission;
    internalBinaryWrite(message: PluginDataTransmission, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message MumbleProto.PluginDataTransmission
 */
export declare const PluginDataTransmission: PluginDataTransmission$Type;
export {};
