import { Component } from "@vue/runtime-core"
import { CommonEventFunction } from "@tarojs/components/types/common"

import AtComponent from "./base"

export interface AtModalProps extends AtComponent {
  /**
   * 元素的标题
   */
  title?: string
  /**
   * 是否显示模态框
   * @default false
   */
  isOpened: boolean
  /**
   * 元素的内容
   */
  content?: string
  /**
   * 点击浮层的时候时候自动关闭
   * @default true
   */
  closeOnClickOverlay?: boolean
  /**
   * 取消按钮的文本
   */
  cancelText?: string
  /**
   * 确认按钮的文本
   */
  confirmText?: string
  /**
   * 触发关闭时的事件
   */
  onClose?: CommonEventFunction
  /**
   * 点击取消按钮触发的事件
   */
  onCancel?: CommonEventFunction
  /**
   * 点击确认按钮触发的事件
   */
  onConfirm?: CommonEventFunction
}

export interface AtModalState {
  _isOpened: boolean
  isWEB: boolean
}

export interface AtModalActionProps extends AtComponent {
  isSimple: boolean
}

export interface AtModalContentProps extends AtComponent { }

export interface AtModalHeaderProps extends AtComponent { }

export declare const AtModal: Component<AtModalProps>
export declare const AtModalAction: Component<AtModalActionProps>
export declare const AtModalContent: Component<AtModalContentProps>
export declare const AtModalHeader: Component<AtModalHeaderProps>