import { Result, SingleResult } from "@codiac.io/codiac-common/contracts";
import { OperationStatus, AsyncAck } from "../message-contracts";
/** A function expression that invokes a long running process
 * (without waiting for it to complete)
 * and returns an immediate acknowledgement. */
export type AsyncTrigger = (socketId: string) => Promise<SingleResult<AsyncAck>>;
export type StatusViewContext<TResult extends Result> = {
    values: any;
    result: TResult;
};
/** Shared logic between LrpWatchers. */
export declare abstract class LrpWatcherUtils {
    /** The value of the `action` field in a SocketAction for status messages. */
    static readonly STATUS_MSG_TYPE = "operationStatus";
    static resultFromStatusMessage(status: OperationStatus): Result;
}
