The browser.extensionTypes API contains type declarations for WebExtensions.

Not allowed in: Content scripts, Devtools pages

_ImageDetailsRect
_PlainJSONArray
_PlainJSONObject
ImageDetails
InjectDetails
CSSOrigin
Date
ExtensionFileOrCode
ImageFormat
PlainJSONValue
RunAt
CSSOrigin: "user" | "author"

The origin of the CSS to inject, this affects the cascading order (priority) of the stylesheet.

Date: string | number | globalThis.Date
ExtensionFileOrCode: { file: ExtensionURL } | { code: string }
ImageFormat: "jpeg" | "png"

The format of an image.

PlainJSONValue:
    | null
    | string
    | number
    | boolean
    | _PlainJSONArray
    | _PlainJSONObject

A plain JSON value

RunAt: "document_start" | "document_end" | "document_idle"

The soonest that the JavaScript or CSS will be injected into the tab.