import Core from '../../core/Core';
import SessionsRequestHandler from '../comm/SessionsRequestHandler';
import { Service } from '../../core/nqs/Services';
/**
 * Handles request creation and dispatching to the request handler
 */
export default class RequestDispatcher {
    private core;
    private options;
    private requestBuilder;
    private requestHandler;
    private sessionContext;
    constructor(core: Core, options: any, requestBuilder: any, requestHandler: SessionsRequestHandler, sessionContext: any);
    /**
     * Dispatch a request to the handler
     * @param service - Service type
     * @param params - Request parameters
     * @param force - Force send even if session state doesn't allow
     * @param onSuccess - Success callback
     * @param onFail - Failure callback
     */
    dispatch(service: Service, params: object, force: boolean, onSuccess?: () => void, onFail?: () => void): void;
    /**
     * Check if POST method is enabled
     */
    private isMethodPostEnabled;
}
