import { Action, Store } from 'redux';
import type { Logger } from 'winston';
import type { HandlerResponse } from './handlerResponse';
export declare type DispatcherOptions = {
    name: string;
    store: Store;
    slice: string;
    SuccessAction: string;
    ErrorAction?: string;
    logger: Logger;
    typeGuard?: (input: any) => boolean;
};
export declare type Dispatcher = <TResult, TArg>(actionDispatcher: (payload: any) => Action, options: DispatcherOptions, onSuccess?: (result: any) => TResult) => (args?: TArg) => Promise<HandlerResponse<TResult>>;
