import { InferNullable, Observable, ObservableStackItem } from '../types/observable';
import { Store } from '../types/store';
interface Props<NullableInferredReturnT> {
    onError?: (err: Error, stack?: ObservableStackItem[]) => void;
    initialValue?: NullableInferredReturnT;
    singleFlight?: boolean;
}
type ExecuteReturnType<NullableInferredT> = [NullableInferredT, undefined] | [undefined, Error];
export declare const createCommandStream: <ReturnT, InputT = undefined, IsNullable extends boolean = true>(initialise: ({ $, store, }: {
    $: Observable<InputT>;
    store: Store;
}) => Observable<InferNullable<ReturnT, IsNullable>>, { onError, initialValue, singleFlight, }?: Props<InferNullable<ReturnT, IsNullable>>) => {
    (payload?: InputT): Promise<ExecuteReturnType<InferNullable<ReturnT, IsNullable>>>;
    exit$: Observable<InferNullable<ReturnT, IsNullable>>;
};
export {};
