import type { Declarable } from "./declarable.js"; import { AttrRef } from "./attrref.js"; /** * Symbol for storing logical names on Declarable entities */ export declare const LOGICAL_NAME_SYMBOL: unique symbol; /** * Duck-type check for AttrRef that survives the dual-package hazard. * When npm installs separate copies of @intentius/chant (one for the CLI, * one for the lexicon), `instanceof AttrRef` fails across package boundaries. */ export declare function isAttrRefLike(value: unknown): value is AttrRef; /** * JSON.stringify replacer that sorts object keys for deterministic output. */ export declare function sortedJsonReplacer(_key: string, value: unknown): unknown; /** * Get all property names that have AttrRef values * @param entity - The declarable entity to inspect * @returns Array of property names with AttrRef values */ export declare function getAttributes(entity: Declarable): string[]; /** * Get the logical name stored on a Declarable entity * @param entity - The declarable entity * @returns The logical name * @throws {Error} If logical name is not set */ export declare function getLogicalName(entity: Declarable): string; //# sourceMappingURL=utils.d.ts.map