declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      transition: StringConstructor
      closable: {
        type: BooleanConstructor
        default: boolean
      }
      position: {
        type: import('vue').PropType<import('./types').PopupType>
        default: import('./types').PopupType
      }
      closeOnClickModal: {
        type: BooleanConstructor
        default: boolean
      }
      duration: {
        type: (NumberConstructor | BooleanConstructor)[]
        default: number
      }
      modal: {
        type: BooleanConstructor
        default: boolean
      }
      zIndex: {
        type: NumberConstructor
        default: number
      }
      hideWhenClose: {
        type: BooleanConstructor
        default: boolean
      }
      modalStyle: {
        type: import('vue').PropType<string>
        default: string
      }
      safeAreaInsetBottom: {
        type: BooleanConstructor
        default: boolean
      }
      modelValue: {
        type: BooleanConstructor
        default: boolean
      }
      lazyRender: {
        type: BooleanConstructor
        default: boolean
      }
      lockScroll: {
        type: BooleanConstructor
        default: boolean
      }
      customStyle: {
        type: import('vue').PropType<string>
        default: string
      }
      customClass: {
        type: import('vue').PropType<string>
        default: string
      }
    },
    {},
    unknown,
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      'click-modal': (...args: any[]) => void
      close: (...args: any[]) => void
      'update:modelValue': (...args: any[]) => void
      enter: (...args: any[]) => void
      'after-enter': (...args: any[]) => void
      'after-leave': (...args: any[]) => void
      leave: (...args: any[]) => void
      'before-enter': (...args: any[]) => void
      'before-leave': (...args: any[]) => void
    },
    string,
    import('vue').PublicProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        transition: StringConstructor
        closable: {
          type: BooleanConstructor
          default: boolean
        }
        position: {
          type: import('vue').PropType<import('./types').PopupType>
          default: import('./types').PopupType
        }
        closeOnClickModal: {
          type: BooleanConstructor
          default: boolean
        }
        duration: {
          type: (NumberConstructor | BooleanConstructor)[]
          default: number
        }
        modal: {
          type: BooleanConstructor
          default: boolean
        }
        zIndex: {
          type: NumberConstructor
          default: number
        }
        hideWhenClose: {
          type: BooleanConstructor
          default: boolean
        }
        modalStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        safeAreaInsetBottom: {
          type: BooleanConstructor
          default: boolean
        }
        modelValue: {
          type: BooleanConstructor
          default: boolean
        }
        lazyRender: {
          type: BooleanConstructor
          default: boolean
        }
        lockScroll: {
          type: BooleanConstructor
          default: boolean
        }
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      'onClick-modal'?: ((...args: any[]) => any) | undefined
      onClose?: ((...args: any[]) => any) | undefined
      'onUpdate:modelValue'?: ((...args: any[]) => any) | undefined
      onEnter?: ((...args: any[]) => any) | undefined
      onLeave?: ((...args: any[]) => any) | undefined
      'onAfter-enter'?: ((...args: any[]) => any) | undefined
      'onAfter-leave'?: ((...args: any[]) => any) | undefined
      'onBefore-enter'?: ((...args: any[]) => any) | undefined
      'onBefore-leave'?: ((...args: any[]) => any) | undefined
    },
    {
      modelValue: boolean
      closeOnClickModal: boolean
      duration: number | boolean
      zIndex: number
      lazyRender: boolean
      safeAreaInsetBottom: boolean
      customStyle: string
      customClass: string
      position: import('./types').PopupType
      hideWhenClose: boolean
      modal: boolean
      modalStyle: string
      closable: boolean
      lockScroll: boolean
    },
    {}
  >,
  {
    default?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
