declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      show: {
        type: BooleanConstructor
        default: boolean
      }
      duration: {
        type: import('vue').PropType<Record<string, number> | number | boolean>
        default: number
      }
      name: {
        type: import('vue').PropType<'' | import('./types').TransitionName>
        default: '' | import('./types').TransitionName
      }
      lazyRender: {
        type: BooleanConstructor
        default: boolean
      }
      enterClass: {
        type: import('vue').PropType<string>
        default: string
      }
      enterActiveClass: {
        type: import('vue').PropType<string>
        default: string
      }
      enterToClass: {
        type: import('vue').PropType<string>
        default: string
      }
      leaveClass: {
        type: import('vue').PropType<string>
        default: string
      }
      leaveActiveClass: {
        type: import('vue').PropType<string>
        default: string
      }
      leaveToClass: {
        type: import('vue').PropType<string>
        default: string
      }
      customStyle: {
        type: import('vue').PropType<string>
        default: string
      }
      customClass: {
        type: import('vue').PropType<string>
        default: string
      }
    },
    {},
    unknown,
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      enter: (...args: any[]) => void
      'after-enter': (...args: any[]) => void
      'after-leave': (...args: any[]) => void
      click: (...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<{
        show: {
          type: BooleanConstructor
          default: boolean
        }
        duration: {
          type: import('vue').PropType<Record<string, number> | number | boolean>
          default: number
        }
        name: {
          type: import('vue').PropType<'' | import('./types').TransitionName>
          default: '' | import('./types').TransitionName
        }
        lazyRender: {
          type: BooleanConstructor
          default: boolean
        }
        enterClass: {
          type: import('vue').PropType<string>
          default: string
        }
        enterActiveClass: {
          type: import('vue').PropType<string>
          default: string
        }
        enterToClass: {
          type: import('vue').PropType<string>
          default: string
        }
        leaveClass: {
          type: import('vue').PropType<string>
          default: string
        }
        leaveActiveClass: {
          type: import('vue').PropType<string>
          default: string
        }
        leaveToClass: {
          type: import('vue').PropType<string>
          default: string
        }
        customStyle: {
          type: import('vue').PropType<string>
          default: string
        }
        customClass: {
          type: import('vue').PropType<string>
          default: string
        }
      }>
    > & {
      onClick?: ((...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
    },
    {
      duration: number | boolean | Record<string, number>
      lazyRender: boolean
      customStyle: string
      customClass: string
      name: '' | import('./types').TransitionName
      show: boolean
      enterClass: string
      enterActiveClass: string
      leaveToClass: string
      leaveActiveClass: string
      enterToClass: string
      leaveClass: string
    },
    {}
  >,
  {
    default?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
