{
  "schemaVersion": 1,
  "package": "@fayegram-ai/faye-ui",
  "moduleGroup": "runtime-styles",
  "entry": "@fayegram-ai/faye-ui/runtime-styles/registry",
  "source": "packages/runtime-styles/src/registry.ts",
  "clientBoundary": false,
  "declarations": [
    {
      "name": "styleEntryForSheet",
      "kind": "FunctionDeclaration",
      "signature": "export function styleEntryForSheet(sheet: CompiledSheet, order = 0): StyleEntry",
      "line": 3
    },
    {
      "name": "StyleEntry",
      "kind": "InterfaceDeclaration",
      "signature": "export interface StyleEntry {\n    readonly id: string;\n    readonly css: string;\n    readonly order: number;\n}",
      "members": [
        {
          "name": "id",
          "optional": false,
          "type": "string"
        },
        {
          "name": "css",
          "optional": false,
          "type": "string"
        },
        {
          "name": "order",
          "optional": false,
          "type": "number"
        }
      ],
      "line": 16
    },
    {
      "name": "createStyleCollector",
      "kind": "FunctionDeclaration",
      "signature": "export function createStyleCollector()",
      "line": 22
    },
    {
      "name": "StyleRegistry",
      "kind": "InterfaceDeclaration",
      "signature": "export interface StyleRegistry {\n    retain(entry: StyleEntry): () => void;\n    dispose(): void;\n    inspect(): readonly StyleEntry[];\n}",
      "members": [
        {
          "name": "retain",
          "optional": false,
          "type": "() => void"
        },
        {
          "name": "dispose",
          "optional": false,
          "type": "void"
        },
        {
          "name": "inspect",
          "optional": false,
          "type": "readonly StyleEntry[]"
        }
      ],
      "line": 39
    },
    {
      "name": "createStyleRegistry",
      "kind": "FunctionDeclaration",
      "signature": "export function createStyleRegistry(container: HTMLElement, nonce?: string): StyleRegistry",
      "line": 46
    },
    {
      "name": "createStreamingStyleCollector",
      "kind": "FunctionDeclaration",
      "signature": "export function createStreamingStyleCollector()",
      "line": 125
    },
    {
      "name": "StreamingStyleCollector",
      "kind": "TypeAliasDeclaration",
      "signature": "export type StreamingStyleCollector = ReturnType<typeof createStreamingStyleCollector>;",
      "line": 146
    },
    {
      "name": "createDeferredStyleRegistry",
      "kind": "FunctionDeclaration",
      "signature": "export function createDeferredStyleRegistry(): StyleRegistry & {\n    attach(registry: StyleRegistry): () => void;\n}",
      "line": 150
    }
  ],
  "typesComplete": false,
  "typeScope": "Explicit source declarations plus dependency-resolved emitted exports. Full inherited/generic restrictions remain authoritative in installed declarations.",
  "compiledExports": [
    {
      "name": "styleEntryForSheet",
      "kind": "value",
      "type": "(sheet: CompiledSheet, order?: number) => StyleEntry",
      "description": "Style identities include the component as well as the independently authored sheet."
    },
    {
      "name": "createStyleCollector",
      "kind": "value",
      "type": "() => { add(entry: StyleEntry): void; entries: () => StyleEntry[]; }",
      "description": "Construct one collector per request. It never reads the document or shares mutable global state."
    },
    {
      "name": "createStyleRegistry",
      "kind": "value",
      "type": "(container: HTMLElement, nonce?: string) => StyleRegistry",
      "description": "One registry per DOM container. Hydrated tags are adopted, not duplicated."
    },
    {
      "name": "createStreamingStyleCollector",
      "kind": "value",
      "type": "() => { add(entry: StyleEntry): void; flush(): readonly StyleEntry[]; entries: () => StyleEntry[]; }",
      "description": "Streaming cannot retroactively reorder prior HTML. Reject late precedence regressions."
    },
    {
      "name": "createDeferredStyleRegistry",
      "kind": "value",
      "type": "() => StyleRegistry & { attach(registry: StyleRegistry): () => void; }",
      "description": "Memory-only until attach(). This keeps registry ownership out of React render/initializers.\nattach transfers ownership of the downstream registry until detach/dispose, including rollback."
    },
    {
      "name": "StyleEntry",
      "kind": "type",
      "type": "StyleEntry",
      "description": ""
    },
    {
      "name": "StyleRegistry",
      "kind": "type",
      "type": "StyleRegistry",
      "description": ""
    },
    {
      "name": "StreamingStyleCollector",
      "kind": "type",
      "type": "{ add(entry: StyleEntry): void; flush(): readonly StyleEntry[]; entries: () => StyleEntry[]; }",
      "description": ""
    }
  ],
  "declaration": "packages/faye-ui/dist/runtime-styles/registry.d.ts"
}
