import { types as t } from "@marko/compiler";
import type { Section } from "./sections";
declare const kUidCounts: unique symbol;
declare module "@marko/compiler/dist/types" {
    interface ProgramExtra {
        [kUidCounts]?: Map<string, number>;
    }
}
export declare function generateUid(name?: string): string;
export declare function generateUidIdentifier(name?: string): t.Identifier;
export declare function declareConstBefore(tag: t.NodePath<t.MarkoTag>, name: string, expr: t.Expression): t.Identifier;
export declare function ensureSharedUid(name: string, section?: Section): string;
export declare function hasSharedUid(name: string): boolean;
export {};
