import type { PanelPosition } from '@vue-flow/core'

declare const _default: __VLS_WithTemplateSlots<
  import('vue').DefineComponent<
    {
      showZoom: {
        type: import('vue').PropType<boolean>
      }
      showFitView: {
        type: import('vue').PropType<boolean>
      }
      showInteractive: {
        type: import('vue').PropType<boolean>
      }
      fitViewParams: {
        type: import('vue').PropType<import('@vue-flow/core').FitViewParams>
      }
      position: {
        type: import('vue').PropType<import('@vue-flow/core').PanelPositionType | PanelPosition>
      }
    },
    {},
    unknown,
    {},
    {},
    import('vue').ComponentOptionsMixin,
    import('vue').ComponentOptionsMixin,
    {
      zoomIn: () => void
      zoomOut: () => void
      fitView: () => void
      interactionChange: (active: boolean) => void
    },
    string,
    import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps,
    Readonly<
      import('vue').ExtractPropTypes<{
        showZoom: {
          type: import('vue').PropType<boolean>
        }
        showFitView: {
          type: import('vue').PropType<boolean>
        }
        showInteractive: {
          type: import('vue').PropType<boolean>
        }
        fitViewParams: {
          type: import('vue').PropType<import('@vue-flow/core').FitViewParams>
        }
        position: {
          type: import('vue').PropType<import('@vue-flow/core').PanelPositionType | PanelPosition>
        }
      }>
    > & {
      onZoomIn?: (() => any) | undefined
      onZoomOut?: (() => any) | undefined
      onFitView?: (() => any) | undefined
      onInteractionChange?: ((active: boolean) => any) | undefined
    },
    {},
    {}
  >,
  {
    top?(_: {}): any
    'control-zoom-in'?(_: {}): any
    'icon-zoom-in'?(_: {}): any
    'control-zoom-out'?(_: {}): any
    'icon-zoom-out'?(_: {}): any
    'control-fit-view'?(_: {}): any
    'icon-fit-view'?(_: {}): any
    'control-interactive'?(_: {}): any
    'icon-unlock'?(_: {}): any
    'icon-lock'?(_: {}): any
    default?(_: {}): any
  }
>
export default _default
type __VLS_WithTemplateSlots<T, S> = T & {
  new (): {
    $slots: S
  }
}
