/**
 * Context Factory for creating plugin execution contexts
 *
 * Provides factory methods for creating properly configured plugin contexts:
 * - Creates base pipeline context with metadata
 * - Wraps with plugin-specific functionality
 * - Manages settings distribution to plugins
 */
import type { PluginSettings, PluginContext } from '../core/types';
export declare class ContextFactory {
    /**
     * Creates a plugin context with metadata and settings map
     *
     * @template T - Type of execution metadata
     * @param metadata - Execution metadata to include in context
     * @param settingsMap - Map of plugin names to their settings
     * @returns Configured plugin context ready for execution
     */
    static create<T extends Record<string, unknown>>(metadata: T, settingsMap: ReadonlyMap<string, PluginSettings>): PluginContext<T>;
    /**
     * Creates a plugin context from an array of plugin settings
     * Convenience method for when settings are provided as array
     *
     * @template T - Type of execution metadata
     * @param metadata - Execution metadata to include in context
     * @param settings - Array of plugin name/settings pairs
     * @returns Configured plugin context ready for execution
     */
    static createWithSettings<T extends Record<string, unknown>>(metadata: T, settings: Array<{
        name: string;
        settings: PluginSettings;
    }>): PluginContext<T>;
}
//# sourceMappingURL=context.factory.d.ts.map