export interface IProcessStartDetail {
    pid: string;
    message: string;
}
export interface IProcessStopDetail {
    pid: string;
}
export interface IProcessErrorDetail {
    pid: string;
    message: string;
    error?: Error;
}
export declare class ProcessEvents {
    /**
     * An event to be dispatched when the application is stating a long running process
     * in the background. The side effect of the event is the UI showing a process
     * indicator.
     *
     * @param pid The id of the process. The same id has to be passed to the stop event.
     * @param message Optional message rendered in the UI.
     * @param target A node on which to dispatch the event.
     */
    static loadingStart(pid: string, message: string, target?: EventTarget): void;
    /**
     * An event to be dispatched when the application has finished a long running process
     * in the background.
     *
     * @param pid The id of the process. The same id has to be passed to the stop event.
     * @param target A node on which to dispatch the event.
     */
    static loadingStop(pid: string, target?: EventTarget): void;
    /**
     * An event to be dispatched when the application has finished a long running process
     * in the background with an error.
     *
     * @param pid The id of the process used to start it.
     * @param message The message to be rendered to the user.
     * @param error The error object caused the event. Optional.
     * @param target A node on which to dispatch the event.
     */
    static loadingError(pid: string, message: string, error?: Error, target?: EventTarget): void;
}
//# sourceMappingURL=ProcessEvents.d.ts.map