{
  "definitions": [
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 1,
      "name": "Profile",
      "signature": "export interface Profile {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 7,
      "name": "Timeline",
      "signature": "export interface Timeline {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 14,
      "name": "FrameContext",
      "signature": "export interface FrameContext {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 22,
      "name": "Expr",
      "signature": "export type Expr<T> = T | ((frame: FrameContext) => T);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 24,
      "name": "Anchor",
      "signature": "export type Anchor = \"center\" | \"end\" | \"start\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 26,
      "name": "Placement",
      "signature": "export interface Placement {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 36,
      "name": "Orientation",
      "signature": "export type Orientation = \"square\" | \"wide\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 38,
      "name": "TextAlign",
      "signature": "export type TextAlign = \"center\" | \"left\" | \"right\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 40,
      "name": "LayoutSlot",
      "signature": "export interface LayoutSlot {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 50,
      "name": "OrientedLayout",
      "signature": "export type OrientedLayout<K extends string> = Readonly<Record<Orientation, Readonly<Record<K, LayoutSlot>>>>;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 52,
      "name": "SlotOptions",
      "signature": "export interface SlotOptions {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 58,
      "name": "EffectKind",
      "signature": "export type EffectKind = \"blur\" | \"brightness\" | \"contrast\" | \"glow\" | \"hue\" | \"saturate\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 60,
      "name": "Effect",
      "signature": "export interface Effect {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 65,
      "name": "StyleMap",
      "signature": "export type StyleMap = Readonly<Record<string, Expr<number | string>>>;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 67,
      "name": "LayerBase",
      "signature": "interface LayerBase {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 76,
      "name": "TextLayer",
      "signature": "export interface TextLayer extends LayerBase {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 81,
      "name": "BoxLayer",
      "signature": "export interface BoxLayer extends LayerBase {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 85,
      "name": "ImageLayer",
      "signature": "export interface ImageLayer extends LayerBase {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 91,
      "name": "ShaderLayer",
      "signature": "export interface ShaderLayer extends LayerBase {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 97,
      "name": "AnimationLayer",
      "signature": "export interface AnimationLayer extends LayerBase {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 103,
      "name": "Layer",
      "signature": "export type Layer = AnimationLayer | BoxLayer | ImageLayer | ShaderLayer | TextLayer;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 105,
      "name": "LayerKind",
      "signature": "export type LayerKind = Layer[\"kind\"];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 107,
      "name": "CardInput",
      "signature": "export interface CardInput {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 118,
      "name": "CardSpec",
      "signature": "export interface CardSpec {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 129,
      "name": "CardPage",
      "signature": "export interface CardPage {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 139,
      "name": "PageCardOptions",
      "signature": "export interface PageCardOptions {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 148,
      "name": "ResolvedPlacement",
      "signature": "export interface ResolvedPlacement {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 158,
      "name": "ResolvedLayer",
      "signature": "export interface ResolvedLayer {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 171,
      "name": "ResolvedCard",
      "signature": "export interface ResolvedCard {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 182,
      "name": "CardFinding",
      "signature": "export interface CardFinding {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 187,
      "name": "Curve",
      "signature": "export type Curve = \"inCubic\" | \"inOutCubic\" | \"inOutSine\" | \"linear\" | \"outBack\" | \"outCubic\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 189,
      "name": "RegisteredCard",
      "signature": "export interface RegisteredCard {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 195,
      "name": "CardContext",
      "signature": "export interface CardContext {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 202,
      "name": "PageSlot",
      "signature": "export type PageSlot = \"byline\" | \"domain\" | \"mark\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 204,
      "name": "ColumnRow",
      "signature": "export type ColumnRow = \"kicker\" | \"rule\" | \"subtitle\" | \"title\";"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 206,
      "name": "ColumnRowSpec",
      "signature": "export interface ColumnRowSpec {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 213,
      "name": "ColumnSpec",
      "signature": "export interface ColumnSpec {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 221,
      "name": "ColumnEntry",
      "signature": "export interface ColumnEntry {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": true,
      "flow": "isolated",
      "kind": "interface_declaration",
      "line": 226,
      "name": "ColumnBox",
      "signature": "export interface ColumnBox {"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/social-share#file-social-share-types-card-types-ts",
  "language": "typescript",
  "layer": "infrastructure",
  "name": "card.types.ts",
  "path": "types/card.types.ts",
  "ref": "anatomy:file-social-share-types-card-types-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/social-share#folder-social-share-types",
          "json": "https://banes-lab.com/json/anatomy/social-share/folder-social-share-types",
          "label": "types",
          "markdown": "https://banes-lab.com/anatomy/social-share/folder-social-share-types.md",
          "ref": "chapter:/anatomy/social-share#folder-social-share-types"
        }
      ],
      "relation": "contained-in"
    }
  ],
  "slots": {
    "concern": "types",
    "subject": "card",
    "variant": null
  },
  "stats": {
    "bytes": 5810,
    "callable": 0,
    "definitions": 39,
    "edges": 0,
    "exported": 38,
    "files": 1,
    "findings": {},
    "flows": {
      "isolated": 39
    },
    "lines": {
      "blank": 38,
      "code": 193,
      "total": 231
    }
  },
  "summary": "193 lines of code and 39 definitions.",
  "text": "https://banes-lab.com/source/social-share/types/card.types.ts.txt",
  "tree": "social-share",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/social-share#file-social-share-types-image-types-ts",
      "json": "https://banes-lab.com/json/source/social-share/types/image.types.ts",
      "label": "types/image.types.ts",
      "markdown": "https://banes-lab.com/source/social-share/types/image.types.ts.md",
      "ref": "anatomy:file-social-share-types-image-types-ts"
    },
    "previous": null
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/social-share/types",
    "label": "types",
    "markdown": "https://banes-lab.com/api/source/social-share/types.md",
    "ref": "api:source/social-share/types"
  }
}
