export interface defaultHtml {
  
  lineHeight?: string
  
  fontSize?: string
  
  fontFamily?: string
  
  fontSizeList?: string
  
  lineHeightList?: string
}

export type imgInsertFnType = (url: string, alt: string, href: string) => void
export type videoInsertFnType = (url: string, poster: string) => void

export interface Props {
  
  mode?: 'default' | 'simple'

  
  type?: 'default' | 'text'

  
  readOnly?: boolean

  
  modelValue: string

  
  config?: defaultHtml

  
  width?: string | number

  
  height?: string | number

  
  maxHeight?: string | number

  
  textareaStyle?: string

  
  placeholder?: string

  
  excludeKeys?: Array<string>

  
  customToolbarClass?: string

  
  customEditorClass?: string

  
  customBucketName?: string

  
  customFilePrefix?: string

  
  image?: {
    
    maxFileSize?: number
  }

  
  video?: {
    
    maxFileSize?: number
  }

  
  file?: {
    
    maxFileSize?: number
  }

  
  local?: boolean
}

export interface Emits {
  (e: 'update:modelValue', value: string): void

  (e: 'change', value: string): void

  (e: 'focus'): void

  (e: 'blur', value: string): void
}
