import type { Config } from "@marko/compiler";
export { version } from "../../package.json";
export declare const tagDiscoveryDirs: string[];
export { default as internalEntryBuilder } from "./util/entry-builder";
export declare const preferAPI = "tags";
export declare const transform: import("@marko/compiler/babel-types").Visitor<unknown>, analyze: import("@marko/compiler/babel-types").Visitor<unknown>, translate: import("@marko/compiler/babel-types").Visitor<unknown>;
export declare const taglibs: (string | {
    migrate: import("@marko/compiler/babel-types").Visitor<unknown>;
    taglibId: string;
    "<attrs>": import("@marko/compiler/babel-utils").Tag;
    "<await>": import("@marko/compiler/babel-utils").Tag;
    "<client>": import("@marko/compiler/babel-utils").Tag;
    "<const>": import("@marko/compiler/babel-utils").Tag;
    "<debug>": import("@marko/compiler/babel-utils").Tag;
    "<define>": import("@marko/compiler/babel-utils").Tag;
    "<effect>": import("@marko/compiler/babel-utils").Tag;
    "<else-if>": {
        autocomplete: {
            snippet: string;
            description: string;
            descriptionMoreURL: string;
        }[];
        attributeGroups?: string[];
        patternAttributes?: import("@marko/compiler/babel-utils").Attribute[];
        attributes?: {
            [x: string]: import("@marko/compiler/babel-utils").Attribute;
        };
        description?: string;
        nestedTags?: {
            [x: string]: import("@marko/compiler/babel-utils").Tag & {
                isRepeated?: boolean;
                targetProperty?: string;
            };
        };
        htmlType?: "html" | "svg" | "math";
        html?: boolean;
        types?: string;
        template?: string;
        renderer?: string;
        deprecated?: boolean;
        openTagOnly?: boolean;
        analyze?: import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag>;
        translate?: import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag>;
        parse?: import("@marko/compiler/babel-utils").ParsePlugin<import("@marko/compiler/babel-types").MarkoTag>;
        transform?: import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag> | import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag>[];
        migrate?: import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag> | import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag>[];
        parseOptions?: {
            rootOnly?: boolean;
            rawOpenTag?: boolean;
            openTagOnly?: boolean;
            controlFlow?: boolean;
            ignoreAttributes?: boolean;
            relaxRequireCommas?: boolean;
            statement?: boolean;
            preserveWhitespace?: boolean;
            text?: boolean;
            html?: boolean;
        };
    };
    "<else>": {
        autocomplete: {
            description: string;
            descriptionMoreURL: string;
        }[];
        attributeGroups?: string[];
        patternAttributes?: import("@marko/compiler/babel-utils").Attribute[];
        attributes?: {
            [x: string]: import("@marko/compiler/babel-utils").Attribute;
        };
        description?: string;
        nestedTags?: {
            [x: string]: import("@marko/compiler/babel-utils").Tag & {
                isRepeated?: boolean;
                targetProperty?: string;
            };
        };
        htmlType?: "html" | "svg" | "math";
        html?: boolean;
        types?: string;
        template?: string;
        renderer?: string;
        deprecated?: boolean;
        openTagOnly?: boolean;
        analyze?: import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag>;
        translate?: import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag>;
        parse?: import("@marko/compiler/babel-utils").ParsePlugin<import("@marko/compiler/babel-types").MarkoTag>;
        transform?: import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag> | import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag>[];
        migrate?: import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag> | import("@marko/compiler/babel-utils").Plugin<import("@marko/compiler/babel-types").MarkoTag>[];
        parseOptions?: {
            rootOnly?: boolean;
            rawOpenTag?: boolean;
            openTagOnly?: boolean;
            controlFlow?: boolean;
            ignoreAttributes?: boolean;
            relaxRequireCommas?: boolean;
            statement?: boolean;
            preserveWhitespace?: boolean;
            text?: boolean;
            html?: boolean;
        };
    };
    "<export>": import("@marko/compiler/babel-utils").Tag;
    "<for>": import("@marko/compiler/babel-utils").Tag;
    "<html-comment>": import("@marko/compiler/babel-utils").Tag;
    "<html-script>": import("@marko/compiler/babel-utils").Tag;
    "<html-style>": import("@marko/compiler/babel-utils").Tag;
    "<id>": import("@marko/compiler/babel-utils").Tag;
    "<if>": import("@marko/compiler/babel-utils").Tag;
    "<import>": import("@marko/compiler/babel-utils").Tag;
    "<let>": import("@marko/compiler/babel-utils").Tag;
    "<lifecycle>": import("@marko/compiler/babel-utils").Tag;
    "<log>": import("@marko/compiler/babel-utils").Tag;
    "<return>": import("@marko/compiler/babel-utils").Tag;
    "<script>": import("@marko/compiler/babel-utils").Tag;
    "<server>": import("@marko/compiler/babel-utils").Tag;
    "<static>": import("@marko/compiler/babel-utils").Tag;
    "<style>": import("@marko/compiler/babel-utils").Tag;
    "<try>": import("@marko/compiler/babel-utils").Tag;
})[][];
export declare function getRuntimeEntryFiles(output: Config["output"], optimize: boolean): string[];
export { createInteropTranslator } from "./interop";
declare module "@marko/compiler/dist/types" {
    interface ProgramExtra {
    }
    interface FunctionExpressionExtra {
    }
    interface ArrowFunctionExpressionExtra {
    }
    interface MarkoTagExtra {
    }
    interface MarkoTagBodyExtra {
    }
    interface MarkoAttributeExtra {
    }
    interface MarkoSpreadAttributeExtra {
    }
    interface MarkoPlaceholderExtra {
    }
    interface Program {
        extra: ProgramExtra & NodeExtra;
    }
    interface FunctionDeclaration {
        extra?: FunctionDeclarationExtra & NodeExtra;
    }
    interface FunctionExpression {
        extra?: FunctionExpressionExtra & NodeExtra;
    }
    interface ArrowFunctionExpression {
        extra?: ArrowFunctionExpressionExtra & NodeExtra;
    }
    interface MarkoTag {
        extra?: MarkoTagExtra & NodeExtra;
    }
    interface MarkoTagBody {
        extra?: MarkoTagBodyExtra & NodeExtra;
    }
    interface MarkoAttribute {
        extra?: MarkoAttributeExtra & NodeExtra;
    }
    interface MarkoSpreadAttribute {
        extra?: MarkoSpreadAttributeExtra & NodeExtra;
    }
    interface MarkoPlaceholder {
        extra?: MarkoPlaceholderExtra & NodeExtra;
    }
}
