import { types as t } from "@marko/compiler";
import { type AccessorPrefix } from "../../common/accessor.debug";
import { type Binding } from "./bindings";
import { type Section } from "./sections";
import { type PlaceSlot } from "./slots";
export declare function getSlotAccessor(slot: PlaceSlot): string;
export declare function getScopeOffsetAccessorLiteral(nodeBinding: Binding, encoded?: boolean): t.NumericLiteral | t.StringLiteral;
export declare function getScopeAccessorLiteral(binding: Binding, encoded?: boolean, includeId?: boolean): t.NumericLiteral | t.StringLiteral;
export declare function getScopeAccessor(binding: Binding, encoded?: boolean, includeId?: boolean): string;
export declare function getLocalsScopeAccessor(binding: Binding): string;
export declare function getPrefixedScopeAccessor(binding: Binding, prefix: AccessorPrefix): string;
export declare function getClosureAccessorLiteral(binding: Binding): t.NumericLiteral | t.StringLiteral;
export declare function getSectionInstancesAccessorLiteral(section: Section): t.StringLiteral;
