/**
 * Project-Local Bundle Scaffolding
 *
 * Creates a complete `.aiwg/<type>/<name>/` bundle with a valid manifest,
 * a starter artifact (skill or rule), and a README that includes the
 * identical-form portability reminder.
 *
 * The output is byte-identical-shaped to upstream addon directories so
 * `aiwg promote` can graduate it without any rewrite.
 *
 * @design @.aiwg/architecture/adr-identical-form-portability.md (#1038)
 * @implements #1050
 */
import type { ProjectLocalType } from './manifest.js';
export type StarterKind = 'skill' | 'rule' | 'agent' | 'minimal';
export interface ScaffoldOptions {
    /** Bundle directory type. */
    type: ProjectLocalType;
    /** Bundle id (kebab-case, no leading/trailing hyphen). */
    name: string;
    /** Free-text human description. */
    description?: string;
    /** What starter artifact to drop in. Defaults to 'skill' for addon/extension; 'minimal' otherwise. */
    starter?: StarterKind;
    /** Project root. Defaults to process.cwd(). */
    projectDir?: string;
    /** Refuse to overwrite an existing bundle. Default true. */
    refuseOnExists?: boolean;
    /** Preview only — compute the file list without writing. Default false. */
    dryRun?: boolean;
}
export interface ScaffoldResult {
    /** Absolute path to the new bundle. */
    bundlePath: string;
    /** Files created (relative to bundle). For dry-run, files that WOULD be created. */
    filesCreated: string[];
    /** True when nothing was written because the bundle already exists. */
    alreadyExists: boolean;
    /** True when no files were written because dryRun was set. */
    dryRun?: boolean;
}
export declare function scaffoldProjectLocalBundle(options: ScaffoldOptions): Promise<ScaffoldResult>;
//# sourceMappingURL=project-local-scaffold.d.ts.map