/**
 * Auto-generated TypeScript bindings for Tauri commands
 * Generated by tauri-typegen v0.5.0
 * Generated at: 2026-04-03T09:09:31.628896400+00:00
 * Generator: none
 *
 * Do not edit manually - regenerate using: cargo tauri-typegen generate
 */

import { invoke } from "@tauri-apps/api/core";
import * as types from "./types";

export async function startLivekitProxy(params: types.StartLivekitProxyParams): Promise<number> {
  return invoke("start_livekit_proxy", params);
}

export async function stopLivekitProxy(): Promise<void> {
  return invoke("stop_livekit_proxy");
}

export async function checkClientUpdate(
  params: types.CheckClientUpdateParams,
): Promise<types.UpdateCheckResult> {
  return invoke("check_client_update", params);
}

export async function downloadAndInstallUpdate(
  params: types.DownloadAndInstallUpdateParams,
): Promise<void> {
  return invoke("download_and_install_update", params);
}

export async function pttStart(): Promise<void> {
  return invoke("ptt_start");
}

export async function pttStop(): Promise<void> {
  return invoke("ptt_stop");
}

export async function pttSetKey(params: types.PttSetKeyParams): Promise<void> {
  return invoke("ptt_set_key", params);
}

export async function pttGetKey(): Promise<number> {
  return invoke("ptt_get_key");
}

export async function pttListenForKey(): Promise<number> {
  return invoke("ptt_listen_for_key");
}

export async function saveCredential(params: types.SaveCredentialParams): Promise<void> {
  return invoke("save_credential", params);
}

export async function loadCredential(
  params: types.LoadCredentialParams,
): Promise<types.CredentialData | null> {
  return invoke("load_credential", params);
}

export async function deleteCredential(params: types.DeleteCredentialParams): Promise<void> {
  return invoke("delete_credential", params);
}

export async function wsConnect(params: types.WsConnectParams): Promise<void> {
  return invoke("ws_connect", params);
}

export async function wsSend(params: types.WsSendParams): Promise<void> {
  return invoke("ws_send", params);
}

export async function wsDisconnect(): Promise<void> {
  return invoke("ws_disconnect");
}

export async function acceptCertFingerprint(
  params: types.AcceptCertFingerprintParams,
): Promise<void> {
  return invoke("accept_cert_fingerprint", params);
}

export async function getSettings(): Promise<types.Value> {
  return invoke("get_settings");
}

export async function saveSettings(params: types.SaveSettingsParams): Promise<void> {
  return invoke("save_settings", params);
}

export async function storeCertFingerprint(
  params: types.StoreCertFingerprintParams,
): Promise<void> {
  return invoke("store_cert_fingerprint", params);
}

export async function getCertFingerprint(
  params: types.GetCertFingerprintParams,
): Promise<string | null> {
  return invoke("get_cert_fingerprint", params);
}

export async function openDevtools(): Promise<void> {
  return invoke("open_devtools");
}
