/**
 * Shared Vite + React + TypeScript starter template used by both the desktop
 * "create app" flow and the MCP agent-variants zero-to-one flow. The template
 * is intentionally minimal — just enough scaffolding for `npm run dev` and
 * `npm run build` to succeed before any agent edits land.
 */
export interface TemplateFile {
    relativePath: string;
    contents: string;
}
export interface TemplateBundle {
    files: TemplateFile[];
    devCommand: {
        cmd: string;
        args: string[];
    };
    buildCommand: {
        cmd: string;
        args: string[];
    };
    packageManager: 'npm' | 'yarn' | 'pnpm';
}
export declare const CREATE_APP_TEMPLATE_FILES: TemplateFile[];
export declare const VITE_REACT_TS_TEMPLATE: TemplateBundle;
/**
 * Return true when the destination can receive a generated app.
 *
 * The MCP zero-to-one flow persists artifacts under `.rivet/` before commit,
 * so a destination whose only entry is `.rivet` is still considered empty for
 * the purpose of starting a new session. This matches the commit-time check in
 * `WorktreeOrchestrator.assertDestinationAvailable` so retries on the same
 * path don't fail at create while commit would have proceeded.
 */
export declare const isDestinationEmpty: (destinationPath: string) => boolean;
/**
 * Write the embedded Vite template into the destination folder.
 *
 * @effect Creates directories and writes files at destinationPath
 */
export declare const writeCreateAppTemplate: (destinationPath: string) => void;
/**
 * Write an arbitrary template bundle to a destination directory. Used by the
 * MCP fresh-scaffold flow so callers can pin a specific bundle per worktree.
 *
 * @effect Creates directories and writes files at destinationPath
 */
export declare const writeTemplateBundle: (bundle: TemplateBundle, destinationPath: string) => void;
//# sourceMappingURL=viteReactTs.d.ts.map