import { DependencyLifecycle } from '../../types';
import { IKosDataModel } from '../kosModel';
import { ServiceResponseStore } from './service-response-store';
/**
 * Manages lifecycle-driven service requests for KOS models
 *
 * The ServiceRequestManager executes @kosServiceRequest decorated methods
 * during the appropriate lifecycle phase (INIT, LOAD, READY, ACTIVATE).
 *
 * @internal
 */
export declare class ServiceRequestManager {
    private model;
    private responseStore;
    private handlers;
    constructor(model: IKosDataModel, responseStore: ServiceResponseStore);
    /**
     * Discover and organize service request handlers by lifecycle phase
     */
    private discoverHandlers;
    /**
     * Execute all service requests for a specific lifecycle phase
     *
     * @param lifecycle - The lifecycle phase to execute
     */
    executeForLifecycle(lifecycle: DependencyLifecycle): Promise<void>;
    /**
     * Zone 1: Orchestrates the entire service request flow
     */
    private executeHandler;
    /**
     * Zone 2: Validates request preconditions
     */
    private shouldProcessRequest;
    /**
     * Zone 2: Coordinates request preparation, execution, and timing capture
     */
    private prepareAndExecuteRequest;
    /**
     * Zone 3: Captures request timestamp
     */
    private captureRequestTiming;
    /**
     * Zone 3: Captures response timestamp
     */
    private captureResponseTiming;
    /**
     * Zone 2: Coordinates response processing and storage
     */
    private processAndStoreResponse;
    /**
     * Zone 2: Prepares request parameters by coordinating parameter resolution
     * @internal
     */
    private prepareRequest;
    /**
     * Zone 3: Performs the HTTP request
     * @internal
     */
    private performRequest;
    /**
     * Zone 2: Processes response by coordinating transformations
     * @internal
     */
    private processResponse;
    /**
     * Zone 2: Stores response and invokes handler with cleanup
     * @internal
     */
    private storeAndInvokeHandler;
    /**
     * Trigger queue flush for topic handlers waiting on this baseline
     * @private
     */
    private triggerBaselineQueueFlush;
    /**
     * Make HTTP request using existing KOS API client
     */
    private makeRequest;
    /**
     * Zone 2: Applies field mappings to response data by coordinating extraction, transformation, and validation
     */
    private applyMappings;
    /**
     * Get nested value from object using dot notation
     */
    private getNestedValue;
    /**
     * Apply transformation to a value
     */
    private applyTransform;
    /**
     * Handle array iteration and model creation
     */
    private handleIteration;
    /**
     * Handle errors according to configured strategy
     */
    private handleError;
}
//# sourceMappingURL=kos-service-request-manager.d.ts.map