import { DatagoComponent } from './component'
import type { Button } from 'element-ui'

export interface SearchOption {
  editor: string
  label: string
  prop: string
  resultProp?: string
  resultFormat?: (value: string, key: string, form: Record<string, any>) => string
  editorProps?: Record<string, any>
}

export declare class DgSearch extends DatagoComponent {
  /** 过滤条件 */
  options: SearchOption[]

  /**
   * 最大固定条数
   * @default 1
   */
  maxToFixed: number

  /**
   * 表格大小 同 el-form
   * @default 'mini'
   */
  size: 'mini' | 'small' | 'medium' | 'large' | 'default'

  /** 搜索按钮 props 同 button props */
  searchButtonProps: Button

  /** 搜索按钮名称
   * @default '查 询'
   */
  searchText: string
  /** 更多搜索按钮名称
   * @default '更多搜索'
   */
  moreText: string

  /** 清除按钮名称
   * @default '清除'
   */
  clearText: string

  /** 搜索为空提示
   * @default '全部'
   */
  emptyText: string
}
