export interface ElixirTemplateAnalysis {
    /** Template markup masked with whitespace, leaving only real embedded Elixir. */
    elixirSource: string | null;
    moduleReferences: string[];
    regions: Array<{
        startLine: number;
        endLine: number;
    }>;
}
export declare function isElixirTemplateExtension(ext: string): boolean;
/** Load the official HEEx/EEx grammars once. Failure keeps the safe line/leaf fallback. */
export declare function ensureElixirTemplateParsers(): Promise<boolean>;
/** Parse one template. Invalid template ASTs return null rather than guessed data. */
export declare function analyzeElixirTemplate(source: string, ext: string): ElixirTemplateAnalysis | null;
//# sourceMappingURL=elixir-templates.d.ts.map