/**
 * Framework scaffolding and augmentation.
 *
 * Replaces the old template download system. Instead of maintaining
 * custom templates, we run the framework's official create CLI and
 * then augment the result with Agentuity integration.
 */
import type { Logger } from '@agentuity/core';
import type { PackageManager } from '../build/detect/types.ts';
import type { FrameworkScaffold } from './frameworks.ts';
interface ScaffoldOptions {
    /** Absolute path to the target directory */
    dest: string;
    /** The directory name (for display) */
    dirName: string;
    /** Selected framework */
    framework: FrameworkScaffold;
    /** Whether to include AI example */
    includeAiExample: boolean;
    /** Package manager to drive the framework's create command. */
    packageManager: PackageManager;
    /** Logger */
    logger: Logger;
}
interface SetupOptions {
    /** Absolute path to the project directory */
    dest: string;
    /** Human-readable project name */
    projectName: string;
    /** Whether to skip the post-scaffold install step. */
    noInstall: boolean;
    /** Package manager to use when re-running install after augments. */
    packageManager: PackageManager;
    /** Logger */
    logger: Logger;
}
/**
 * Run the framework's official create CLI to scaffold the project.
 */
export declare function scaffoldFramework(options: ScaffoldOptions): Promise<void>;
/**
 * Set up the project after scaffolding: install deps, generate docs.
 */
export declare function setupProject(options: SetupOptions): Promise<{
    success: boolean;
}>;
interface InitGitRepoOptions {
    /** Project name (e.g. "My App") */
    projectName?: string;
    /** Where the project came from (e.g. "Next.js") */
    source?: string;
    /** Git commit author */
    author?: {
        name: string;
        email: string;
    };
}
interface CommitAgentuityAugmentationOptions {
    /** Selected service ids included in the Agentuity example augmentation. */
    services: string[];
    /** Git commit author */
    author?: {
        name: string;
        email: string;
    };
}
/**
 * Commit Agentuity augmentation changes when the framework scaffold already
 * created a git repository. Many official framework CLIs create an initial
 * commit before our overlays and service examples are applied; without this
 * follow-up commit those generated changes are left in the user's worktree.
 */
export declare function commitAgentuityAugmentation(dest: string, options: CommitAgentuityAugmentationOptions): Promise<void>;
/**
 * Initialize a git repository and create the initial commit.
 */
export declare function initGitRepo(dest: string, options?: InitGitRepoOptions): Promise<void>;
export {};
//# sourceMappingURL=scaffold.d.ts.map