import { type EventBus } from "../event-bus.ts";
import { type ResourceLoaderInheritanceSnapshotProvider, type WorkflowResourceProviderInput } from "./loader-resources.ts";
import type { Extension, ExtensionFactory, ExtensionRuntime, LoadExtensionsResult } from "./types.ts";
/**
 * Create an Extension from an inline factory function.
 */
export declare function loadExtensionFromFactory(factory: ExtensionFactory, cwd: string, eventBus: EventBus, runtime: ExtensionRuntime, extensionPath?: string, workflowResourceProvider?: WorkflowResourceProviderInput, resourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider): Promise<Extension>;
export declare function loadExtensions(paths: string[], cwd: string, eventBus?: EventBus, workflowResourceProvider?: WorkflowResourceProviderInput, runtime?: ExtensionRuntime, resourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider): Promise<LoadExtensionsResult>;
export declare function loadExtensionsCached(paths: string[], cwd: string, eventBus?: EventBus, workflowResourceProvider?: WorkflowResourceProviderInput, runtime?: ExtensionRuntime, resourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider): Promise<LoadExtensionsResult>;
//# sourceMappingURL=loader-core.d.ts.map