import { ComponentClass } from 'react'
import { CommonEventFunction } from '@tarojs/components/types/common'
import CtsComponent from './base'

export interface CtsCheckingProps extends CtsComponent {
  /**
   * 当前时间
   */
  time: any
  /**
   * 打卡类型。amOnWork：上午上班，amOffWork：上午下班，pmOnWork：下午上班，pmOffWork：下午下班，overtimeOnWork：加班上班，overtimeOffWork：加班下班
   * @description 可选择的值 'amOnWork', 'amOffWork', 'pmOnWork', 'pmOffWork', 'overtimeOnWork', 'overtimeOffWork'
   * @type {('amOnWork'|'amOffWork'|'pmOnWork'|'pmOffWork'|'overtimeOnWork'|'overtimeOffWork')}
   * @default 'amOnWork'
   */
  mode: 'amOnWork' | 'amOffWork' | 'pmOnWork' | 'pmOffWork' | 'overtimeOnWork' | 'overtimeOffWork'
  /**
   * 打卡标题
   */
  title: string
  /**
   * 目标地纬度
   */
  lat: number
  /**
   * 目标地经度
   */
  lng: number
  /**
   * 考勤打卡范围，单位m
   * @default 100
   */
  distanceScope: number
  /**
   * 点击打卡事件
   */
  checkingFn: CommonEventFunction
}

export interface CtsCheckingState {
  /**
   * 当前纬度
   */
  latitude: number
  /**
   * 当前经度
   */
  longitude: number
  /**
   * 当前地点
   */
  address: string
  /**
   * 两点间的距离，单位m
   */
  distance: number
  /**
   * 定时器
   */
  interval: any
}

declare const CtsChecking: ComponentClass<CtsCheckingProps>

export default CtsChecking