declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      penColor: {
        type: StringConstructor
        default: string
      }
      lineWidth: {
        type: NumberConstructor
        default: number
      }
      clearText: StringConstructor
      revokeText: StringConstructor
      restoreText: StringConstructor
      confirmText: StringConstructor
      fileType: {
        type: StringConstructor
        default: string
      }
      quality: {
        type: NumberConstructor
        default: number
      }
      exportScale: {
        type: NumberConstructor
        default: number
      }
      disabled: {
        type: BooleanConstructor
        default: boolean
      }
      height: (NumberConstructor | StringConstructor)[]
      width: (NumberConstructor | StringConstructor)[]
      backgroundColor: StringConstructor
      disableScroll: {
        type: BooleanConstructor
        default: boolean
      }
      enableHistory: {
        type: BooleanConstructor
        default: boolean
      }
      step: {
        type: NumberConstructor
        default: number
      }
      undoText: StringConstructor
      redoText: StringConstructor
      pressure: {
        type: BooleanConstructor
        default: boolean
      }
      minWidth: {
        type: NumberConstructor
        default: number
      }
      maxWidth: {
        type: NumberConstructor
        default: number
      }
      minSpeed: {
        type: NumberConstructor
        default: number
      }
      customStyle: {
        type: import('vue').PropType<string>
        default: string
      }
      customClass: {
        type: import('vue').PropType<string>
        default: string
      }
    },
    {
      init: (forceUpdate?: boolean) => void
      clear: () => void
      confirm: () => void
      restore: () => void
      revoke: () => void
    },
    unknown,
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      start: (...args: any[]) => void
      end: (...args: any[]) => void
      confirm: (...args: any[]) => void
      clear: (...args: any[]) => void
      signing: (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        penColor: {
          type: StringConstructor
          default: string
        }
        lineWidth: {
          type: NumberConstructor
          default: number
        }
        clearText: StringConstructor
        revokeText: StringConstructor
        restoreText: StringConstructor
        confirmText: StringConstructor
        fileType: {
          type: StringConstructor
          default: string
        }
        quality: {
          type: NumberConstructor
          default: number
        }
        exportScale: {
          type: NumberConstructor
          default: number
        }
        disabled: {
          type: BooleanConstructor
          default: boolean
        }
        height: (NumberConstructor | StringConstructor)[]
        width: (NumberConstructor | StringConstructor)[]
        backgroundColor: StringConstructor
        disableScroll: {
          type: BooleanConstructor
          default: boolean
        }
        enableHistory: {
          type: BooleanConstructor
          default: boolean
        }
        step: {
          type: NumberConstructor
          default: number
        }
        undoText: StringConstructor
        redoText: StringConstructor
        pressure: {
          type: BooleanConstructor
          default: boolean
        }
        minWidth: {
          type: NumberConstructor
          default: number
        }
        maxWidth: {
          type: NumberConstructor
          default: number
        }
        minSpeed: {
          type: NumberConstructor
          default: number
        }
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      onConfirm?: ((...args: any[]) => any) | undefined
      onClear?: ((...args: any[]) => any) | undefined
      onStart?: ((...args: any[]) => any) | undefined
      onEnd?: ((...args: any[]) => any) | undefined
      onSigning?: ((...args: any[]) => any) | undefined
    },
    {
      customStyle: string
      customClass: string
      disabled: boolean
      maxWidth: number
      lineWidth: number
      fileType: string
      quality: number
      exportScale: number
      step: number
      minWidth: number
      penColor: string
      disableScroll: boolean
      enableHistory: boolean
      pressure: boolean
      minSpeed: number
    },
    {}
  >,
  {
    footer?(_: {
      clear: () => void
      confirm: () => void
      currentStep: number
      revoke: () => void
      restore: () => void
      canUndo: boolean
      canRedo: boolean
      historyList: {
        points: {
          x: number
          y: number
          t: number
          speed?: number | undefined
          distance?: number | undefined
          lineWidth?: number | undefined
          lastX1?: number | undefined
          lastY1?: number | undefined
          lastX2?: number | undefined
          lastY2?: number | undefined
          isFirstPoint?: boolean | undefined
        }[]
        color: string
        width: number
        backgroundColor?: string | undefined
        isPressure?: boolean | undefined
      }[]
    }): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
