/** * Parse top-level generic/template arguments from a type-like string. * * Examples: * - `List` -> ['int'] * - `Map>` -> ['string', 'vector'] * - `List` -> ['T*'] */ export declare function extractTemplateArguments(text: string): string[] | undefined; export declare function stripTemplateArguments(text: string): string; export declare function templateArgumentsIdTag(templateArguments?: readonly string[]): string; /** * Stable short hash for the opaque `SymbolDefinition.templateConstraints` * payload (issue #1579). Two function-template overloads with identical * `parameterTypes` but mutually-exclusive SFINAE constraints * (`enable_if_t>` vs `enable_if_t>`) * must produce distinct graph node IDs so the constraint-filter step * has two candidates to narrow between. Without this they collapse to * a single Function node and the SFINAE golden case can only emit one * edge regardless of resolver fixes. * * FNV-1a 32-bit, base36 encoded. Deterministic; non-cryptographic — the * tag's job is collision-avoidance among same-name overloads in one * file, not security. */ export declare function constraintsHash(jsonText: string): string; /** Build the `~c:` ID suffix from an opaque constraint payload. * Returns empty string when the payload is absent so callers can * string-concatenate unconditionally. */ export declare function templateConstraintsIdTag(payload: unknown): string;