// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { HttpExchange, ModelPayload } from "./gen_models";

export type ActionInvocation = { "scope": "global", action: GlobalAction, };

export type ActionMetadata = { label: string, defaultHotkey: string | null, };

export type GetProxyStateRequest = Record<string, never>;

export type GetProxyStateResponse = { state: ProxyState, };

export type GlobalAction = "proxy_start" | "proxy_stop";

export type ListActionsRequest = Record<string, never>;

export type ListActionsResponse = { actions: Array<[ActionInvocation, ActionMetadata]>, };

export type ListModelsRequest = Record<string, never>;

export type ListModelsResponse = { httpExchanges: Array<HttpExchange>, };

export type ProxyState = "running" | "stopped";

export type ProxyStatePayload = { state: ProxyState, };

export type RpcEventSchema = { model_write: ModelPayload, proxy_state_changed: ProxyStatePayload, };

export type RpcSchema = { execute_action: [ActionInvocation, boolean], get_proxy_state: [GetProxyStateRequest, GetProxyStateResponse], list_actions: [ListActionsRequest, ListActionsResponse], list_models: [ListModelsRequest, ListModelsResponse], };
