import { StateObservable } from "redux-observable";
import { Observable } from "rxjs";
import * as actions from "@nteract/actions";
import { AppState } from "@nteract/types";
/**
 * Executes all requests in the message queue then clears the queue after
 * the kernel is launched successfully and is ready to execute.
 */
export declare const executeCellAfterKernelLaunchEpic: (action$: Observable<actions.NewKernelAction>, state$: StateObservable<AppState>) => Observable<{
    type: "EXECUTE_CELL";
    payload: import("@nteract/actions/lib/utils").HasCell;
} | {
    type: "CLEAR_MESSAGE_QUEUE";
}>;
/**
 * Launches the kernel when user tries to execute a cell.
 * The distinct operator prevents the LaunchKernelByName action from
 * being emitted more than once within the same notebook.
 */
export declare function lazyLaunchKernelEpic(action$: Observable<actions.ExecuteCell>, state$: StateObservable<AppState>): Observable<actions.LaunchKernelByNameAction | actions.ExecuteCell | actions.LaunchKernelFailed>;
