declare interface Pen { id?: string; tags?: string[]; parentId?: string; name?: string; lineName?: string; borderRadius?: number; visible?: boolean; close?: boolean; length?: number; title?: string; titleFnJs?: string; titleFn?: (pen: Pen) => string; lineWidth?: number; borderWidth?: number; borderColor?: string; globalAlpha?: number; lineDash?: number[]; lineDashOffset?: number; color?: string; background?: string; anchorColor?: string; hoverAnchorColor?: string; hoverColor?: string; hoverBackground?: string; activeColor?: string; activeBackground?: string; mouseDownValid?: boolean; mouseDownColor?: string; mouseDownBackground?: string; /** * @deprecated 改用 gradientColors */ gradientFromColor?: string; /** * @deprecated 改用 gradientColors */ gradientToColor?: string; /** * @deprecated 改用 gradientColors */ gradientAngle?: number; gradientRadius?: number; /** * @deprecated 改用 lineGradientColors */ lineGradientFromColor?: string; /** * @deprecated 改用 lineGradientColors */ lineGradientToColor?: string; /** * @deprecated 改用 lineGradientColors */ lineGradientAngle?: number; gradientColors?: string; switch?: boolean; checked?: boolean; onBackground?: string; onGradientColors?: string; lineGradientColors?: string; shadowColor?: string; shadowBlur?: number; shadowOffsetX?: number; shadowOffsetY?: number; textHasShadow?: boolean; text?: string; textWidth?: number; textHeight?: number; textLeft?: number; textTop?: number; textColor?: string; hoverTextColor?: string; activeTextColor?: string; fontFamily?: string; fontSize?: number; lineHeight?: number; fontStyle?: string; fontWeight?: string; textBackground?: string; ellipsis?: boolean; image?: string; icon?: string; iconRotate?: number; iconWidth?: number; iconHeight?: number; iconTop?: number; iconLeft?: number; iconColor?: string; iconFamily?: string; iconWeight?: string; iconSize?: number; iconAlign?: 'top' | 'bottom' | 'left' | 'right' | 'left-top' | 'right-top' | 'left-bottom' | 'right-bottom' | 'center'; imageRatio?: boolean; disableInput?: boolean; disableRotate?: boolean; disableSize?: boolean; disableAnchor?: boolean; paddingTop?: number; paddingBottom?: number; paddingLeft?: number; paddingRight?: number; backgroundImage?: string; strokeImage?: string; children?: string[]; followers?: string[]; anchorRadius?: number; anchorBackground?: string; pathId?: string; path?: string; fromArrow?: string; toArrow?: string; fromArrowSize?: number; toArrowSize?: number; fromArrowColor?: string; toArrowColor?: string; autoFrom?: boolean; autoTo?: boolean; animateCycle?: number; nextAnimate?: string; autoPlay?: boolean; playLoop?: boolean; duration?: number; linear?: boolean; scale?: number; animateSpan?: number; animateColor?: string; animateLineDash?: number[]; animateReverse?: boolean; keepAnimateState?: boolean; animateName?: string; frames?: Pen[]; animateList?: Pen[][]; animateInterval?: number; animateShadow?: boolean; animateShadowColor?: string; animateShadowBlur?: number; input?: boolean; autofocus?: boolean; dropdownBackground?: string; dropdownColor?: string; dropdownHoverColor?: string; dropdownHoverBackground?: string; iframe?: string; video?: string; audio?: string; progress?: number; progressColor?: string; verticalProgress?: boolean; reverseProgress?: boolean; progressGradientColors?: string; externElement?: boolean; autoPolyline?: boolean; affectByTheme?: boolean; flipX?: boolean; flipY?: boolean; fillTexts?: string[]; hiddenText?: boolean; keepDecimal?: number; showChild?: number; animateDotSize?: number; isRuleLine?: boolean; /** * @deprecated 改用 canvasLayer */ isBottom?: boolean; ratio?: boolean; animateLineWidth?: number; lineSmooth?: number; gradientSmooth?: number; scrolling?: string; animations?: any[]; currentAnimation?: number; crossOrigin?: string; imageRadius?: number; textFlip?: boolean; textRotate?: boolean; textAutoAdjust?: boolean; dbInput?: boolean; operationalRect?: Rect; blur?: number; blurBackground?: string; /** * @deprecated 改用 canvasLayer */ template?: boolean; thumbImg?: string; apiUrl?: string; apiMethod?: string; apiHeaders?: any; apiBody?: any; apiEnable?: boolean; sql?: string; container?: boolean; disabled?: boolean; disabledColor?: string; disabledBackground?: string; disabledTextColor?: string; inputType?: string; productId?: string; deviceId?: string; noOnBinds?: boolean; interaction?: boolean; childHover?: boolean; childActive?: boolean; draw?: boolean; copyIndex?: number; formId?: string; formData?: any; formKey?: string; formValue?: string; formType?: string; className?: string; styles?: any; calculative?: { x?: number; y?: number; width?: number; height?: number; borderRadius?: number; progress?: number; progressColor?: string; progressGradientColors?: string; verticalProgress?: boolean; childrenVisible?: any; rotate?: number; lineWidth?: number; borderWidth?: number; borderColor?: string; globalAlpha?: number; lineDash?: number[]; lineDashOffset?: number; color?: string; background?: string; bkType?: number; /** * @deprecated 改用 gradientColors */ gradientFromColor?: string; /** * @deprecated 改用 gradientColors */ gradientToColor?: string; /** * @deprecated 改用 gradientColors */ gradientAngle?: number; gradientRadius?: number; /** * @deprecated 改用 lineGradientColors */ lineGradientFromColor?: string; /** * @deprecated 改用 lineGradientColors */ lineGradientToColor?: string; /** * @deprecated 改用 lineGradientColors */ lineGradientAngle?: number; shadowColor?: string; shadowBlur?: number; shadowOffsetX?: number; shadowOffsetY?: number; textHasShadow?: boolean; tempText?: string; text?: string; textWidth?: number; textHeight?: number; textLeft?: number; textTop?: number; textColor?: string; textGradientColors?: string; fontFamily?: string; fontSize?: number; lineHeight?: number; fontStyle?: string; fontWeight?: string; textBackground?: string; iconSize?: number; icon?: string; iconRotate?: number; iconWidth?: number; iconHeight?: number; iconTop?: number; iconLeft?: number; iconColor?: string; iconFamily?: string; iconWeight?: string; paddingTop?: number; paddingBottom?: number; paddingLeft?: number; paddingRight?: number; textLines?: string[]; textLineWidths?: number[]; image?: string; imgNaturalWidth?: number; imgNaturalHeight?: number; backgroundImage?: string; strokeImage?: string; active?: boolean; focus?: boolean; hover?: boolean; mouseDown?: boolean; containerHover?: boolean; isDock?: boolean; pencil?: boolean; activeAnchor?: Point; patchFlags?: boolean; visible?: boolean; inView?: boolean; drawlineH?: boolean; hasImage?: boolean; imageDrawed?: boolean; /** * @deprecated 改用 canvasLayer */ isBottom?: boolean; scale?: number; start?: number; duration?: number; end?: number; frameIndex?: number; frameStart?: number; frameEnd?: number; frameDuration?: number; animatePos?: number; cycleIndex?: number; pause?: number; layer?: number; iframe?: string; video?: string; audio?: string; flipX?: boolean; flipY?: boolean; h?: boolean; hiddenText?: boolean; keepDecimal?: number; showChild?: number; animateDotSize?: number; zIndex?: number; onended?: (pen: Pen) => void; singleton?: any; gradientColors?: string; onBackground?: string; onGradientColors?: string; checked?: boolean; lineGradientColors?: string; gradientTimer?: any; animateLineWidth?: number; lineSmooth?: number; gradientSmooth?: number; cssDisplay?: string; animations?: any[]; imageRadius?: number; disabled?: boolean; disabledColor?: string; disabledBackground?: string; disabledTextColor?: string; }; lastConnected?: any; textDecoration?: string; textDecorationDash?: number[]; textDecorationColor?: string; textStrickoutColor?: string; textStrickoutDash?: number[]; textStrickout?: boolean; prevFrame?: Pen; onAdd?: (pen: Pen) => void; onValue?: (pen: Pen) => void; }