import type { Provider } from "@metaobjectsdev/render"; /** Provider backed by an arbitrary on-disk template directory. References * resolve as `/.mustache`. Used by both the framework default * and adopter override paths. */ export declare class FileSystemProvider implements Provider { private readonly root; constructor(root: string); resolve(ref: string): string | undefined; } export declare const frameworkTemplatesProvider: Provider; /** Compose providers: first match wins. Adopters typically chain * `[projectProvider, frameworkTemplatesProvider]` so their own templates * override the framework defaults. */ export declare class ProviderChain implements Provider { private readonly providers; constructor(providers: readonly Provider[]); resolve(ref: string): string | undefined; } /** Build a project-scoped Provider: layers an optional project `templates/` * directory over the framework defaults. Returns just the framework provider * when `projectRoot` is undefined / its `templates/` dir doesn't exist. */ export declare function projectProvider(projectRoot?: string): Provider; /** Exposed for tests that want to inspect the resolved framework templates * directory (don't use outside tests). Resolved lazily so that merely * importing this module never walks the filesystem or throws — tests always * run from source where the on-disk dir exists; the standalone binary (where * no dir exists) never touches this export. */ export declare function frameworkTemplatesDirForTests(): string; //# sourceMappingURL=framework-provider.d.ts.map