import * as ENUM from "./enum";
export declare type ClientUpdate = {
    client_nickname: string;
};
export declare type ClientDBEdit = {
    client_description: string;
};
export declare type ClientEdit = {
    client_description?: string;
    client_is_talker?: number;
};
export declare type ServerEdit = {
    virtualserver_name?: string;
    virtualserver_welcomemessage?: string;
    virtualserver_maxclients?: number;
    virtualserver_password?: string;
    virtualserver_hostmessage?: string;
    virtualserver_hostmessage_mode?: ENUM.HostMessageMode;
    virtualserver_default_server_group?: number;
    virtualserver_default_channel_group?: number;
    virtualserver_default_channel_admin_group?: number;
    virtualserver_max_download_total_bandwidth?: number;
    virtualserver_max_upload_total_bandwidth?: number;
    virtualserver_hostbanner_url?: string;
    virtualserver_hostbanner_gfx_url?: string;
    virtualserver_hostbanner_gfx_interval?: number;
    virtualserver_complain_autoban_count?: number;
    virtualserver_complain_autoban_time?: number;
    virtualserver_complain_remove_time?: number;
    virtualserver_min_clients_in_channel_before_forced_silence?: number;
    virtualserver_priority_speaker_dimm_modificator?: number;
    virtualserver_antiflood_points_tick_reduce?: number;
    virtualserver_antiflood_points_needed_command_block?: number;
    virtualserver_antiflood_points_needed_plugin_block?: number;
    virtualserver_antiflood_points_needed_ip_block?: number;
    virtualserver_hostbanner_mode?: ENUM.HostBannerMode;
    virtualserver_hostbutton_tooltip?: string;
    virtualserver_hostbutton_gfx_url?: string;
    virtualserver_hostbutton_url?: string;
    virtualserver_download_quota?: number;
    virtualserver_upload_quota?: number;
    virtualserver_machine_id?: string;
    virtualserver_port?: number;
    virtualserver_autostart?: number;
    virtualserver_status?: string;
    virtualserver_log_client?: number;
    virtualserver_log_query?: number;
    virtualserver_log_channel?: number;
    virtualserver_log_permissions?: number;
    virtualserver_log_server?: number;
    virtualserver_log_filetransfer?: number;
    virtualserver_min_client_version?: number;
    virtualserver_min_android_version?: number;
    virtualserver_min_ios_version?: number;
    virtualserver_needed_identity_security_level?: number;
    virtualserver_name_phonetic?: string;
    virtualserver_icon_id?: number;
    virtualserver_reserved_slots?: number;
    virtualserver_weblist_enabled?: number;
    virtualserver_codec_encryption_mode?: ENUM.CodecEncryptionMode;
};
export declare type ChannelEdit = {
    cid?: number;
    channel_name?: string;
    channel_topic?: string;
    channel_password?: string;
    channel_description?: string;
    channel_codec?: ENUM.Codec;
    channel_codec_quality?: number;
    channel_maxclients?: number;
    channel_maxfamilyclients?: number;
    channel_order?: number;
    channel_flag_permanent?: number;
    channel_flag_semi_permanent?: number;
    channel_flag_temporary?: number;
    channel_flag_default?: number;
    channel_flag_maxclients_unlimited?: number;
    channel_flag_maxfamilyclients_inherited?: number;
    channel_needed_talk_power?: number;
    channel_name_phonetic?: string;
    channel_codec_is_unencrypted?: number;
    channel_cpid?: number;
};
export declare type InstanceEdit = {
    serverinstance_template_serveradmin_group?: number;
    serverinstance_filetransfer_port?: number;
    serverinstance_max_download_total_bandwidth?: number;
    serverinstance_max_upload_total_bandwidth?: number;
    serverinstance_template_serverdefault_group?: number;
    serverinstance_template_channeldefault_group?: number;
    serverinstance_template_channeladmin_group?: number;
    serverinstance_serverquery_flood_commands?: number;
    serverinstance_serverquery_flood_time?: number;
    serverinstance_serverquery_flood_ban_time?: number;
};
export declare type ServerTempPasswordAdd = {
    /** the temporary password */
    pw: string;
    /** description of the password */
    desc?: string;
    /** the duration the password is valid in seconds */
    duration: number;
    /** the channel to let the user join */
    tcid?: number;
    /** the password to the channel */
    tcpw?: string;
};
export declare type BanAdd = {
    /** ip regular expression */
    ip?: string;
    /** name regular expression */
    name?: string;
    /** uid regular expression */
    uid?: string;
    /** myteamspeak id, use "empty" to ban all clients without connected myteamspeak */
    mytsid?: string;
    /** bantime in seconds, if left empty it will result in a permaban */
    time?: number;
    /** ban reason */
    banreason: string;
};
export declare type BanClient = {
    clid: number;
    /** myteamspeak id, use "empty" to ban all clients without connected myteamspeak */
    mytsid?: string;
    /** bantime in seconds, if left empty it will result in a permaban */
    time?: number;
    /** ban reason */
    banreason: string;
};
export declare type TransferUpload = {
    /** arbitary id to identify the transfer */
    clientftfid?: number;
    /** destination filename */
    name: string;
    /** size of the file */
    size: number;
    /** channel id to upload to */
    cid?: number;
    /** channel password of the channel which will be uploaded to */
    cpw?: string;
    /** overwrites an existing file */
    overwrite?: number;
    resume?: number;
};
export declare type TransferDownload = {
    /** arbitary id to identify the transfer */
    clientftfid?: number;
    /** destination filename */
    name: string;
    /** channel id to upload to */
    cid?: number;
    /** channel password of the channel which will be uploaded to */
    cpw?: string;
    seekpos?: number;
};
