export interface CopyPublicAssetsOptions {
    /** Project root — the parent of the `quickback/` folder. */
    projectRoot: string;
    /** Output root — where `src/` lives. Usually equals projectRoot. */
    outputDir: string;
    /** Paths the compiler is writing this run, relative to outputDir. */
    manifestPaths: Iterable<string>;
}
export interface CopyPublicAssetsResult {
    /** Number of files copied. Zero when the folder is missing or empty. */
    copied: number;
    /** Absolute path of the source folder, for logging — undefined when missing. */
    sourceDir?: string;
    /** Final destination paths, relative to outputDir. */
    destPaths: string[];
}
export declare class PublicAssetCollisionError extends Error {
    readonly collisions: Array<{
        publicPath: string;
        manifestPath: string;
    }>;
    constructor(collisions: Array<{
        publicPath: string;
        manifestPath: string;
    }>);
}
/**
 * Copy `<projectRoot>/quickback/public/**` into `<outputDir>/src/apps/**`.
 *
 * Returns `{ copied: 0 }` when the source folder is absent — public/ is
 * an opt-in convention, not a required directory.
 */
export declare function copyPublicAssets(options: CopyPublicAssetsOptions): Promise<CopyPublicAssetsResult>;
//# sourceMappingURL=copy-public-assets.d.ts.map