/**
 * Main API function for Node.js runtime layer management
 *
 * This module provides the primary entry point for ensuring Node.js runtime layers
 * exist in AWS Lambda. It coordinates between runtime detection and layer management
 * components to provide a seamless experience for CDK integration.
 *
 * @module ensure-node-runtime-layer
 */
import { EnsureNodeRuntimeLayerOptions, EnsureNodeRuntimeLayerResult } from './nodejs-layer-manager';
/**
 * Ensures a Node.js runtime layer exists for the specified configuration.
 *
 * This is the main API function that coordinates runtime detection and layer management
 * to ensure the correct Node.js binaries are available for Lambda Kata execution.
 *
 * The function performs the following operations:
 * 1. Validates all input parameters
 * 2. Detects the exact Node.js version for the runtime
 * 3. Searches for existing compatible layers
 * 4. Creates a new layer if none exists or is compatible
 * 5. Returns comprehensive result information
 *
 * @param options - Configuration options for layer management
 * @returns Promise resolving to layer information and metadata
 * @throws NodeRuntimeLayerError for validation failures or operational errors
 *
 * @example
 * ```typescript
 * const result = await ensureNodeRuntimeLayer({
 *   runtimeName: 'nodejs20.x',
 *   architecture: 'x86_64',
 *   region: 'us-east-1',
 *   accountId: '123456789012'
 * });
 *
 * console.log(`Layer ARN: ${result.layerArn}`);
 * console.log(`Node.js version: ${result.nodeVersion}`);
 * console.log(`Created new layer: ${result.created}`);
 * ```
 */
export declare function ensureNodeRuntimeLayer(options: EnsureNodeRuntimeLayerOptions): Promise<EnsureNodeRuntimeLayerResult>;
