import { Cacher } from "./storage.js";
import { compile } from "./compile.js";
import { compileBody, compileToString } from "./compile-string.js";
import { parse } from "./parse.js";
import { render, renderAsync, renderString, renderStringAsync } from "./render.js";
import { EtaError, RuntimeErr } from "./err.js";
import { TemplateFunction } from "./compile.js";
import type { EtaConfig, Options } from "./config.js";
export declare class Eta {
    constructor(customConfig?: Partial<EtaConfig>);
    config: EtaConfig;
    RuntimeErr: typeof RuntimeErr;
    compile: typeof compile;
    compileToString: typeof compileToString;
    compileBody: typeof compileBody;
    parse: typeof parse;
    render: typeof render;
    renderAsync: typeof renderAsync;
    renderString: typeof renderString;
    renderStringAsync: typeof renderStringAsync;
    filepathCache: Record<string, string>;
    templatesSync: Cacher<TemplateFunction>;
    templatesAsync: Cacher<TemplateFunction>;
    resolvePath: null | ((this: Eta, template: string, options?: Partial<Options>) => string);
    readFile: null | ((this: Eta, path: string) => string);
    configure(customConfig: Partial<EtaConfig>): void;
    withConfig(customConfig: Partial<EtaConfig>): this & {
        config: EtaConfig;
    };
    loadTemplate(name: string, template: string | TemplateFunction, // template string or template function
    options?: {
        async: boolean;
    }): void;
}
export { EtaError };
//# sourceMappingURL=core.d.ts.map