import type { ToolkitOptions, ToolkitResult } from "./lib/types.js"; export interface CreateExtensionOptions extends ToolkitOptions { /** Package name for the new extension */ name: string; /** AbortSignal for cancellation */ signal?: AbortSignal; /** Progress callback for streaming status updates */ onUpdate?: (msg: string) => void; } /** * Create a new Pi extension from the template, or safely update an existing one. * * If the target already has toolkit files (detected via manifest), uses safe update * logic to preserve user modifications. New directories get a full scaffold. * * @returns Structured result with file lists and conflict info. */ export declare function createExtension(templateDir: string, options: CreateExtensionOptions): Promise;