import { ExecOptions } from "./core.ts";
/**
 * 显示确认弹框选项
 * @param {string} confirmText 确认按钮文字
 * @param {String} cancelText 取消按钮文字
 * @param {boolean} showCancelButton 是否显示取消按钮
 * @param {string} title 弹框标题
 * @param {string} content 弹框内容
 */
export interface ShowConfirmDialogOptions extends ExecOptions<boolean, any> {
    confirmText?: string;
    cancelText?: string;
    showCancelButton?: boolean;
    title?: string;
    content?: string;
}
/**
 * 输入弹框回调结果
 * @param {boolean?} result
 * @param {string?} 输入文字
 */
export interface ShowInputDialogResult {
    result?: boolean;
    text?: string;
}
/**
 * 显示输入确认框选项
 * @param {string} confirmText 确认按钮文字
 * @param {String} cancelText 取消按钮文字
 * @param {string} title 弹框标题
 * @param {string} value 初始输入框内容
 * @param {string} hintText 提示文字
 */
export interface ShowInputDialogOptions extends ExecOptions<ShowInputDialogResult, any> {
    confirmText?: string;
    cancelText?: string;
    value?: string;
    title?: string;
    hintText?: string;
}
/**
 * 显示操作选择弹框选项
 * @param {string[]} items 操作选项列表
 */
export interface ShowActionSheetOptions extends ExecOptions<number, any> {
    items: string[];
}
/**
 * 显示轻提示选项
 * @param {string} message 提示信息
 * @param {number} duration 持续时间
 */
export interface ShowToastOptions {
    message: string;
    duration?: number;
}
/**
 * 显示 Loading 选项
 * @param {string} message 加载文字提示
 * @param {boolean} dismissOnTap 是否允许点击关闭
 * @param {boolean} isInteractive 是否锁定
 */
export interface ShowLoadingOptions {
    message: string;
    dismissOnTap?: boolean;
    isInteractive?: boolean;
}
/**
 * SnackBar 操作
 * @param {string} 文字
 * @param {onPressed} 点击事件，必须是注册到window上的事件
 */
export interface SnackBarAction {
    label: string;
    onPressed: string;
}
/**
 * 显示 SnackBar 选项
 * @param {string} content 内容
 * @param {number} duration 持续时间
 * @param {SnackBarAction} action 操作
 * @param {boolean} showCloseIcon 显示关闭按钮
 */
export interface ShowSnackBarOptions {
    content: string;
    action?: SnackBarAction;
    duration?: number;
    showCloseIcon?: boolean;
}
