import * as VScript from "http://172.16.0.12/bladerunner_sdk/vscript@2.5.2/deno/release/mod.ts";
import * as VAPI from "./mod.ts";
export const lift = {
  BytesCounter: (
    _raw: [number, number],
    _socket: VScript.VSocket,
  ): BytesCounter => {
    return {
      bytes_total: _raw[0],
      bytes_per_sec: _raw[1],
    };
  },
  Counter: (
    _raw: [number, number, number, number],
    _socket: VScript.VSocket,
  ): Counter => {
    return {
      bytes_total: _raw[0],
      packets_total: _raw[1],
      bytes_per_sec: _raw[2],
      packets_per_sec: _raw[3],
    };
  },
  EventsCounter: (
    _raw: [number, number],
    _socket: VScript.VSocket,
  ): EventsCounter => {
    return {
      events_total: _raw[0],
      events_per_sec: _raw[1],
    };
  },
  PacketsCounter: (
    _raw: [number, number],
    _socket: VScript.VSocket,
  ): PacketsCounter => {
    return {
      packets_total: _raw[0],
      packets_per_sec: _raw[1],
    };
  },
} as const;
export const lower = {
  BytesCounter: (
    _x: {
      bytes_total: VAPI.Primitives.Unsigned64;
      bytes_per_sec: VAPI.Primitives.Unsigned64;
    },
    _socket: VScript.VSocket,
  ): [number, number] => [_x.bytes_total, _x.bytes_per_sec],
  Counter: (
    _x: {
      bytes_total: VAPI.Primitives.Unsigned64;
      packets_total: VAPI.Primitives.Unsigned64;
      bytes_per_sec: VAPI.Primitives.Unsigned64;
      packets_per_sec: VAPI.Primitives.Unsigned32;
    },
    _socket: VScript.VSocket,
  ): [number, number, number, number] => [
    _x.bytes_total,
    _x.packets_total,
    _x.bytes_per_sec,
    _x.packets_per_sec,
  ],
  EventsCounter: (
    _x: {
      events_total: VAPI.Primitives.Unsigned64;
      events_per_sec: VAPI.Primitives.Unsigned32;
    },
    _socket: VScript.VSocket,
  ): [number, number] => [_x.events_total, _x.events_per_sec],
  PacketsCounter: (
    _x: {
      packets_total: VAPI.Primitives.Unsigned64;
      packets_per_sec: VAPI.Primitives.Unsigned32;
    },
    _socket: VScript.VSocket,
  ): [number, number] => [_x.packets_total, _x.packets_per_sec],
} as const;
export interface BytesCounter {
  bytes_total: VAPI.Primitives.Unsigned64;
  bytes_per_sec: VAPI.Primitives.Unsigned64;
}
export interface Counter {
  bytes_total: VAPI.Primitives.Unsigned64;
  packets_total: VAPI.Primitives.Unsigned64;
  bytes_per_sec: VAPI.Primitives.Unsigned64;
  packets_per_sec: VAPI.Primitives.Unsigned32;
}
export interface EventsCounter {
  events_total: VAPI.Primitives.Unsigned64;
  events_per_sec: VAPI.Primitives.Unsigned32;
}
export interface PacketsCounter {
  packets_total: VAPI.Primitives.Unsigned64;
  packets_per_sec: VAPI.Primitives.Unsigned32;
}
