import type { Dirent } from "node:fs"; import type { PatternCompileOptions } from "./patternCompile.js"; import type { Resource } from "./resource.js"; import type { Rule } from "./rule.js"; import { type PatternFinderOptions } from "./extractor.js"; /** * Compiles the {@link Rule} (forced). * Can be compiled at any time. * Extractors are compiling it. * * @see {@link patternListCompile} * * @since 0.6.0 */ export declare function ruleCompile(rule: Rule, options?: PatternCompileOptions): Rule; /** * @see {@link resolveSources} * * @since 0.6.0 */ export interface ResolveSourcesOptions extends PatternFinderOptions { /** * Relative directory path. * * @example * "dir/subdir" * * @since 0.6.0 */ dir: string; /** * Maps directory paths to their corresponding sources. * * @example * "dir" => Resource * "dir/subdir" => Resource * * @since 0.11.0 */ external: Map; /** * Directory entries of the current directory. * Used for optimization to avoid redundant `fs.readFile` calls. * * @since 0.11.0 */ entries?: Dirent[]; } /** * @since 0.6.0 */ export declare function resolveSources(options: ResolveSourcesOptions, cb: (err: Error | null, resource: Resource) => void): void;