import { CompositeFunctionCatalog, CompositeFunctionConfig, Step } from '@expo/eas-build-job'; export declare function parseLocalCompositeFunctionPath(uses: string): string; export declare function isLocalCompositeFunctionPath(uses: string): boolean; export declare function getLocalCompositeFunctionCallWorkingDirectoryError(uses: string): string; /** Loads only composite functions transitively referenced by `rootSteps`. Unreferenced files are ignored. */ export declare function buildCompositeFunctionCatalogFromStepsAsync({ rootSteps, loadCompositeFunction, }: { rootSteps: readonly Step[]; loadCompositeFunction: (compositeFunctionPath: string) => Promise; }): Promise; /** Extends `catalog` in place with functions transitively referenced by `rootSteps`. Skips paths already present. */ export declare function extendCompositeFunctionCatalogFromStepsAsync({ catalog, rootSteps, loadCompositeFunction, }: { catalog: CompositeFunctionCatalog; rootSteps: readonly Step[]; loadCompositeFunction: (compositeFunctionPath: string) => Promise; }): Promise; export declare function resolveLocalCompositeFunctionPath(projectRoot: string, compositeFunctionPath: string): string; export interface LocalCompositeFunctionLogger { debug(message: string): void; } /** * Reads and validates the function.yml (or function.yaml) file of a local composite function. * `compositeFunctionPath` is the normalized ref returned by {@link parseLocalCompositeFunctionPath}. */ export declare function loadLocalCompositeFunctionConfigAsync(projectRoot: string, compositeFunctionPath: string, { logger }?: { logger?: LocalCompositeFunctionLogger; }): Promise; /** Loader for the lazy hook path: bound to a project root, passed to {@link StepsConfigParser}. */ export declare function createLocalCompositeFunctionLoader(projectRoot: string, { logger }?: { logger?: LocalCompositeFunctionLogger; }): (compositeFunctionPath: string) => Promise; /** Builds the catalog of composite functions transitively referenced by `rootSteps`, loading each from disk. */ export declare function buildLocalCompositeFunctionCatalogAsync(projectRoot: string, { rootSteps, logger }: { rootSteps: readonly Step[]; logger?: LocalCompositeFunctionLogger; }): Promise;