import { LcbAbsoluteConfigLayoutProps, LcbAbsoluteConfigLayoutBlock } from './types'
declare let __VLS_typeProps: LcbAbsoluteConfigLayoutProps
type __VLS_PublicProps = {
  modelValue?: number
} & typeof __VLS_typeProps
declare const _default: import('vue').DefineComponent<
  __VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_PublicProps>, any>,
  {},
  unknown,
  {},
  {},
  import('vue').ComponentOptionsMixin,
  import('vue').ComponentOptionsMixin,
  {
    'update:modelValue': (modelValue: number) => void
    startCanvasResize: (...args: any[]) => void
    startDragBlock: (...args: any[]) => void
    removeBlock: (...args: any[]) => void
    startResizeBlock: (...args: any[]) => void
  },
  string,
  import('vue').PublicProps,
  Readonly<
    import('vue').ExtractPropTypes<
      __VLS_WithDefaults<__VLS_TypePropsToOption<__VLS_PublicProps>, any>
    >
  > & {
    onStartCanvasResize?: ((...args: any[]) => any) | undefined
    onStartDragBlock?: ((...args: any[]) => any) | undefined
    onRemoveBlock?: ((...args: any[]) => any) | undefined
    onStartResizeBlock?: ((...args: any[]) => any) | undefined
    'onUpdate:modelValue'?: ((modelValue: number) => any) | undefined
  },
  {
    mode: 'edit' | 'view'
    dataset: Record<string, any>
    blocks: LcbAbsoluteConfigLayoutBlock[]
    canvas: {
      width: number
      height: number
      backgroundColor?: string
    }
    modelValue: number
  },
  {}
>
export default _default

type __VLS_WithDefaults<P, D> = {
  [K in keyof Pick<P, keyof P>]: K extends keyof D
    ? __VLS_Prettify<
        P[K] & {
          default: D[K]
        }
      >
    : P[K]
}
type __VLS_Prettify<T> = {
  [K in keyof T]: T[K]
} & {}
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
type __VLS_TypePropsToOption<T> = {
  [K in keyof T]-?: {} extends Pick<T, K>
    ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
      }
    : {
        type: import('vue').PropType<T[K]>
        required: true
      }
}
