import { DamlTestingCatalog } from "../daml/daml-testing-catalog.js"; import type { TemplateId } from "../../query/model-types.js"; export interface TemplateTarget { readonly allChoices?: true; readonly actors: readonly string[]; readonly choices: readonly string[]; readonly kind: "template"; readonly templateId: TemplateId; } export interface TemplateCreateTarget { readonly actors: readonly string[]; readonly kind: "template-create"; readonly templateId: TemplateId; } export interface ExcludedChoiceTarget { readonly choice: string; readonly kind: "exclude-choice"; readonly templateId: TemplateId; } export interface ExcludedTemplateTarget { readonly kind: "exclude-template"; readonly templateId: TemplateId; } export interface TemplateTargetBuilder { allChoices(): TemplateTarget; actors(actors: readonly string[]): TemplateTargetBuilder; choice(choice: string): TemplateTarget; create(): TemplateCreateTarget; } export interface ResolvedDeclarativeChoiceTarget { readonly actors: readonly string[]; readonly choice: string; readonly key: string; readonly templateId: TemplateId; } export interface ResolvedDeclarativeCreateTarget { readonly actors: readonly string[]; readonly key: string; readonly kind: "create"; readonly templateId: TemplateId; } export type ResolvedDeclarativeTarget = ResolvedDeclarativeChoiceTarget | ResolvedDeclarativeCreateTarget; export declare function targetTemplate(templateId: TemplateId): TemplateTargetBuilder; /** Builds one immutable declarative template-choice target without a builder chain. */ export declare function targetChoice(templateId: TemplateId, choice: string, actors: readonly string[]): TemplateTarget; /** Builds one immutable declarative contract-create target without a builder chain. */ export declare function targetCreate(templateId: TemplateId, actors: readonly string[]): TemplateCreateTarget; export declare function excludeChoice(templateId: TemplateId, choice: string): ExcludedChoiceTarget; export declare function excludeTemplate(templateId: TemplateId): ExcludedTemplateTarget; export declare function resolveDeclarativeTargets(catalog: DamlTestingCatalog, descriptors: readonly (TemplateTarget | TemplateCreateTarget | ExcludedChoiceTarget | ExcludedTemplateTarget)[]): readonly ResolvedDeclarativeTarget[];