import type { BindingTemplateJqOption, BindingTemplateOption } from './types'; /** One template jq of an attached template, resolved to the reference a binding stores. */ export interface ResolvedTemplateJq extends BindingTemplateJqOption { /** The owning template. */ readonly template: string; /** The reference a binding writes: `name`, or `template.name` when ambiguous. */ readonly ref: string; } /** * Every template jq the given attached templates offer for a purpose (or all * purposes when `purpose` is omitted), each carrying the reference a binding stores. */ export declare function resolveTemplateJq(templateNames: readonly string[], catalog: readonly BindingTemplateOption[], purpose?: 'input' | 'update'): ResolvedTemplateJq[]; /** Find one resolved template jq by the reference a binding stores. */ export declare function findByRef(ref: string, resolved: readonly ResolvedTemplateJq[]): ResolvedTemplateJq | undefined; /** * Resolve a jq call name (`enc(template)__name`, or a bare `name`) back to the catalog * ref, driven by the catalog — never by string splitting, since a jq name may carry its * own `__` past the template boundary and `enc` maps `-`→`_`. Under the template-slug * invariant (no consecutive/trailing hyphens ⇒ `enc(template)` has no `__` and no * trailing `_`) the FIRST `__` is the one true boundary, so the longest encoded-template * prefix whose remainder is a jq the template declares is the unique qualified match; * failing that, a bare name a single template declares. `null` when nothing claims it. */ export declare function resolveCallName(callName: string, catalog: readonly BindingTemplateOption[]): string | null; //# sourceMappingURL=catalog.d.ts.map