{
  "schemaVersion": 1,
  "package": "@fayegram-ai/faye-ui",
  "moduleGroup": "theme",
  "entry": "@fayegram-ai/faye-ui/theme/color",
  "source": "packages/theme/src/color.ts",
  "clientBoundary": false,
  "declarations": [
    {
      "name": "RGBA",
      "kind": "InterfaceDeclaration",
      "signature": "export interface RGBA {\n    readonly r: number;\n    readonly g: number;\n    readonly b: number;\n    readonly a: number;\n}",
      "members": [
        {
          "name": "r",
          "optional": false,
          "type": "number"
        },
        {
          "name": "g",
          "optional": false,
          "type": "number"
        },
        {
          "name": "b",
          "optional": false,
          "type": "number"
        },
        {
          "name": "a",
          "optional": false,
          "type": "number"
        }
      ],
      "line": 4
    },
    {
      "name": "parseColor",
      "kind": "FunctionDeclaration",
      "signature": "export function parseColor(input: string): RGBA",
      "line": 15
    },
    {
      "name": "formatColor",
      "kind": "FunctionDeclaration",
      "signature": "export function formatColor(color: RGBA): string",
      "line": 65
    },
    {
      "name": "alpha",
      "kind": "FunctionDeclaration",
      "signature": "export function alpha(color: string, opacity: number): string",
      "line": 70
    },
    {
      "name": "mix",
      "kind": "FunctionDeclaration",
      "signature": "export function mix(color: string, other: string, amount = .5): string",
      "line": 72
    },
    {
      "name": "lighten",
      "kind": "VariableDeclaration",
      "signature": "lighten = (color: string, amount = .2): string => mix(color, '#ffffff', amount)",
      "line": 78
    },
    {
      "name": "darken",
      "kind": "VariableDeclaration",
      "signature": "darken = (color: string, amount = .2): string => mix(color, '#000000', amount)",
      "line": 79
    },
    {
      "name": "composite",
      "kind": "FunctionDeclaration",
      "signature": "export function composite(foreground: string, background: string): string",
      "line": 80
    },
    {
      "name": "relativeLuminance",
      "kind": "FunctionDeclaration",
      "signature": "export function relativeLuminance(color: string): number",
      "line": 85
    },
    {
      "name": "colorContrast",
      "kind": "FunctionDeclaration",
      "signature": "export function colorContrast(a: string, b: string): number",
      "line": 92
    },
    {
      "name": "pickForeground",
      "kind": "FunctionDeclaration",
      "signature": "export function pickForeground(background: string, candidates: readonly string[] = ['#ffffff', '#000000'], minimum = 4.5): string",
      "line": 96
    },
    {
      "name": "Palette",
      "kind": "InterfaceDeclaration",
      "signature": "export interface Palette {\n    readonly main: string;\n    readonly hover: string;\n    readonly active: string;\n    readonly soft: string;\n    readonly softText: string;\n    readonly softHover: string;\n    readonly softActive: string;\n    readonly onMain: string;\n}",
      "members": [
        {
          "name": "main",
          "optional": false,
          "type": "string"
        },
        {
          "name": "hover",
          "optional": false,
          "type": "string"
        },
        {
          "name": "active",
          "optional": false,
          "type": "string"
        },
        {
          "name": "soft",
          "optional": false,
          "type": "string"
        },
        {
          "name": "softText",
          "optional": false,
          "type": "string"
        },
        {
          "name": "softHover",
          "optional": false,
          "type": "string"
        },
        {
          "name": "softActive",
          "optional": false,
          "type": "string"
        },
        {
          "name": "onMain",
          "optional": false,
          "type": "string"
        }
      ],
      "line": 105
    },
    {
      "name": "createPalette",
      "kind": "FunctionDeclaration",
      "signature": "export function createPalette(seed: string, surface = '#ffffff', minimum = 4.5, options: {\n    textSurfaces?: readonly string[];\n} = {}): Palette",
      "line": 116
    }
  ],
  "typesComplete": false,
  "typeScope": "Explicit source declarations plus dependency-resolved emitted exports. Full inherited/generic restrictions remain authoritative in installed declarations.",
  "compiledExports": [
    {
      "name": "parseColor",
      "kind": "value",
      "type": "(input: string) => RGBA",
      "description": ""
    },
    {
      "name": "formatColor",
      "kind": "value",
      "type": "(color: RGBA) => string",
      "description": ""
    },
    {
      "name": "alpha",
      "kind": "value",
      "type": "(color: string, opacity: number) => string",
      "description": ""
    },
    {
      "name": "mix",
      "kind": "value",
      "type": "(color: string, other: string, amount?: number) => string",
      "description": "Premultiplied-alpha interpolation in encoded sRGB, not a perceptually uniform color scale."
    },
    {
      "name": "composite",
      "kind": "value",
      "type": "(foreground: string, background: string) => string",
      "description": ""
    },
    {
      "name": "relativeLuminance",
      "kind": "value",
      "type": "(color: string) => number",
      "description": ""
    },
    {
      "name": "colorContrast",
      "kind": "value",
      "type": "(a: string, b: string) => number",
      "description": ""
    },
    {
      "name": "pickForeground",
      "kind": "value",
      "type": "(background: string, candidates?: readonly string[], minimum?: number) => string",
      "description": ""
    },
    {
      "name": "createPalette",
      "kind": "value",
      "type": "(seed: string, surface?: string, minimum?: number, options?: { textSurfaces?: readonly string[]; }) => Palette",
      "description": "Creates coherent solid/soft colors and checks solid/hover/active text contrast."
    },
    {
      "name": "RGBA",
      "kind": "type",
      "type": "RGBA",
      "description": "Numeric color utilities intentionally accept finite sRGB colors, not unresolved CSS variables."
    },
    {
      "name": "lighten",
      "kind": "value",
      "type": "(color: string, amount?: number) => string",
      "description": ""
    },
    {
      "name": "darken",
      "kind": "value",
      "type": "(color: string, amount?: number) => string",
      "description": ""
    },
    {
      "name": "Palette",
      "kind": "type",
      "type": "Palette",
      "description": ""
    }
  ],
  "declaration": "packages/faye-ui/dist/theme/color.d.ts"
}
