import { CharStream, Token } from "antlr4ng"; import { STGroup } from "./STGroup.js"; import { ICompiledST } from "./compiler/common.js"; /** * A directory or directory tree full of templates and/or group files. * We load files on-demand. Dir search path: current working dir then * CLASSPATH (as a resource). Do not look for templates outside of this dir * subtree (except via imports). */ export declare class STGroupDir extends STGroup { groupDirName: string; constructor(dirName: string); constructor(dirName: string, encoding: string); constructor(dirName: string, delimiterStartChar: string, delimiterStopChar: string); constructor(dirName: string, encoding: string, delimiterStartChar: string, delimiterStopChar: string); importTemplates(g: STGroup): void; importTemplates(fileNameToken: Token): void; importTemplates(g: STGroup, clearOnUnload: boolean): void; /** * Load .st as relative file name relative to root by {@code prefix}. */ loadTemplateFile(prefix: string, unqualifiedFileName: string): ICompiledST | undefined; getName(): string; getFileName(): string; load(): void; /** * Load a template from directory or group file. Group file is given * precedence over directory with same name. {@code name} is always fully-qualified. * @param name */ load(name: string): ICompiledST | undefined | null; /** Separated call to allow overriding it in derived classes. */ protected doLoadTemplateFile(prefix: string, unqualifiedFileName: string, templateStream: CharStream): ICompiledST | undefined; }