{
  "metadata": {
    "toolPackage": "@microsoft/api-extractor",
    "toolVersion": "7.52.10",
    "schemaVersion": 1011,
    "oldestForwardsCompatibleVersion": 1001,
    "tsdocConfig": {
      "$schema": "https://developer.microsoft.com/json-schemas/tsdoc/v0/tsdoc.schema.json",
      "noStandardTags": true,
      "tagDefinitions": [
        {
          "tagName": "@alpha",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@beta",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@defaultValue",
          "syntaxKind": "block"
        },
        {
          "tagName": "@decorator",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@deprecated",
          "syntaxKind": "block"
        },
        {
          "tagName": "@eventProperty",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@example",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@experimental",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@inheritDoc",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@internal",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@label",
          "syntaxKind": "inline"
        },
        {
          "tagName": "@link",
          "syntaxKind": "inline",
          "allowMultiple": true
        },
        {
          "tagName": "@override",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@packageDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@param",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@privateRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@public",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@readonly",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@remarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@returns",
          "syntaxKind": "block"
        },
        {
          "tagName": "@sealed",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@see",
          "syntaxKind": "block"
        },
        {
          "tagName": "@throws",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@typeParam",
          "syntaxKind": "block",
          "allowMultiple": true
        },
        {
          "tagName": "@virtual",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@betaDocumentation",
          "syntaxKind": "modifier"
        },
        {
          "tagName": "@internalRemarks",
          "syntaxKind": "block"
        },
        {
          "tagName": "@preapproved",
          "syntaxKind": "modifier"
        }
      ],
      "supportForTags": {
        "@alpha": true,
        "@beta": true,
        "@defaultValue": true,
        "@decorator": true,
        "@deprecated": true,
        "@eventProperty": true,
        "@example": true,
        "@experimental": true,
        "@inheritDoc": true,
        "@internal": true,
        "@label": true,
        "@link": true,
        "@override": true,
        "@packageDocumentation": true,
        "@param": true,
        "@privateRemarks": true,
        "@public": true,
        "@readonly": true,
        "@remarks": true,
        "@returns": true,
        "@sealed": true,
        "@see": true,
        "@throws": true,
        "@typeParam": true,
        "@virtual": true,
        "@betaDocumentation": true,
        "@internalRemarks": true,
        "@preapproved": true
      },
      "reportUnsupportedHtmlElements": false
    }
  },
  "kind": "Package",
  "canonicalReference": "@genesislcap/foundation-criteria!",
  "docComment": "",
  "name": "@genesislcap/foundation-criteria",
  "preserveMemberOrder": false,
  "members": [
    {
      "kind": "EntryPoint",
      "canonicalReference": "@genesislcap/foundation-criteria!",
      "name": "",
      "preserveMemberOrder": false,
      "members": [
        {
          "kind": "Function",
          "canonicalReference": "@genesislcap/foundation-criteria!createFormCriteriaBuilder:function(1)",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "createFormCriteriaBuilder: <T>(criteriaBuilder: "
            },
            {
              "kind": "Reference",
              "text": "CriteriaBuilder",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaBuilder:class"
            },
            {
              "kind": "Content",
              "text": ") => "
            },
            {
              "kind": "Content",
              "text": "(config: "
            },
            {
              "kind": "Reference",
              "text": "ExpressionConfig",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionConfig:type"
            },
            {
              "kind": "Content",
              "text": ", formValue: any, formData: T) => void"
            }
          ],
          "fileUrlPath": "src/form-criteria-builder.ts",
          "returnTypeTokenRange": {
            "startIndex": 3,
            "endIndex": 6
          },
          "releaseTag": "Public",
          "overloadIndex": 1,
          "parameters": [
            {
              "parameterName": "criteriaBuilder",
              "parameterTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isOptional": false
            }
          ],
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            }
          ],
          "name": "createFormCriteriaBuilder"
        },
        {
          "kind": "Class",
          "canonicalReference": "@genesislcap/foundation-criteria!CriteriaBuilder:class",
          "docComment": "/**\n * Builder class used to generate query criteria\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class CriteriaBuilder "
            }
          ],
          "fileUrlPath": "src/criteria-builder.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "CriteriaBuilder",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaBuilder#And:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "And: "
                },
                {
                  "kind": "Content",
                  "text": "(expression: "
                },
                {
                  "kind": "Reference",
                  "text": "ValidExpressionType",
                  "canonicalReference": "@genesislcap/foundation-criteria!~ValidExpressionType:type"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionOptions",
                  "canonicalReference": "@genesislcap/foundation-criteria!~ExpressionOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ") => this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "And",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 6
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaBuilder#build:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "build(outputFn?: "
                },
                {
                  "kind": "Content",
                  "text": "(groups: "
                },
                {
                  "kind": "Reference",
                  "text": "GroupedExpressions",
                  "canonicalReference": "@genesislcap/foundation-criteria!~GroupedExpressions:type"
                },
                {
                  "kind": "Content",
                  "text": ") => string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "outputFn",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 4
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "build"
            },
            {
              "kind": "Property",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaBuilder#Not:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Not: "
                },
                {
                  "kind": "Content",
                  "text": "(expression: "
                },
                {
                  "kind": "Reference",
                  "text": "ValidExpressionType",
                  "canonicalReference": "@genesislcap/foundation-criteria!~ValidExpressionType:type"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionOptions",
                  "canonicalReference": "@genesislcap/foundation-criteria!~ExpressionOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ") => this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "Not",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 6
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Property",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaBuilder#Or:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "Or: "
                },
                {
                  "kind": "Content",
                  "text": "(expression: "
                },
                {
                  "kind": "Reference",
                  "text": "ValidExpressionType",
                  "canonicalReference": "@genesislcap/foundation-criteria!~ValidExpressionType:type"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionOptions",
                  "canonicalReference": "@genesislcap/foundation-criteria!~ExpressionOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ") => this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "Or",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 6
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaBuilder#reset:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "reset(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "reset"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaBuilder#withExpression:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withExpression(expression: "
                },
                {
                  "kind": "Reference",
                  "text": "ValidExpressionType",
                  "canonicalReference": "@genesislcap/foundation-criteria!~ValidExpressionType:type"
                },
                {
                  "kind": "Content",
                  "text": ", options?: "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionOptions",
                  "canonicalReference": "@genesislcap/foundation-criteria!~ExpressionOptions:type"
                },
                {
                  "kind": "Content",
                  "text": ", groupJoin?: "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "this"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 7,
                "endIndex": 8
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "expression",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                },
                {
                  "parameterName": "options",
                  "parameterTypeTokenRange": {
                    "startIndex": 3,
                    "endIndex": 4
                  },
                  "isOptional": true
                },
                {
                  "parameterName": "groupJoin",
                  "parameterTypeTokenRange": {
                    "startIndex": 5,
                    "endIndex": 6
                  },
                  "isOptional": true
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "withExpression"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@genesislcap/foundation-criteria!CriteriaSegmentedControl:class",
          "docComment": "/**\n * Main class which defines the criteria segmented control component.\n *\n * @remarks\n *\n * Displays segmented criteria and dispatches events with the selected criteria.\n *\n * @example\n *\n * Example of using the component:\n * ```\n *\n * const toolbarOptions: CriteriaSegmentedControlOption[] = [\n *   { label: 'A', field: 'INSTRUMENT_ID', value: 'id1', serialiser: Serialisers.EQ },\n *   { label: 'B', field: 'INSTRUMENT_ID', value: 'id2', serialiser: Serialisers.EQ },\n *   { label: 'C', field: 'INSTRUMENT_ID', value: 'id3', serialiser: Serialisers.EQ },\n * ];\n *\n *  <criteria-segmented-control\n *    :criteriaOptions=${() => toolbarOptions}\n *    :value=${sync((x) => x.criteriaFilter)}\n *  >\n *    <label slot=\"label\">Filter by instrument name</label>\n *  </criteria-segmented-control>\n * ```\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class CriteriaSegmentedControl extends "
            },
            {
              "kind": "Reference",
              "text": "FASTElement",
              "canonicalReference": "@microsoft/fast-element!FASTElement:interface"
            },
            {
              "kind": "Content",
              "text": " "
            }
          ],
          "fileUrlPath": "src/segmented-control/criteria-segmented-control.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "CriteriaSegmentedControl",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Property",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaSegmentedControl#criteriaOptions:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "criteriaOptions: "
                },
                {
                  "kind": "Reference",
                  "text": "CriteriaSegmentedControlOption",
                  "canonicalReference": "@genesislcap/foundation-criteria!CriteriaSegmentedControlOption:type"
                },
                {
                  "kind": "Content",
                  "text": "[]"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "criteriaOptions",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaSegmentedControl#itemClickHandler:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "itemClickHandler(label: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "label",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "itemClickHandler"
            },
            {
              "kind": "Property",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaSegmentedControl#selectedLabel:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "selectedLabel: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "selectedLabel",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaSegmentedControl#selectedLabelChanged:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "selectedLabelChanged(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "selectedLabelChanged"
            },
            {
              "kind": "Property",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaSegmentedControl#value:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "value: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "value",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!CriteriaSegmentedControl#valueChanged:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "valueChanged(): "
                },
                {
                  "kind": "Content",
                  "text": "void"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "valueChanged"
            }
          ],
          "extendsTokenRange": {
            "startIndex": 1,
            "endIndex": 2
          },
          "implementsTokenRanges": []
        },
        {
          "kind": "Class",
          "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder:class",
          "docComment": "/**\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class ExpressionBuilder "
            }
          ],
          "fileUrlPath": "src/expression-builder.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "ExpressionBuilder",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `ExpressionBuilder` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(opts?: "
                },
                {
                  "kind": "Reference",
                  "text": "Partial",
                  "canonicalReference": "!Partial:type"
                },
                {
                  "kind": "Content",
                  "text": "<{\n        field: string;\n        value: unknown;\n        serialiser: "
                },
                {
                  "kind": "Reference",
                  "text": "Serialiser",
                  "canonicalReference": "@genesislcap/foundation-criteria!Serialiser:type"
                },
                {
                  "kind": "Content",
                  "text": ";\n        params: any;\n        valueGetter: (value: unknown) => string;\n        group: string;\n    }>"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "opts",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 5
                  },
                  "isOptional": true
                }
              ]
            },
            {
              "kind": "Property",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder#build:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "build: "
                },
                {
                  "kind": "Content",
                  "text": "() => "
                },
                {
                  "kind": "Reference",
                  "text": "Expression",
                  "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": false,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "build",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 3
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder#withField:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withField(field: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionBuilder",
                  "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "field",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "withField"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder#withGroup:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withGroup(group: "
                },
                {
                  "kind": "Content",
                  "text": "string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionBuilder",
                  "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "group",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "withGroup"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder#withParams:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withParams(params: "
                },
                {
                  "kind": "Content",
                  "text": "any"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionBuilder",
                  "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "params",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "withParams"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder#withSerialiser:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withSerialiser(serialiser: "
                },
                {
                  "kind": "Reference",
                  "text": "Serialiser",
                  "canonicalReference": "@genesislcap/foundation-criteria!Serialiser:type"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionBuilder",
                  "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "serialiser",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "withSerialiser"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder#withValue:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withValue(value: "
                },
                {
                  "kind": "Content",
                  "text": "unknown"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionBuilder",
                  "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "value",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "withValue"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder#withValueGetter:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "withValueGetter(valueGetter: "
                },
                {
                  "kind": "Content",
                  "text": "(value: unknown) => string"
                },
                {
                  "kind": "Content",
                  "text": "): "
                },
                {
                  "kind": "Reference",
                  "text": "ExpressionBuilder",
                  "canonicalReference": "@genesislcap/foundation-criteria!ExpressionBuilder:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": false,
              "returnTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "valueGetter",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ],
              "isOptional": false,
              "isAbstract": false,
              "name": "withValueGetter"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@genesislcap/foundation-criteria!ExpressionConfig:type",
          "docComment": "/**\n * Interface for fields to implement to generate expression criteria\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ExpressionConfig<T = "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": ", V = "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": ", Y = "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Content",
              "text": "{\n    criteria: (value: V, filters: T) => "
            },
            {
              "kind": "Reference",
              "text": "ExpressionParams",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionParams:type"
            },
            {
              "kind": "Content",
              "text": "<Y> | "
            },
            {
              "kind": "Reference",
              "text": "Array",
              "canonicalReference": "!Array:interface"
            },
            {
              "kind": "Content",
              "text": "<"
            },
            {
              "kind": "Reference",
              "text": "ExpressionParams",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionParams:type"
            },
            {
              "kind": "Content",
              "text": "<Y>>;\n}"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/types.ts",
          "releaseTag": "Public",
          "name": "ExpressionConfig",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            },
            {
              "typeParameterName": "V",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 3,
                "endIndex": 4
              }
            },
            {
              "typeParameterName": "Y",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 5,
                "endIndex": 6
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 7,
            "endIndex": 14
          }
        },
        {
          "kind": "TypeAlias",
          "canonicalReference": "@genesislcap/foundation-criteria!ExpressionConfigMap:type",
          "docComment": "/**\n * Maps form fields to expression configuration\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export type ExpressionConfigMap<T, Y = "
            },
            {
              "kind": "Content",
              "text": "unknown"
            },
            {
              "kind": "Content",
              "text": "> = "
            },
            {
              "kind": "Reference",
              "text": "Partial",
              "canonicalReference": "!Partial:type"
            },
            {
              "kind": "Content",
              "text": "<{\n    [key in keyof T]: "
            },
            {
              "kind": "Reference",
              "text": "ExpressionConfig",
              "canonicalReference": "@genesislcap/foundation-criteria!ExpressionConfig:type"
            },
            {
              "kind": "Content",
              "text": "<T, T[key], Y>;\n}>"
            },
            {
              "kind": "Content",
              "text": ";"
            }
          ],
          "fileUrlPath": "src/types.ts",
          "releaseTag": "Public",
          "name": "ExpressionConfigMap",
          "typeParameters": [
            {
              "typeParameterName": "T",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              }
            },
            {
              "typeParameterName": "Y",
              "constraintTokenRange": {
                "startIndex": 0,
                "endIndex": 0
              },
              "defaultTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              }
            }
          ],
          "typeTokenRange": {
            "startIndex": 3,
            "endIndex": 7
          }
        },
        {
          "kind": "Class",
          "canonicalReference": "@genesislcap/foundation-criteria!Join:class",
          "docComment": "/**\n * Used to describe how Expressions are joined\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "export declare class Join "
            }
          ],
          "fileUrlPath": "src/types.ts",
          "releaseTag": "Public",
          "isAbstract": false,
          "name": "Join",
          "preserveMemberOrder": false,
          "members": [
            {
              "kind": "Constructor",
              "canonicalReference": "@genesislcap/foundation-criteria!Join:constructor(1)",
              "docComment": "/**\n * Constructs a new instance of the `Join` class\n */\n",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "constructor(type: "
                },
                {
                  "kind": "Reference",
                  "text": "Operator",
                  "canonicalReference": "@genesislcap/foundation-criteria!Operator:enum"
                },
                {
                  "kind": "Content",
                  "text": ");"
                }
              ],
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [
                {
                  "parameterName": "type",
                  "parameterTypeTokenRange": {
                    "startIndex": 1,
                    "endIndex": 2
                  },
                  "isOptional": false
                }
              ]
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.And:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static And(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "And"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.Equal:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static Equal(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "Equal"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.GreaterThan:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static GreaterThan(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "GreaterThan"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.GreaterThanOrEqual:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static GreaterThanOrEqual(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "GreaterThanOrEqual"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.LessThan:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static LessThan(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "LessThan"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.LessThanOrEqual:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static LessThanOrEqual(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "LessThanOrEqual"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.Not:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static Not(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "Not"
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.NotEqual:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static NotEqual(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "NotEqual"
            },
            {
              "kind": "Property",
              "canonicalReference": "@genesislcap/foundation-criteria!Join#operator:member",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "get operator(): "
                },
                {
                  "kind": "Reference",
                  "text": "Operator",
                  "canonicalReference": "@genesislcap/foundation-criteria!Operator:enum"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isReadonly": true,
              "isOptional": false,
              "releaseTag": "Public",
              "name": "operator",
              "propertyTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "isStatic": false,
              "isProtected": false,
              "isAbstract": false
            },
            {
              "kind": "Method",
              "canonicalReference": "@genesislcap/foundation-criteria!Join.Or:member(1)",
              "docComment": "",
              "excerptTokens": [
                {
                  "kind": "Content",
                  "text": "static Or(): "
                },
                {
                  "kind": "Reference",
                  "text": "Join",
                  "canonicalReference": "@genesislcap/foundation-criteria!Join:class"
                },
                {
                  "kind": "Content",
                  "text": ";"
                }
              ],
              "isStatic": true,
              "returnTypeTokenRange": {
                "startIndex": 1,
                "endIndex": 2
              },
              "releaseTag": "Public",
              "isProtected": false,
              "overloadIndex": 1,
              "parameters": [],
              "isOptional": false,
              "isAbstract": false,
              "name": "Or"
            }
          ],
          "implementsTokenRanges": []
        },
        {
          "kind": "Variable",
          "canonicalReference": "@genesislcap/foundation-criteria!Serialisers:var",
          "docComment": "/**\n * Functions to to serialise an Expression to a string\n *\n * @public\n */\n",
          "excerptTokens": [
            {
              "kind": "Content",
              "text": "Serialisers: "
            },
            {
              "kind": "Content",
              "text": "{\n    AND: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    OR: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    NOT: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    GT: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    GE: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    LT: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    LE: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    NE: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    EQ: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    equals: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    equalsIgnoreCase: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    contains: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    fieldContains: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    containsIgnoreCase: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    startsWith: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    endsWith: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    dateIsToday: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    dateIsEqual: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    dateIsGreaterEqual: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    dateIsLessEqual: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    dateTimeIsGreaterEqual: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n    dateTimeIsLessEqual: (e: "
            },
            {
              "kind": "Reference",
              "text": "Expression",
              "canonicalReference": "@genesislcap/foundation-criteria!Expression:type"
            },
            {
              "kind": "Content",
              "text": ") => string;\n}"
            }
          ],
          "fileUrlPath": "src/serialisers.ts",
          "isReadonly": true,
          "releaseTag": "Public",
          "name": "Serialisers",
          "variableTypeTokenRange": {
            "startIndex": 1,
            "endIndex": 46
          }
        }
      ]
    }
  ]
}
