import FormattedString from "../core/FormattedString";
import { AtomViewModel } from "./AtomViewModel";
export interface IActionOptions {
    /**
     * Display success message after method successfully executes,
     * if method returns promise, success will display after promise
     * has finished, pass null to not display message.
     * @default null
     */
    success?: string | FormattedString;
    /**
     * Title for success message
     * @default Done
     */
    successTitle?: string;
    /**
     * Ask for confirmation before invoking this method
     * @default null
     */
    confirm?: string;
    /**
     * Title for confirm message
     * @default Confirm
     */
    confirmTitle?: string;
    /**
     * Validate the view model before execution and report to user
     * @default false
     */
    validate?: boolean | string | FormattedString;
    /**
     * Title for validation
     * @default Error
     */
    validateTitle?: string;
}
/**
 * Reports an alert to user when an error has occurred
 * or validation has failed.
 * If you set success message, it will display an alert with success message.
 * If you set confirm message, it will ask form confirmation before executing this method.
 * You can configure options to enable/disable certain
 * alerts.
 * @param reportOptions
 */
export default function Action({ success, successTitle, confirm, confirmTitle, validate, validateTitle }?: IActionOptions): (target: AtomViewModel, key: string | symbol) => void;
//# sourceMappingURL=Action.d.ts.map