/* eslint-disable @typescript-eslint/no-unused-vars */
import type { CSSProperties } from 'vue'
import type { PrintDirection, PrintOrientation, PrintTarget } from './types'

export interface PrinterProps {
  // 是否打印
  modelValue?: boolean
  // 页眉样式
  headerStyle?: Partial<CSSProperties> | Array<Partial<CSSProperties>>
  // 内容样式
  bodyStyle?: Partial<CSSProperties> | Array<Partial<CSSProperties>>
  // 页脚样式
  footerStyle?: Partial<CSSProperties> | Array<Partial<CSSProperties>>
  // 标题
  title?: string
  // 页间距
  margin?: string | number
  // 纸张方向
  direction?: PrintDirection | null
  // 纸张旋转
  orientation?: PrintOrientation | null
  // 打印位置
  target?: PrintTarget | null
  // 是否显示在文档流中
  static?: boolean
  // 打印方法参数
  options?: Record<string, any>
}

/**
 * 事件
 */
export const printerEmits = {
  /** 更新打印状态 */
  'update:modelValue': (_value: boolean) => true,
  /** 打印完成的事件 */
  done: () => true
}
