{
  "schemaVersion": 1,
  "package": "@fayegram-ai/faye-ui",
  "moduleGroup": "devtools",
  "entry": "@fayegram-ai/faye-ui/devtools/design-exchange",
  "source": "packages/devtools/src/design-exchange.ts",
  "clientBoundary": false,
  "declarations": [
    {
      "name": "DesignExchange",
      "kind": "InterfaceDeclaration",
      "signature": "export interface DesignExchange {\n    readonly schemaVersion: 1;\n    readonly authority: 'repository';\n    readonly sourceRevision: string;\n    readonly baseDigest: string;\n    readonly payloadDigest: string;\n    readonly stableIds: Readonly<Record<string, string>>;\n    readonly theme: ThemeDefinition;\n}",
      "members": [
        {
          "name": "schemaVersion",
          "optional": false,
          "type": "1"
        },
        {
          "name": "authority",
          "optional": false,
          "type": "'repository'"
        },
        {
          "name": "sourceRevision",
          "optional": false,
          "type": "string"
        },
        {
          "name": "baseDigest",
          "optional": false,
          "type": "string"
        },
        {
          "name": "payloadDigest",
          "optional": false,
          "type": "string"
        },
        {
          "name": "stableIds",
          "optional": false,
          "type": "Readonly<Record<string, string>>"
        },
        {
          "name": "theme",
          "optional": false,
          "type": "ThemeDefinition"
        }
      ],
      "line": 4
    },
    {
      "name": "createDesignExchange",
      "kind": "FunctionDeclaration",
      "signature": "export async function createDesignExchange(theme: ThemeDefinition, sourceRevision: string, stableIds?: Readonly<Record<string, string>>, schema: TokenContract = contract): Promise<DesignExchange>",
      "line": 29
    },
    {
      "name": "updateDesignExchange",
      "kind": "FunctionDeclaration",
      "signature": "export async function updateDesignExchange(base: DesignExchange, theme: ThemeDefinition, schema: TokenContract = contract): Promise<DesignExchange>",
      "line": 35
    },
    {
      "name": "validateDesignExchange",
      "kind": "FunctionDeclaration",
      "signature": "export async function validateDesignExchange(input: DesignExchange, schema: TokenContract = contract): Promise<DesignExchange>",
      "line": 40
    },
    {
      "name": "applyDesignExchange",
      "kind": "FunctionDeclaration",
      "signature": "export async function applyDesignExchange(current: ThemeDefinition, incoming: DesignExchange, expectedRevision: string, schema: TokenContract = contract, expectedStableIds?: Readonly<Record<string, string>>): Promise<ThemeDefinition>",
      "line": 48
    }
  ],
  "typesComplete": false,
  "typeScope": "Explicit source declarations plus dependency-resolved emitted exports. Full inherited/generic restrictions remain authoritative in installed declarations.",
  "compiledExports": [
    {
      "name": "createDesignExchange",
      "kind": "value",
      "type": "(theme: ThemeDefinition, sourceRevision: string, stableIds?: Readonly<Record<string, string>>, schema?: TokenContract) => Promise<DesignExchange>",
      "description": "Local tool-neutral exchange. Hashes detect changes, not identity/authentication."
    },
    {
      "name": "updateDesignExchange",
      "kind": "value",
      "type": "(base: DesignExchange, theme: ThemeDefinition, schema?: TokenContract) => Promise<DesignExchange>",
      "description": "Prepare an edited payload while retaining the repository base for conflict checking."
    },
    {
      "name": "validateDesignExchange",
      "kind": "value",
      "type": "(input: DesignExchange, schema?: TokenContract) => Promise<DesignExchange>",
      "description": ""
    },
    {
      "name": "applyDesignExchange",
      "kind": "value",
      "type": "(current: ThemeDefinition, incoming: DesignExchange, expectedRevision: string, schema?: TokenContract, expectedStableIds?: Readonly<Record<string, string>>) => Promise<ThemeDefinition>",
      "description": "Returns reviewed input; persistence remains the caller's explicit repository operation."
    },
    {
      "name": "DesignExchange",
      "kind": "type",
      "type": "DesignExchange",
      "description": ""
    }
  ],
  "declaration": "packages/faye-ui/dist/devtools/design-exchange.d.ts"
}
