/**
 * Service augment composer.
 *
 * Applies a selection of service augments to a scaffolded project:
 *
 *  1. Copies whole files owned by the service into the project tree.
 *  2. Merges package.json (deps, devDeps, scripts) and .env.example.
 *  3. Injects a services checklist into the landing page.
 *
 * The checklist marker `@agentuity:services-checklist` is a single
 * line in the framework's page template. When services are selected,
 * the marker is replaced with a styled checklist showing which
 * services were set up. When no services are selected, the marker
 * line is simply removed.
 *
 * Service order is fixed by the catalog (see services-catalog.ts).
 * `composeServices` will internally re-sort the requested selection so
 * the output is deterministic regardless of how the caller picked.
 */
import type { Logger } from '@agentuity/core';
export interface ComposeOptions {
    /** Absolute path to the scaffolded project. */
    dest: string;
    /** Framework slug; matches a directory under templates/. Unknown
     * slugs are treated as "no manifest" and the composer is a no-op for
     * them, which lets template-flow call composeServices unconditionally
     * during the rollout to all frameworks. */
    framework: string;
    /** Selected service ids (will be expanded with `requires` and reordered). */
    selectedServices: string[];
    logger: Logger;
    /**
     * Override the templates root directory. Tests use this to point the
     * composer at a synthetic templates tree. Production callers leave it
     * unset; the composer resolves the bundled templates dir.
     */
    templatesRoot?: string;
}
/**
 * Apply selected service augments to the project at `dest`.
 *
 * Idempotent in the file-copy step (rerunning overwrites with the same
 * content) but NOT in the checklist-injection step — the marker gets
 * stripped after composition, so a second run finds nothing to inject.
 * Don't run twice.
 */
export declare function composeServices(opts: ComposeOptions): Promise<void>;
//# sourceMappingURL=services-composer.d.ts.map