{
  "schemaVersion": 1,
  "package": "@fayegram-ai/faye-ui",
  "moduleGroup": "theme",
  "entry": "@fayegram-ai/faye-ui/theme",
  "source": "packages/theme/src/index.ts",
  "clientBoundary": false,
  "declarations": [
    {
      "name": "validateTokenValue",
      "kind": "FunctionDeclaration",
      "signature": "export function validateTokenValue(type: TokenType, value: TokenValue, path: string): void",
      "line": 8
    },
    {
      "name": "defineTheme",
      "kind": "FunctionDeclaration",
      "signature": "export function defineTheme(definition: ThemeDefinition, schema: TokenContract = defaultContract): ThemeDefinition",
      "line": 58
    },
    {
      "name": "resolveTheme",
      "kind": "FunctionDeclaration",
      "signature": "export function resolveTheme(definition: ThemeDefinition, options: ThemeContextOptions = {}, schema: TokenContract = defaultContract): ResolvedTheme",
      "line": 128
    },
    {
      "name": "themeContexts",
      "kind": "FunctionDeclaration",
      "signature": "export function themeContexts(definition: ThemeDefinition, schema: TokenContract = defaultContract)",
      "line": 133
    },
    {
      "name": "ThemePatch",
      "kind": "InterfaceDeclaration",
      "signature": "export interface ThemePatch {\n    readonly id?: string;\n    readonly tokens?: TokenSet;\n    readonly schemes?: ThemeDefinition['schemes'];\n    readonly densities?: ThemeDefinition['densities'];\n    readonly axes?: ThemeDefinition['axes'];\n    readonly conditions?: ThemeDefinition['conditions'];\n}",
      "members": [
        {
          "name": "id",
          "optional": true,
          "type": "string"
        },
        {
          "name": "tokens",
          "optional": true,
          "type": "TokenSet"
        },
        {
          "name": "schemes",
          "optional": true,
          "type": "ThemeDefinition['schemes']"
        },
        {
          "name": "densities",
          "optional": true,
          "type": "ThemeDefinition['densities']"
        },
        {
          "name": "axes",
          "optional": true,
          "type": "ThemeDefinition['axes']"
        },
        {
          "name": "conditions",
          "optional": true,
          "type": "ThemeDefinition['conditions']"
        }
      ],
      "line": 136
    },
    {
      "name": "extendTheme",
      "kind": "FunctionDeclaration",
      "signature": "export function extendTheme(base: ThemeDefinition, patch: ThemePatch, schema: TokenContract = defaultContract): ThemeDefinition",
      "line": 144
    },
    {
      "name": "themeVariables",
      "kind": "FunctionDeclaration",
      "signature": "export function themeVariables(theme: ResolvedTheme): Readonly<Record<`--faye-ui-${string}`, string>>",
      "line": 162
    },
    {
      "name": "themeRule",
      "kind": "FunctionDeclaration",
      "signature": "export function themeRule(theme: ResolvedTheme, selector: string): string",
      "line": 166
    },
    {
      "name": "contrastRatio",
      "kind": "FunctionDeclaration",
      "signature": "export function contrastRatio(a: string, b: string): number",
      "line": 172
    },
    {
      "name": "themeBindings",
      "kind": "FunctionDeclaration",
      "signature": "export function themeBindings(definition: ThemeDefinition, options: ThemeContextOptions = {}, schema: TokenContract = defaultContract)",
      "line": 188
    },
    {
      "name": "compileThemeCSS",
      "kind": "FunctionDeclaration",
      "signature": "export function compileThemeCSS(definition: ThemeDefinition, schema: TokenContract = defaultContract): string",
      "line": 193
    },
    {
      "name": "completeTheme",
      "kind": "FunctionDeclaration",
      "signature": "export function completeTheme(partial: ThemePatch & {\n    id: string;\n}, base: ThemeDefinition, schema: TokenContract = defaultContract): ThemeDefinition",
      "line": 207
    }
  ],
  "typesComplete": false,
  "typeScope": "Explicit source declarations plus dependency-resolved emitted exports. Full inherited/generic restrictions remain authoritative in installed declarations.",
  "compiledExports": [
    {
      "name": "validateTokenValue",
      "kind": "value",
      "type": "(type: TokenType, value: TokenValue, path: string) => void",
      "description": "Value validation is deliberately conservative for portable theme data. Arbitrary CSS belongs in trusted stylesheets."
    },
    {
      "name": "defineTheme",
      "kind": "value",
      "type": "(definition: ThemeDefinition, schema?: TokenContract) => ThemeDefinition",
      "description": ""
    },
    {
      "name": "resolveTheme",
      "kind": "value",
      "type": "(definition: ThemeDefinition, options?: ThemeContextOptions, schema?: TokenContract) => ResolvedTheme",
      "description": ""
    },
    {
      "name": "themeContexts",
      "kind": "value",
      "type": "(definition: ThemeDefinition, schema?: TokenContract) => readonly import(\"./contexts.js\").ThemeContext[]",
      "description": ""
    },
    {
      "name": "extendTheme",
      "kind": "value",
      "type": "(base: ThemeDefinition, patch: ThemePatch, schema?: TokenContract) => ThemeDefinition",
      "description": ""
    },
    {
      "name": "themeVariables",
      "kind": "value",
      "type": "(theme: ResolvedTheme) => Readonly<Record<`--faye-ui-${string}`, string>>",
      "description": ""
    },
    {
      "name": "themeRule",
      "kind": "value",
      "type": "(theme: ResolvedTheme, selector: string) => string",
      "description": "Emit fully resolved values: aliases cannot become stale after a nested scope changes."
    },
    {
      "name": "contrastRatio",
      "kind": "value",
      "type": "(a: string, b: string) => number",
      "description": ""
    },
    {
      "name": "themeBindings",
      "kind": "value",
      "type": "(definition: ThemeDefinition, options?: ThemeContextOptions, schema?: TokenContract) => Readonly<Record<`--faye-ui-${string}`, string>>",
      "description": "Live CSS bindings for a whole scope. Use themeVariables(resolveTheme(...)) for resolved non-CSS snapshots."
    },
    {
      "name": "compileThemeCSS",
      "kind": "value",
      "type": "(definition: ThemeDefinition, schema?: TokenContract) => string",
      "description": "Compile complete scheme/density scopes. Load the emitted CSS before selecting themeId."
    },
    {
      "name": "completeTheme",
      "kind": "value",
      "type": "(partial: ThemePatch & { id: string; }, base: ThemeDefinition, schema?: TokenContract) => ThemeDefinition",
      "description": "Explicit migration path for older full-token files; unspecified values use the supplied current base."
    },
    {
      "name": "ThemePatch",
      "kind": "type",
      "type": "ThemePatch",
      "description": ""
    }
  ],
  "declaration": "packages/faye-ui/dist/theme/index.d.ts"
}
