iink-ts - v4.0.0
    Preparing search index...

    Class InteractiveInkCanvasConfiguration

    Implements

    Index
    • Parameters

      • Optionalconfiguration: {
            cssVars?: { [key: string]: string | undefined };
            fontStyle?: { size?: number | "auto"; weight?: "bold" | "normal" | "auto" };
            gesture?: {
                insert?: InsertAction;
                strikeThrough?: StrikeThroughAction;
                surround?: SurroundAction;
                underline?: UnderlineAction;
            };
            grabber?: {
                delayLongTouch?: number;
                listenerOptions?: { capture?: boolean; passive?: boolean };
                timestampFloatPrecision?: number;
                xyFloatPrecision?: number;
            };
            logger?: {
                CANVAS?: LoggerLevel;
                CANVAS_EVENT?: LoggerLevel;
                CLIENT?: LoggerLevel;
                CONVERTER?: LoggerLevel;
                GESTURE?: LoggerLevel;
                GRABBER?: LoggerLevel;
                HISTORY?: LoggerLevel;
                JIIX_QUERY?: LoggerLevel;
                KEYBOARD?: LoggerLevel;
                MANAGER?: LoggerLevel;
                MATH?: LoggerLevel;
                MENU?: LoggerLevel;
                MODEL?: LoggerLevel;
                MOVE?: LoggerLevel;
                RENDERER?: LoggerLevel;
                SELECTION?: LoggerLevel;
                SMARTGUIDE?: LoggerLevel;
                SNAP?: LoggerLevel;
                STYLE?: LoggerLevel;
                SVGDEBUG?: LoggerLevel;
                SYMBOL?: LoggerLevel;
                SYNCHRONIZER?: LoggerLevel;
                TEXT?: LoggerLevel;
                TRANSFORMER?: LoggerLevel;
                WRITE?: LoggerLevel;
            };
            math?: {
                computation?: {
                    autoCompute?: boolean;
                    resultColor?: string;
                    resultMode?: TMathResultMode;
                };
                interaction?: {
                    dimOpacity?: number;
                    highlightOnSelect?: boolean;
                    showDependencyOnHover?: boolean;
                };
            };
            menu?: {
                action?: {
                    clear?: boolean;
                    convert?: boolean;
                    enable?: boolean;
                    export?: | boolean
                    | { json?: boolean; png?: boolean; svg?: boolean; text?: boolean };
                    gesture?:
                        | boolean
                        | {
                            detect?: boolean;
                            insert?: boolean;
                            strikethrough?: boolean;
                            surround?: boolean;
                            underline?: boolean;
                        };
                    guide?: boolean
                    | { enable?: boolean; size?: boolean; type?: boolean };
                    import?: boolean;
                    language?: boolean;
                    math?:
                        | boolean
                        | {
                            autoCompute?: boolean;
                            capabilities?: boolean;
                            editVariables?: boolean;
                            forceComputeAll?: boolean;
                            highlightOnSelect?: boolean;
                            resultColor?: boolean;
                            resultMode?: boolean;
                            showDependencies?: boolean;
                        };
                    minimap?: boolean;
                    overlay?: | boolean
                    | {
                        badgeSize?: boolean;
                        borderWidth?: boolean;
                        labelFontSize?: boolean;
                        labelMaxChars?: boolean;
                        showBlockOverlays?: boolean;
                    };
                    selection?: boolean
                    | { math?: boolean; shape?: boolean; text?: boolean };
                    snap?: boolean | { angle?: boolean; element?: boolean; guide?: boolean };
                    theme?: boolean;
                    themes?: (
                        | {
                            color?: (...)
                            | (...);
                            id?: (...) | (...);
                            label?: (...) | (...);
                            swatch?: (...) | (...);
                            vars?: (...) | (...);
                        }
                        | undefined
                    )[];
                    undoRedo?: boolean;
                    zoom?: boolean;
                };
                context?: {
                    convert?: boolean;
                    decorator?: | boolean
                    | {
                        highlight?: boolean;
                        strikethrough?: boolean;
                        surround?: boolean;
                        underline?: boolean;
                    };
                    duplicate?: boolean;
                    edit?: boolean;
                    enable?: boolean;
                    export?: | boolean
                    | { json?: boolean; png?: boolean; svg?: boolean; text?: boolean };
                    group?: boolean;
                    math?:
                        | boolean
                        | {
                            checkDiagnostic?: boolean;
                            compute?: boolean;
                            editVariables?: boolean;
                            evaluate?: boolean;
                            forceCompute?: boolean;
                        };
                    remove?: boolean;
                    reorder?: | boolean
                    | {
                        back?: boolean;
                        backward?: boolean;
                        forward?: boolean;
                        front?: boolean;
                    };
                    selectAll?: boolean;
                };
                enable?: boolean;
                style?: {
                    colors?: (string | undefined)[];
                    enable?: boolean;
                    fillColor?: boolean;
                    fontSize?: boolean;
                    fontSizeList?: (
                        { label?: (...) | (...); value?: (...) | (...) | (...) }
                        | undefined
                    )[];
                    fontWeight?: boolean;
                    fontWeightList?: (
                        | { label?: (...)
                        | (...); value?: (...) | (...) | (...) | (...) }
                        | undefined
                    )[];
                    opacity?: boolean;
                    strokeColor?: boolean;
                    thickness?: boolean;
                    thicknessList?: (
                        { label?: (...) | (...); value?: (...) | (...) }
                        | undefined
                    )[];
                };
                tool?: {
                    edge?: boolean;
                    enable?: boolean;
                    erase?: boolean;
                    move?: boolean;
                    select?: boolean;
                    shape?: boolean;
                    write?: boolean;
                };
            };
            overlays?: {
                badgeSize?: number;
                borderWidth?: number;
                labelFontSize?: number;
                labelMaxChars?: number;
                panelPadding?: number;
                showBlockOverlays?: boolean;
            };
            penStyle?: {
                color?: string;
                fill?: string;
                opacity?: number;
                width?: number;
                [key: string]: string
                | number
                | undefined;
            };
            recognition?: {
                alwaysConnected?: boolean;
                export?: {
                    image?: {
                        guides?: boolean;
                        viewport?: {
                            height?: (...)
                            | (...);
                            width?: (...) | (...);
                            x?: (...) | (...);
                            y?: (...) | (...);
                        };
                    };
                    "image-resolution"?: number;
                    jiix?: {
                        "bounding-box"?: boolean;
                        "full-stroke-ids"?: boolean;
                        ids?: boolean;
                        strokes?: boolean;
                        style?: boolean;
                        text?: {
                            chars?: (...)
                            | (...)
                            | (...);
                            lines?: (...) | (...) | (...);
                            words?: (...) | (...) | (...);
                        };
                    };
                    mathml?: { flavor?: { name?: (...)
                    | (...) } };
                };
                gesture?: { enable?: boolean; ignoreGestureStrokes?: boolean };
                lang?: string;
                math?: {
                    solver?: {
                        "angle-unit"?: "deg" | "rad";
                        "auto-variable-management"?: {
                            enable?: (...) | (...) | (...);
                            "scoping-policy"?: (...) | (...) | (...) | (...);
                        };
                    };
                };
                "raw-content"?: {
                    classification?: { types?: ((...) | (...) | (...) | (...))[] };
                    gestures?: (
                        | "join"
                        | "surround"
                        | "underline"
                        | "insert"
                        | "scratch-out"
                        | "strike-through"
                        | undefined
                    )[];
                    recognition?: { types?: ((...) | (...) | (...) | (...))[] };
                    "session-time"?: number;
                    text?: {
                        addLKText?: boolean;
                        customLexicon?: ((...) | (...))[];
                        customResources?: ((...) | (...))[];
                    };
                };
            };
            rendering?: {
                guides?: {
                    enable?: boolean;
                    gap?: number;
                    type?: "line"
                    | "point"
                    | "grid";
                };
                minHeight?: number;
                minWidth?: number;
            };
            selection?: {
                mathLevel?: TMathSelectionLevel;
                shapeLevel?: TShapeSelectionLevel;
                textLevel?: TTextSelectionLevel;
            };
            server?: {
                applicationKey?: string;
                hmacKey?: string
                | {};
                host?: string;
                scheme?: TScheme;
                version?: string;
                websocket?: {
                    autoReconnect?: boolean;
                    fileChunkSize?: number;
                    maxPingLostCount?: number;
                    maxReconnectAttempts?: number;
                    maxRetryCount?: number;
                    offlineQueueEnabled?: boolean;
                    offlineQueueMaxSize?: number;
                    pingDelay?: number;
                    pingEnabled?: boolean;
                    reconnectDelay?: number;
                };
            };
            snap?: { angle?: number; guide?: boolean; symbol?: boolean };
            ui?: { showConnectionState?: boolean };
            "undo-redo"?: { maxStackSize?: number };
        }
        • OptionalcssVars?: { [key: string]: string | undefined }

          CSS custom property overrides applied to the canvas root element (e.g. { "--ms-ink-primary": "#ff0" })

        • OptionalfontStyle?: { size?: number | "auto"; weight?: "bold" | "normal" | "auto" }
        • Optionalgesture?: {
              insert?: InsertAction;
              strikeThrough?: StrikeThroughAction;
              surround?: SurroundAction;
              underline?: UnderlineAction;
          }
        • Optionalgrabber?: {
              delayLongTouch?: number;
              listenerOptions?: { capture?: boolean; passive?: boolean };
              timestampFloatPrecision?: number;
              xyFloatPrecision?: number;
          }
        • Optionallogger?: {
              CANVAS?: LoggerLevel;
              CANVAS_EVENT?: LoggerLevel;
              CLIENT?: LoggerLevel;
              CONVERTER?: LoggerLevel;
              GESTURE?: LoggerLevel;
              GRABBER?: LoggerLevel;
              HISTORY?: LoggerLevel;
              JIIX_QUERY?: LoggerLevel;
              KEYBOARD?: LoggerLevel;
              MANAGER?: LoggerLevel;
              MATH?: LoggerLevel;
              MENU?: LoggerLevel;
              MODEL?: LoggerLevel;
              MOVE?: LoggerLevel;
              RENDERER?: LoggerLevel;
              SELECTION?: LoggerLevel;
              SMARTGUIDE?: LoggerLevel;
              SNAP?: LoggerLevel;
              STYLE?: LoggerLevel;
              SVGDEBUG?: LoggerLevel;
              SYMBOL?: LoggerLevel;
              SYNCHRONIZER?: LoggerLevel;
              TEXT?: LoggerLevel;
              TRANSFORMER?: LoggerLevel;
              WRITE?: LoggerLevel;
          }
        • Optionalmath?: {
              computation?: {
                  autoCompute?: boolean;
                  resultColor?: string;
                  resultMode?: TMathResultMode;
              };
              interaction?: {
                  dimOpacity?: number;
                  highlightOnSelect?: boolean;
                  showDependencyOnHover?: boolean;
              };
          }

          Math manager configuration (computation behavior and visual interactions)

          • Optionalcomputation?: { autoCompute?: boolean; resultColor?: string; resultMode?: TMathResultMode }

            Override defaults for the computation sub-manager (resultMode, autoCompute)

            • OptionalautoCompute?: boolean

              Automatically compute results when blocks end with = or ?

            • OptionalresultColor?: string

              Color applied to result strokes (both draw and ghost modes)

            • OptionalresultMode?: TMathResultMode

              How solver output is displayed

          • Optionalinteraction?: {
                dimOpacity?: number;
                highlightOnSelect?: boolean;
                showDependencyOnHover?: boolean;
            }

            Override defaults for the variable/interaction sub-manager (showDependencyOnHover, highlightOnSelect, dimOpacity)

        • Optionalmenu?: {
              action?: {
                  clear?: boolean;
                  convert?: boolean;
                  enable?: boolean;
                  export?:
                      | boolean
                      | { json?: boolean; png?: boolean; svg?: boolean; text?: boolean };
                  gesture?:
                      | boolean
                      | {
                          detect?: boolean;
                          insert?: boolean;
                          strikethrough?: boolean;
                          surround?: boolean;
                          underline?: boolean;
                      };
                  guide?: boolean
                  | { enable?: boolean; size?: boolean; type?: boolean };
                  import?: boolean;
                  language?: boolean;
                  math?:
                      | boolean
                      | {
                          autoCompute?: boolean;
                          capabilities?: boolean;
                          editVariables?: boolean;
                          forceComputeAll?: boolean;
                          highlightOnSelect?: boolean;
                          resultColor?: boolean;
                          resultMode?: boolean;
                          showDependencies?: boolean;
                      };
                  minimap?: boolean;
                  overlay?: | boolean
                  | {
                      badgeSize?: boolean;
                      borderWidth?: boolean;
                      labelFontSize?: boolean;
                      labelMaxChars?: boolean;
                      showBlockOverlays?: boolean;
                  };
                  selection?: boolean
                  | { math?: boolean; shape?: boolean; text?: boolean };
                  snap?: boolean | { angle?: boolean; element?: boolean; guide?: boolean };
                  theme?: boolean;
                  themes?: (
                      | {
                          color?: (...)
                          | (...);
                          id?: (...) | (...);
                          label?: (...) | (...);
                          swatch?: (...) | (...);
                          vars?: (...) | (...);
                      }
                      | undefined
                  )[];
                  undoRedo?: boolean;
                  zoom?: boolean;
              };
              context?: {
                  convert?: boolean;
                  decorator?: | boolean
                  | {
                      highlight?: boolean;
                      strikethrough?: boolean;
                      surround?: boolean;
                      underline?: boolean;
                  };
                  duplicate?: boolean;
                  edit?: boolean;
                  enable?: boolean;
                  export?: | boolean
                  | { json?: boolean; png?: boolean; svg?: boolean; text?: boolean };
                  group?: boolean;
                  math?:
                      | boolean
                      | {
                          checkDiagnostic?: boolean;
                          compute?: boolean;
                          editVariables?: boolean;
                          evaluate?: boolean;
                          forceCompute?: boolean;
                      };
                  remove?: boolean;
                  reorder?: | boolean
                  | {
                      back?: boolean;
                      backward?: boolean;
                      forward?: boolean;
                      front?: boolean;
                  };
                  selectAll?: boolean;
              };
              enable?: boolean;
              style?: {
                  colors?: (string | undefined)[];
                  enable?: boolean;
                  fillColor?: boolean;
                  fontSize?: boolean;
                  fontSizeList?: (
                      { label?: (...) | (...); value?: (...) | (...) | (...) }
                      | undefined
                  )[];
                  fontWeight?: boolean;
                  fontWeightList?: (
                      | { label?: (...)
                      | (...); value?: (...) | (...) | (...) | (...) }
                      | undefined
                  )[];
                  opacity?: boolean;
                  strokeColor?: boolean;
                  thickness?: boolean;
                  thicknessList?: (
                      { label?: (...) | (...); value?: (...) | (...) }
                      | undefined
                  )[];
              };
              tool?: {
                  edge?: boolean;
                  enable?: boolean;
                  erase?: boolean;
                  move?: boolean;
                  select?: boolean;
                  shape?: boolean;
                  write?: boolean;
              };
          }
          • Optionalaction?: {
                clear?: boolean;
                convert?: boolean;
                enable?: boolean;
                export?:
                    | boolean
                    | { json?: boolean; png?: boolean; svg?: boolean; text?: boolean };
                gesture?:
                    | boolean
                    | {
                        detect?: boolean;
                        insert?: boolean;
                        strikethrough?: boolean;
                        surround?: boolean;
                        underline?: boolean;
                    };
                guide?: boolean
                | { enable?: boolean; size?: boolean; type?: boolean };
                import?: boolean;
                language?: boolean;
                math?:
                    | boolean
                    | {
                        autoCompute?: boolean;
                        capabilities?: boolean;
                        editVariables?: boolean;
                        forceComputeAll?: boolean;
                        highlightOnSelect?: boolean;
                        resultColor?: boolean;
                        resultMode?: boolean;
                        showDependencies?: boolean;
                    };
                minimap?: boolean;
                overlay?: | boolean
                | {
                    badgeSize?: boolean;
                    borderWidth?: boolean;
                    labelFontSize?: boolean;
                    labelMaxChars?: boolean;
                    showBlockOverlays?: boolean;
                };
                selection?: boolean
                | { math?: boolean; shape?: boolean; text?: boolean };
                snap?: boolean | { angle?: boolean; element?: boolean; guide?: boolean };
                theme?: boolean;
                themes?: (
                    | {
                        color?: (...)
                        | (...);
                        id?: (...) | (...);
                        label?: (...) | (...);
                        swatch?: (...) | (...);
                        vars?: (...) | (...);
                    }
                    | undefined
                )[];
                undoRedo?: boolean;
                zoom?: boolean;
            }
            • Optionalclear?: boolean

              Enable/disable Clear menu

            • Optionalconvert?: boolean

              Enable/disable Convert menu

            • Optionalenable?: boolean
            • Optionalexport?: boolean | { json?: boolean; png?: boolean; svg?: boolean; text?: boolean }

              Enable/disable Export submenu. Pass an object to configure individual export formats.

            • Optionalgesture?:
                  | boolean
                  | {
                      detect?: boolean;
                      insert?: boolean;
                      strikethrough?: boolean;
                      surround?: boolean;
                      underline?: boolean;
                  }

              Enable/disable Gesture submenu. Pass an object to configure individual gesture items.

            • Optionalguide?: boolean | { enable?: boolean; size?: boolean; type?: boolean }

              Enable/disable Guide submenu. Pass an object to configure individual guide items.

            • Optionalimport?: boolean

              Enable/disable Import submenu

            • Optionallanguage?: boolean

              Enable/disable Language menu

            • Optionalmath?:
                  | boolean
                  | {
                      autoCompute?: boolean;
                      capabilities?: boolean;
                      editVariables?: boolean;
                      forceComputeAll?: boolean;
                      highlightOnSelect?: boolean;
                      resultColor?: boolean;
                      resultMode?: boolean;
                      showDependencies?: boolean;
                  }

              Enable/disable Math submenu. Pass an object to configure individual math items.

            • Optionalminimap?: boolean

              Enable/disable Minimap toggle button

            • Optionaloverlay?:
                  | boolean
                  | {
                      badgeSize?: boolean;
                      borderWidth?: boolean;
                      labelFontSize?: boolean;
                      labelMaxChars?: boolean;
                      showBlockOverlays?: boolean;
                  }

              Enable/disable Overlay submenu. Pass an object to configure individual overlay items.

            • Optionalselection?: boolean | { math?: boolean; shape?: boolean; text?: boolean }

              Enable/disable Selection submenu. Pass an object to configure individual selection items.

            • Optionalsnap?: boolean | { angle?: boolean; element?: boolean; guide?: boolean }

              Enable/disable Snap submenu. Pass an object to configure individual snap items.

            • Optionaltheme?: boolean

              Enable/disable Theme picker

            • Optionalthemes?: (
                  | {
                      color?: (...)
                      | (...);
                      id?: (...) | (...);
                      label?: (...) | (...);
                      swatch?: (...) | (...);
                      vars?: (...) | (...);
                  }
                  | undefined
              )[]

              Override predefined themes shown in the theme picker

            • OptionalundoRedo?: boolean

              Enable/disable Undo/Redo menus

            • Optionalzoom?: boolean

              Enable/disable Zoom menus

          • Optionalcontext?: {
                convert?: boolean;
                decorator?:
                    | boolean
                    | {
                        highlight?: boolean;
                        strikethrough?: boolean;
                        surround?: boolean;
                        underline?: boolean;
                    };
                duplicate?: boolean;
                edit?: boolean;
                enable?: boolean;
                export?: | boolean
                | { json?: boolean; png?: boolean; svg?: boolean; text?: boolean };
                group?: boolean;
                math?:
                    | boolean
                    | {
                        checkDiagnostic?: boolean;
                        compute?: boolean;
                        editVariables?: boolean;
                        evaluate?: boolean;
                        forceCompute?: boolean;
                    };
                remove?: boolean;
                reorder?: | boolean
                | {
                    back?: boolean;
                    backward?: boolean;
                    forward?: boolean;
                    front?: boolean;
                };
                selectAll?: boolean;
            }
            • Optionalconvert?: boolean

              Enable/disable Convert menu

            • Optionaldecorator?:
                  | boolean
                  | {
                      highlight?: boolean;
                      strikethrough?: boolean;
                      surround?: boolean;
                      underline?: boolean;
                  }

              Enable/disable Decorator menu. Pass an object to configure individual decorator types.

            • Optionalduplicate?: boolean

              Enable/disable Duplicate menu

            • Optionaledit?: boolean

              Enable/disable Edit menu

            • Optionalenable?: boolean
            • Optionalexport?: boolean | { json?: boolean; png?: boolean; svg?: boolean; text?: boolean }

              Enable/disable Export menu. Pass an object to configure individual export formats.

            • Optionalgroup?: boolean

              Enable/disable Group menu

            • Optionalmath?:
                  | boolean
                  | {
                      checkDiagnostic?: boolean;
                      compute?: boolean;
                      editVariables?: boolean;
                      evaluate?: boolean;
                      forceCompute?: boolean;
                  }

              Enable/disable Math menu. Pass an object to configure individual math operations.

            • Optionalremove?: boolean

              Enable/disable Remove menu

            • Optionalreorder?:
                  | boolean
                  | {
                      back?: boolean;
                      backward?: boolean;
                      forward?: boolean;
                      front?: boolean;
                  }

              Enable/disable Reorder menu. Pass an object to configure individual reorder actions.

            • OptionalselectAll?: boolean

              Enable/disable Select All menu

          • Optionalenable?: boolean
          • Optionalstyle?: {
                colors?: (string | undefined)[];
                enable?: boolean;
                fillColor?: boolean;
                fontSize?: boolean;
                fontSizeList?: (
                    { label?: (...) | (...); value?: (...) | (...) | (...) }
                    | undefined
                )[];
                fontWeight?: boolean;
                fontWeightList?: (
                    | { label?: (...)
                    | (...); value?: (...) | (...) | (...) | (...) }
                    | undefined
                )[];
                opacity?: boolean;
                strokeColor?: boolean;
                thickness?: boolean;
                thicknessList?: (
                    { label?: (...) | (...); value?: (...) | (...) }
                    | undefined
                )[];
            }
            • Optionalcolors?: (string | undefined)[]

              Custom color palette

            • Optionalenable?: boolean
            • OptionalfillColor?: boolean

              Enable/disable fill color picker

            • OptionalfontSize?: boolean

              Enable/disable font size picker

            • OptionalfontSizeList?: ({ label?: (...) | (...); value?: (...) | (...) | (...) } | undefined)[]

              Custom font size list

            • OptionalfontWeight?: boolean

              Enable/disable font weight picker

            • OptionalfontWeightList?: ({ label?: (...) | (...); value?: (...) | (...) | (...) | (...) } | undefined)[]

              Custom font weight list

            • Optionalopacity?: boolean

              Enable/disable opacity picker

            • OptionalstrokeColor?: boolean

              Enable/disable stroke color picker

            • Optionalthickness?: boolean

              Enable/disable stroke thickness picker

            • OptionalthicknessList?: ({ label?: (...) | (...); value?: (...) | (...) } | undefined)[]

              Custom thickness list

          • Optionaltool?: {
                edge?: boolean;
                enable?: boolean;
                erase?: boolean;
                move?: boolean;
                select?: boolean;
                shape?: boolean;
                write?: boolean;
            }
            • Optionaledge?: boolean

              Enable/disable Edge submenu (Line, Arrow, etc.)

            • Optionalenable?: boolean
            • Optionalerase?: boolean

              Enable/disable Erase tool

            • Optionalmove?: boolean

              Enable/disable Move tool (Hand)

            • Optionalselect?: boolean

              Enable/disable Select tool (Cursor)

            • Optionalshape?: boolean

              Enable/disable Shape submenu (Rectangle, Circle, etc.)

            • Optionalwrite?: boolean

              Enable/disable Write tool (Pencil)

        • Optionaloverlays?: {
              badgeSize?: number;
              borderWidth?: number;
              labelFontSize?: number;
              labelMaxChars?: number;
              panelPadding?: number;
              showBlockOverlays?: boolean;
          }
        • OptionalpenStyle?: {
              color?: string;
              fill?: string;
              opacity?: number;
              width?: number;
              [key: string]: string | number | undefined;
          }
        • Optionalrecognition?: {
              alwaysConnected?: boolean;
              export?: {
                  image?: {
                      guides?: boolean;
                      viewport?: {
                          height?: (...) | (...);
                          width?: (...) | (...);
                          x?: (...) | (...);
                          y?: (...) | (...);
                      };
                  };
                  "image-resolution"?: number;
                  jiix?: {
                      "bounding-box"?: boolean;
                      "full-stroke-ids"?: boolean;
                      ids?: boolean;
                      strokes?: boolean;
                      style?: boolean;
                      text?: {
                          chars?: (...)
                          | (...)
                          | (...);
                          lines?: (...) | (...) | (...);
                          words?: (...) | (...) | (...);
                      };
                  };
                  mathml?: { flavor?: { name?: (...)
                  | (...) } };
              };
              gesture?: { enable?: boolean; ignoreGestureStrokes?: boolean };
              lang?: string;
              math?: {
                  solver?: {
                      "angle-unit"?: "deg" | "rad";
                      "auto-variable-management"?: {
                          enable?: (...) | (...) | (...);
                          "scoping-policy"?: (...) | (...) | (...) | (...);
                      };
                  };
              };
              "raw-content"?: {
                  classification?: { types?: ((...) | (...) | (...) | (...))[] };
                  gestures?: (
                      | "join"
                      | "surround"
                      | "underline"
                      | "insert"
                      | "scratch-out"
                      | "strike-through"
                      | undefined
                  )[];
                  recognition?: { types?: ((...) | (...) | (...) | (...))[] };
                  "session-time"?: number;
                  text?: {
                      addLKText?: boolean;
                      customLexicon?: ((...) | (...))[];
                      customResources?: ((...) | (...))[];
                  };
              };
          }
        • Optionalrendering?: {
              guides?: {
                  enable?: boolean;
                  gap?: number;
                  type?: "line" | "point" | "grid";
              };
              minHeight?: number;
              minWidth?: number;
          }
        • Optionalselection?: {
              mathLevel?: TMathSelectionLevel;
              shapeLevel?: TShapeSelectionLevel;
              textLevel?: TTextSelectionLevel;
          }
        • Optionalserver?: {
              applicationKey?: string;
              hmacKey?: string | {};
              host?: string;
              scheme?: TScheme;
              version?: string;
              websocket?: {
                  autoReconnect?: boolean;
                  fileChunkSize?: number;
                  maxPingLostCount?: number;
                  maxReconnectAttempts?: number;
                  maxRetryCount?: number;
                  offlineQueueEnabled?: boolean;
                  offlineQueueMaxSize?: number;
                  pingDelay?: number;
                  pingEnabled?: boolean;
                  reconnectDelay?: number;
              };
          }
          • OptionalapplicationKey?: string
          • OptionalhmacKey?: string | {}
          • Optionalhost?: string
          • Optionalscheme?: TScheme
          • Optionalversion?: string
          • Optionalwebsocket?: {
                autoReconnect?: boolean;
                fileChunkSize?: number;
                maxPingLostCount?: number;
                maxReconnectAttempts?: number;
                maxRetryCount?: number;
                offlineQueueEnabled?: boolean;
                offlineQueueMaxSize?: number;
                pingDelay?: number;
                pingEnabled?: boolean;
                reconnectDelay?: number;
            }
            • OptionalautoReconnect?: boolean
            • OptionalfileChunkSize?: number
            • OptionalmaxPingLostCount?: number
            • OptionalmaxReconnectAttempts?: number

              Give up reconnecting (and reject the queue) after this many failed attempts.

            • OptionalmaxRetryCount?: number
            • OptionalofflineQueueEnabled?: boolean

              Queue addStrokes() calls locally while disconnected and replay them in order on reconnect.

            • OptionalofflineQueueMaxSize?: number

              Max number of queued addStrokes batches; further calls reject once reached.

            • OptionalpingDelay?: number
            • OptionalpingEnabled?: boolean
            • OptionalreconnectDelay?: number

              Delay in ms between reconnection attempts while offline.

        • Optionalsnap?: { angle?: number; guide?: boolean; symbol?: boolean }
        • Optionalui?: { showConnectionState?: boolean }
          • OptionalshowConnectionState?: boolean

            Whether to show the connection-state badge (bottom-left icon). Defaults to true.

        • Optionalundo-redo?: { maxStackSize?: number }

      Returns InteractiveInkCanvasConfiguration

    cssVars?: Record<string, string>

    CSS custom property overrides applied to the canvas root element (e.g. { "--ms-ink-primary": "#ff0" })

    fontStyle: { size: number | "auto"; weight: "bold" | "normal" | "auto" }

    Math manager configuration (computation behavior and visual interactions)

    overlays: TOverlayConfig
    penStyle: TStyle
    selection: TSelectionConfig