{
  "schemaVersion": 1,
  "package": "@fayegram-ai/faye-ui",
  "moduleGroup": "theme",
  "entry": "@fayegram-ai/faye-ui/theme/asset-controller",
  "source": "packages/theme/src/asset-controller.ts",
  "clientBoundary": false,
  "declarations": [
    {
      "name": "ThemeAsset",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ThemeAsset {\n    readonly id: string;\n    readonly href: string;\n    readonly integrity?: string;\n}",
      "members": [
        {
          "name": "id",
          "optional": false,
          "type": "string"
        },
        {
          "name": "href",
          "optional": false,
          "type": "string"
        },
        {
          "name": "integrity",
          "optional": true,
          "type": "string"
        }
      ],
      "line": 2
    },
    {
      "name": "PreparedTheme",
      "kind": "InterfaceDeclaration",
      "signature": "export interface PreparedTheme {\n    /** Synchronous commit. Roll back any DOM changes before throwing. */\n    activate(): void;\n    dispose(): void;\n}",
      "members": [
        {
          "name": "activate",
          "optional": false,
          "type": "void"
        },
        {
          "name": "dispose",
          "optional": false,
          "type": "void"
        }
      ],
      "line": 7
    },
    {
      "name": "ThemeAssetController",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ThemeAssetController {\n    load(asset: ThemeAsset): Promise<string>;\n    getSnapshot(): string;\n    /** Resource cleanup errors never roll back an already committed theme. */\n    getCleanupErrors(): readonly unknown[];\n    dispose(): void;\n}",
      "members": [
        {
          "name": "load",
          "optional": false,
          "type": "Promise<string>"
        },
        {
          "name": "getSnapshot",
          "optional": false,
          "type": "string"
        },
        {
          "name": "getCleanupErrors",
          "optional": false,
          "type": "readonly unknown[]"
        },
        {
          "name": "dispose",
          "optional": false,
          "type": "void"
        }
      ],
      "line": 12
    },
    {
      "name": "createThemeAssetController",
      "kind": "FunctionDeclaration",
      "signature": "export function createThemeAssetController(options: {\n    initialId: string;\n    prepare: (asset: ThemeAsset, signal: AbortSignal) => Promise<PreparedTheme>;\n}): ThemeAssetController",
      "line": 36
    }
  ],
  "typesComplete": false,
  "typeScope": "Explicit source declarations plus dependency-resolved emitted exports. Full inherited/generic restrictions remain authoritative in installed declarations.",
  "compiledExports": [
    {
      "name": "createThemeAssetController",
      "kind": "value",
      "type": "(options: { initialId: string; prepare: (asset: ThemeAsset, signal: AbortSignal) => Promise<PreparedTheme>; }) => ThemeAssetController",
      "description": "Latest-request-wins, including preparers that ignore AbortSignal. Late resources\nare disposed, never activated. Callbacks cannot reenter a synchronous ownership transition."
    },
    {
      "name": "ThemeAsset",
      "kind": "type",
      "type": "ThemeAsset",
      "description": ""
    },
    {
      "name": "PreparedTheme",
      "kind": "type",
      "type": "PreparedTheme",
      "description": ""
    },
    {
      "name": "ThemeAssetController",
      "kind": "type",
      "type": "ThemeAssetController",
      "description": ""
    }
  ],
  "declaration": "packages/faye-ui/dist/theme/asset-controller.d.ts"
}
