import async = require("async"); import { AbstractAction } from "./AbstractAction"; import { ISkeletosCommand } from "./ISkeletosCommand"; /** * An action that can show progress on the client side using a progress bar that you define. * * To show a progress bar, you can either: * 1. Set the static `globalStartProgressBarFn`, `globalIncrementProgressBarFn`, and `globalCompleteProgressBarFn` * fields to be functions of your global progress bar (for example, something like react-nprogress), or... * * 2. Override the class methods `startProgressBar`, `incrementProgressBar`, and `completeProgressBar`. */ export declare abstract class AbstractProgressAction extends AbstractAction { static globalStartProgressBarFn: () => void; static globalIncrementProgressBarFn: () => void; static globalCompleteProgressBarFn: () => void; private static PROGRESS_COMMAND_KEY_PREFIX; private static START_PROGRESS_COMMAND_KEY; private static INCREMENT_PROGRESS_COMMAND_KEY; private static COMPLETE_PROGRESS_COMMAND_KEY; private static _ACTIONS_SHOWING_PROGRESS_COUNTER; protected wrapCommands(): ISkeletosCommand[] | object; /** * Override this to supply your own progress bar implementation. You can also alternatively set the static * startProgressBarFn in this class to use that globally instead. */ protected startProgressBar(callback: async.ErrorCallback): void; /** * Override this to supply your own progress bar implementation. You can also alternatively set the static * incrementProgressBarFn in this class to use that globally instead. */ protected incrementProgressBar(callback: async.ErrorCallback): void; /** * Override this to supply your own progress bar implementation. You can also alternatively set the static * completeProgressBarFn in this class to use that globally instead. */ protected completeProgressBar(callback: async.ErrorCallback): void; private _startProgressBar; private _completeProgressBar; }