/** * Extracts and resolves dependency requests of one or more assets, shallow or deep. * * @param assetKey unique key(s) of asset(s) to resolve dependency requests for. * @param deep should process follow resolved requests, and resolve these assets as well (defaults to `false`). * @returns record containing asset keys as fields, and their resolved dependecy requests as values. */ export type DependencyResolver = (assetKey: string | string[], deep?: boolean) => Record; /** * Record containing requests as fields, and their resolutions (asset keys) as values. * `undefined` is used when a request couldn't be resolved. */ export type ResolvedRequests = Record; export interface IDependencyResolverOptions { /** * Extracts a dependency requests list of an asset. * * @param assetKey unique identifier for an asset to extract from. * @returns list of dependency requests by the asset. */ extractRequests(assetKey: string): string[]; /** * Resolve a dependency request by an asset. * * @param assetKey unique identifier of the requesting asset. * @returns unique key for the asset the request resolves to. */ resolveRequest: (assetKey: string, request: string) => string | false | undefined; } /** * Create a dependency resolver by providing a callback to extract requests, * and another callbck to resolve such requests. */ export declare function createDependencyResolver({ extractRequests, resolveRequest, }: IDependencyResolverOptions): DependencyResolver; //# sourceMappingURL=dependency-resolver.d.ts.map