export declare const CREATE_PROJECT_MANIFEST_SCHEMA_VERSION = 1;
export interface CreateProjectManifestBase {
    schemaVersion: number;
    createdAt: string;
}
export interface CreateProjectManifest extends CreateProjectManifestBase {
    selectedDesignSlug?: string;
    latestVariantSessionId?: string;
    selectedVariantId?: string;
}
export interface CreateProjectVariantSessionManifest extends CreateProjectManifestBase {
    sessionId: string;
    selectedVariantId?: string;
}
export interface CreateProjectVariantManifest extends CreateProjectManifestBase {
    sessionId: string;
    variantId: string;
    variantName?: string;
    variantFolderName?: string;
    selectedVariantId?: string;
    changedFilesCount?: number;
}
export interface CreateProjectDesignManifest extends CreateProjectManifestBase {
    selectedDesignSlug: string;
    sourcePath: string;
}
export declare const createProjectArtifactsPath: (projectPath: string) => string;
export declare const createProjectVariantSlug: (variantName: string) => string;
export declare const createProjectRivetPath: (projectPath: string) => string;
export declare const createProjectManifestPath: (projectPath: string) => string;
export declare const createProjectVariantsPath: (projectPath: string) => string;
export declare const createProjectVariantSessionPath: (projectPath: string, sessionId: string) => string;
export declare const createProjectVariantPath: (projectPath: string, variantFolderName: string) => string;
export declare const createProjectVariantSessionManifestPath: (projectPath: string, sessionId: string) => string;
export declare const createProjectVariantManifestPath: (projectPath: string, variantFolderName: string) => string;
export declare const createProjectVariantBriefPath: (projectPath: string, variantFolderName: string) => string;
export declare const createProjectVariantDiffPath: (projectPath: string, variantFolderName: string) => string;
export declare const createProjectVariantSnapshotPath: (projectPath: string, variantFolderName: string) => string;
export declare const createProjectVariantIndexPath: (projectPath: string, variantFolderName: string) => string;
export declare const createProjectDesignMdPath: (projectPath: string) => string;
export declare const createProjectDesignManifestPath: (projectPath: string) => string;
export declare const createProjectDesignSelectedPath: (projectPath: string) => string;
/**
 * Path to the sibling-history directory that preserves unchosen vite_app
 * variants after a commit, alongside the chosen project. Layout:
 *
 *   <destinationParent>/<slug>/            (chosen project, promoted in place)
 *   <destinationParent>/<slug>-variants/   (history dir — contains 4 unchosen)
 */
export declare const createVariantsHistoryPath: (destinationParent: string, slug: string) => string;
export declare const createVariantsHistoryManifestPath: (destinationParent: string, slug: string) => string;
export interface VariantsHistoryEntry {
    variantId: string;
    label: string;
    slug: string;
    /**
     * Folder name under `<slug>-variants/` for unchosen variants
     * (e.g. `01-carousel-ring`). `null` on the chosen entry — its files live
     * at `<destinationParent>/<slug>/` instead of inside the history dir.
     */
    folder: string | null;
    isChosen: boolean;
    /** Relative path to the chosen project from the history dir, e.g.
     *  `../<slug>`. Only present on the chosen entry. */
    chosenPath?: string;
}
export interface VariantsHistoryManifest extends CreateProjectManifestBase {
    sessionId: string;
    chosenVariantId: string;
    chosenSlug: string;
    variants: VariantsHistoryEntry[];
}
export declare const createProjectManifest: (input: Omit<CreateProjectManifest, "schemaVersion">) => CreateProjectManifest;
/**
 * Write a manifest into the project-local artifact area.
 */
export declare const writeCreateProjectManifestFile: <T extends CreateProjectManifestBase>(manifestPath: string, manifest: T) => void;
//# sourceMappingURL=createProjectArtifacts.d.ts.map