/** * starter-config — one host-owned starter configuration model. * * Both no-init analysis (in-memory document) and `opensip init` (YAML header) * consume these pure helpers so host-owned starter semantics stay identical: * canonical language order, the eleven global excludes, and target templates. * * Tool configuration blocks remain Tool-owned (`Tool.scaffoldConfigBlock`) and * are never copied into this model. `@opensip-cli/config` stays generic: it * renders whatever header input the composition root supplies. */ import { type SupportedLanguage } from '../commands/init/language-detection.js'; import type { DocumentHeaderInput, TargetTemplateInput } from '@opensip-cli/config'; /** * Canonical host starter global excludes shared by cache (no-init) and Init. * Order is part of the host contract — both paths project this exact list. */ export declare const STARTER_GLOBAL_EXCLUDES: readonly string[]; /** * Reorder + dedupe a language set into the host canonical starter order * (`ALL_LANGUAGES`). Unknown languages are dropped by construction because the * input type is already `SupportedLanguage`. */ export declare function canonicalStarterLanguages(languages: readonly SupportedLanguage[]): readonly SupportedLanguage[]; /** One named target template for a single supported language. */ export declare function starterTargetTemplate(lang: SupportedLanguage): TargetTemplateInput; /** * Target templates for the given languages, in the order supplied. * Callers that need host-canonical order should pass * {@link canonicalStarterLanguages} first (or use {@link buildStarterDocumentHeaderInput}). */ export declare function starterTargetTemplates(languages: readonly SupportedLanguage[]): readonly TargetTemplateInput[]; /** * Host-owned document header input: schema version, the eleven starter * global excludes, and canonical-order target templates. */ export declare function buildStarterDocumentHeaderInput(languages: readonly SupportedLanguage[]): DocumentHeaderInput; /** * Host-owned in-memory config document projection (schemaVersion + * globalExcludes + targets). Never written to disk by no-init; Init renders * the same semantics as YAML via {@link buildStarterDocumentHeaderInput}. * * Tool namespaces are intentionally absent — they remain Tool-owned and are * either resolved from schema defaults (no-init) or appended as scaffold * blocks (Init). */ export declare function buildStarterConfigDocument(languages: readonly SupportedLanguage[]): Record; //# sourceMappingURL=starter-config.d.ts.map