{
  "classes": [
    {
      "constants": [],
      "types": [
        {
          "lua_type": "type LevelName = \"debug\"\n    | \"info\"\n    | \"warning\"\n    | \"error\"\n    | \"critical\"",
          "name": "LevelName",
          "tags": [],
          "source": {
            "path": "",
            "line": 9
          },
          "fields": [],
          "desc": ""
        },
        {
          "lua_type": "type LevelInput = LevelName\n    | \"warn\"\n    | number",
          "name": "LevelInput",
          "tags": [],
          "source": {
            "path": "",
            "line": 10
          },
          "fields": [],
          "desc": ""
        },
        {
          "lua_type": "type LogAttrs = { [string]: unknown }",
          "name": "LogAttrs",
          "tags": [],
          "source": {
            "path": "",
            "line": 11
          },
          "fields": [],
          "desc": ""
        },
        {
          "lua_type": "type LogRecord = { timestamp: number, timestampIso: string, level: LevelName, levelValue: number, logger: string, message: string, attrs: LogAttrs, sourcePath: string?, sourceLine: number?, sourceFunction: string? }",
          "name": "LogRecord",
          "tags": [],
          "source": {
            "path": "",
            "line": 13
          },
          "fields": [
            {
              "lua_type": "timestamp: number",
              "name": "timestamp",
              "desc": ""
            },
            {
              "lua_type": "timestampIso: string",
              "name": "timestampIso",
              "desc": ""
            },
            {
              "lua_type": "level: LevelName",
              "name": "level",
              "desc": ""
            },
            {
              "lua_type": "levelValue: number",
              "name": "levelValue",
              "desc": ""
            },
            {
              "lua_type": "logger: string",
              "name": "logger",
              "desc": ""
            },
            {
              "lua_type": "message: string",
              "name": "message",
              "desc": ""
            },
            {
              "lua_type": "attrs: LogAttrs",
              "name": "attrs",
              "desc": ""
            },
            {
              "lua_type": "sourcePath: string?",
              "name": "sourcePath",
              "desc": ""
            },
            {
              "lua_type": "sourceLine: number?",
              "name": "sourceLine",
              "desc": ""
            },
            {
              "lua_type": "sourceFunction: string?",
              "name": "sourceFunction",
              "desc": ""
            }
          ],
          "desc": ""
        }
      ],
      "name": "@eryx/logging/types",
      "tags": [],
      "functions": [],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": ""
    },
    {
      "is_primary_export": false,
      "source": {
        "path": "",
        "line": 26
      },
      "tags": [],
      "properties": [
        {
          "tags": [],
          "lua_type": "level: LevelInput?",
          "name": "level",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "filter: (((record: LogRecord) → boolean))?",
          "name": "filter",
          "desc": ""
        },
        {
          "tags": [],
          "lua_type": "close: ((() → ()))?",
          "name": "close",
          "desc": ""
        }
      ],
      "desc": "",
      "name": "Handler",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 29
          },
          "is_method": false,
          "signature": "Handler.write(record: LogRecord) → ()",
          "desc": "",
          "tags": [],
          "name": "write",
          "return_str": "()",
          "function_type": "Function",
          "returns": [],
          "params": [
            {
              "lua_type": "LogRecord",
              "name": "record",
              "desc": ""
            }
          ]
        }
      ],
      "metamethods": [],
      "types": []
    }
  ]
}