import { types as t } from "@marko/compiler";
import { type BindingPropTree } from "../../util/binding-prop-tree";
import { preAnalyze } from "./pre-analyze";
export declare let scopeIdentifier: t.Identifier;
export declare function isScopeIdentifier(node: t.Node): node is t.Identifier;
declare module "@marko/compiler/dist/types" {
    interface ProgramExtra {
        domExports?: {
            template: string;
            walks: string;
            setup: string;
            params: BindingPropTree | undefined;
        };
    }
}
declare const _default: {
    migrate: {
        enter(this: unknown, program: t.NodePath<t.Program>): void;
        exit(this: unknown, program: t.NodePath<t.Program>): void;
    };
    transform: {
        exit: typeof preAnalyze;
    };
    analyze: {
        enter(this: unknown, program: t.NodePath<t.Program>): void;
        exit(this: unknown, program: t.NodePath<t.Program>): void;
    };
    translate: {
        enter(this: unknown, program: t.NodePath<t.Program>): void;
        exit(this: unknown, program: t.NodePath<t.Program>): void;
    };
};
export default _default;
