import { ErrorResponseContext } from '../../util/service-request-error';
/**
 * Helper functions for kosServiceRequest decorator.
 *
 * These functions are extracted to reduce complexity and improve maintainability
 * of the service request decorator implementation.
 */
/**
 * Resolves all parameters for a service request.
 *
 * This helper function handles the complex parameter resolution logic including:
 * - Resolving PropKeys in path
 * - Merging decorator-defined params with runtime params
 * - Building the final API params object
 *
 * @param metadata - Service request metadata
 * @param modelInstance - The model instance (this context)
 * @param args - Original method arguments
 * @param runtimeOptions - Runtime execution options
 * @returns Resolved parameters for the API request
 */
export declare function resolveServiceRequestParameters(metadata: any, modelInstance: any, args: any[], runtimeOptions: any): {
    resolvedPath: string;
    apiParams: any;
    finalBody: any;
    finalRequestOptions: any;
};
/**
 * Executes an API method with the appropriate HTTP verb.
 *
 * This helper function handles the complexity of method selection and execution,
 * supporting GET, POST, PUT, and DELETE operations with proper parameter passing.
 *
 * @param API - The API client instance
 * @param method - HTTP method (get, post, put, delete)
 * @param path - Resolved API path
 * @param params - API parameters (path, query)
 * @param body - Request body (for POST, PUT, DELETE)
 * @param requestOptions - Additional request options
 * @returns Error-first tuple with response
 */
export declare function executeApiMethod(API: any, method: string | undefined, path: string, params: any, body: any, requestOptions: any): Promise<[string | null, any, ErrorResponseContext?]>;
/**
 * Handles service request errors according to the configured error handling strategy.
 *
 * This helper function implements the error handling strategies defined in metadata:
 * - "throw": Return error tuple for caller to handle
 * - "log": Log error and return default value
 * - "ignore": Silently return default value
 * - "default": Return default value
 *
 * @param error - Error message from API call
 * @param response - API response (may contain status code)
 * @param errorHandler - Error handler configuration from metadata
 * @param modelInstance - The model instance (this context)
 * @returns Error-first tuple with default value or error
 */
export declare function handleServiceRequestError(error: string, response: any, errorHandler: any, modelInstance: any, errorContext?: ErrorResponseContext): [string | null, any];
//# sourceMappingURL=kos-service-request-helpers.d.ts.map