import { List } from "../../../interface";
import { AnyObject, StringObject } from "../../../interface/object";
import { ImportedModules, Modules, ParseResult } from "../../interface";
export declare class Component {
    static modules: Modules;
    static components: ParseResult[];
    private static context;
    private static template;
    private static templatePath;
    static loadModule(module: ImportedModules): void;
    static validateModuleContents(contents: string, filePath: string): void;
    static handleDefaultModule(defaultModule: string, alias: string, moduleContents: string): void;
    static parseModules(contents: string, regex?: RegExp | "all" | "default", alias?: StringObject | string, components?: string[] | string): void;
    static initializeFlags(regex: RegExp | "all" | "default", alias?: StringObject | string): [boolean, string];
    static determineRegex(regex: RegExp | "all" | "default", components?: string[]): RegExp;
    static processDefinedModules(definedModulesSearch: IterableIterator<RegExpMatchArray>, componentList: List<string>, isDefault: boolean, allAlias: string): void;
    static extractModuleDetails(match: RegExpMatchArray): {
        name: string;
        propsName: string;
        content: string;
    };
    static getAlias(name: string, allAlias: string): string;
    static logErrors(foundLength: number, componentList: List<string>, isDefault: boolean): void;
    static parseComponent(template: string): void;
    static parser(template: string, getAttribute?: boolean): ParseResult[];
    static parseAtrAttributes(template: string): StringObject;
    static bundle(template: string): void;
    static compileString(template: string, context?: AnyObject): string;
    static preCompile(template: string, components: ParseResult[]): string;
    static compileComponent(content: string, attributes: StringObject, componentContent: string, attributeValue: string, propsName: string): string;
    static compileFile(templatePath: string, context?: AnyObject): string;
    static engine(component: string, propsName: string, context?: AnyObject): string;
    static loadModules(modules: ImportedModules[]): void;
}
