import { RequestConfig } from "../request-configs";
import { MessageHandlerResult } from "./helpers";
import { BloombergError, EventMessageInner, Request } from "./types";
import { OperationArgs } from "./../bridge/types";
import { SessionsManager } from "./../sessions/sessions-manager";
import { BaseRequest } from "./base-request";
/**
 * Represents the lifecycle of a non-subscription request.
 */
export declare class NonSubscriptionRequestImpl<TArgs, TData> extends BaseRequest<TArgs> {
    readonly sessionManager: SessionsManager;
    readonly config: RequestConfig;
    readonly operationArgs: OperationArgs<TArgs>;
    private readonly handlers;
    private aggregatedResponsePW;
    private aggregatedResponseData;
    /**
     * Controlled by "OpenRequestOptions".
     * See https://docs.glue42.com/connectors/bloomberg-connector/market-data/javascript/index.html#handling_requests-opening_a_request.
     */
    private shouldAggregateResponse;
    constructor(sessionManager: SessionsManager, config: RequestConfig, operationArgs: OperationArgs<TArgs>, handlers: {
        partialResponseData: (eventMessage: EventMessageInner) => MessageHandlerResult<TData>;
        responseData: (eventMessage: EventMessageInner) => MessageHandlerResult<TData>;
        responseError: (eventMessage: EventMessageInner) => MessageHandlerResult<BloombergError>;
    });
    /**
     * Public api.
     */
    get api(): Request<TData, Error | BloombergError>;
    private open;
    private handleRequestStatusChanged;
    private messageProcessor;
    private processPartialResponseBBGEvent;
    private processResponseBBGEvent;
    private raiseResponseData;
    protected reset(): Promise<void>;
}
