import type { WorkspaceInventory } from '../workspace/workspace-inventory.js'; type ScaffoldFilesystemCollision = { label: string; relativePath: string; }; type ScaffoldInventoryCollision = { entries: readonly TEntry[]; exists: (entry: TEntry) => boolean; message: string; }; /** * Ensure scaffold targets do not already exist on disk or in workspace inventory. * * @param options Collision checks to run before writing scaffold files. * @throws {Error} When a filesystem path or inventory entry already exists. */ export declare function assertScaffoldDoesNotExist(options: { projectDir: string; filesystemCollisions: readonly ScaffoldFilesystemCollision[]; inventoryCollision?: ScaffoldInventoryCollision; }): void; /** * Ensure a block variation scaffold does not already exist. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param blockSlug Existing workspace block slug that owns the variation. * @param variationSlug Normalized variation slug that would be created. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When the variation file or inventory entry already exists. */ export declare function assertVariationDoesNotExist(projectDir: string, blockSlug: string, variationSlug: string, inventory: WorkspaceInventory): void; /** * Ensure a block style scaffold does not already exist. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param blockSlug Existing workspace block slug that owns the style. * @param styleSlug Normalized style slug that would be created. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When the style file or inventory entry already exists. */ export declare function assertBlockStyleDoesNotExist(projectDir: string, blockSlug: string, styleSlug: string, inventory: WorkspaceInventory): void; /** * Ensure a block transform scaffold does not already exist. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param blockSlug Existing workspace block slug that owns the transform. * @param transformSlug Normalized transform slug that would be created. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When the transform file or inventory entry already exists. */ export declare function assertBlockTransformDoesNotExist(projectDir: string, blockSlug: string, transformSlug: string, inventory: WorkspaceInventory): void; /** * Ensure a pattern scaffold does not already exist on disk or in inventory. * * Delegates filesystem and inventory checks to `assertScaffoldDoesNotExist`. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param patternSlug Normalized pattern slug that would be created. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When the pattern file or inventory entry already exists. */ export declare function assertPatternDoesNotExist(projectDir: string, patternSlug: string, inventory: WorkspaceInventory): void; /** * Ensure a binding source scaffold does not already exist on disk or in inventory. * * Delegates filesystem and inventory checks to `assertScaffoldDoesNotExist`. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param bindingSourceSlug Normalized binding source slug that would be created. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When the binding directory or inventory entry already exists. */ export declare function assertBindingSourceDoesNotExist(projectDir: string, bindingSourceSlug: string, inventory: WorkspaceInventory): void; /** * Ensure a REST resource scaffold does not already exist on disk or in inventory. * * Delegates filesystem and inventory checks to `assertScaffoldDoesNotExist`. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param restResourceSlug Normalized REST resource slug that would be created. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When REST resource files or inventory entry already exist. */ export declare function assertRestResourceDoesNotExist(projectDir: string, restResourceSlug: string, inventory: WorkspaceInventory): void; /** * Ensure a post-meta contract scaffold does not already exist on disk or in * inventory. * * Also prevents accidentally registering the same meta key for the same post * type through a second generated contract. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param postMetaSlug Normalized post-meta contract slug. * @param postType WordPress post type scope. * @param metaKey WordPress meta key. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When post-meta files or inventory entries already exist. */ export declare function assertPostMetaDoesNotExist(projectDir: string, postMetaSlug: string, postType: string, metaKey: string, inventory: WorkspaceInventory): void; /** * Ensure a standalone contract scaffold does not already exist on disk or in * inventory. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param contractSlug Normalized contract slug that would be created. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When contract files or inventory entry already exist. */ export declare function assertContractDoesNotExist(projectDir: string, contractSlug: string, inventory: WorkspaceInventory): void; /** * Ensure a DataViews admin screen scaffold does not already exist on disk or in * the workspace inventory. * * @param projectDir Workspace root directory. * @param adminViewSlug Normalized admin screen slug. * @param inventory Parsed workspace inventory. * @throws {Error} When the directory, PHP bootstrap, or inventory entry already exists. */ export declare function assertAdminViewDoesNotExist(projectDir: string, adminViewSlug: string, inventory: WorkspaceInventory): void; /** * Ensure a workflow ability scaffold does not already exist on disk or in the * workspace inventory. * * The check covers the generated `src/abilities/` directory, * `inc/abilities/.php`, and any matching `inventory.abilities` entry. * * @param projectDir Workspace root directory. * @param abilitySlug Normalized workflow ability slug. * @param inventory Parsed workspace inventory. * @throws {Error} When the ability directory, PHP bootstrap, or inventory entry already exists. */ export declare function assertAbilityDoesNotExist(projectDir: string, abilitySlug: string, inventory: WorkspaceInventory): void; /** * Ensure an AI feature scaffold does not already exist on disk or in inventory. * * Delegates filesystem and inventory checks to `assertScaffoldDoesNotExist`. * * @param projectDir Absolute workspace root used to resolve scaffold paths. * @param aiFeatureSlug Normalized AI feature slug that would be created. * @param inventory Current workspace inventory used for duplicate detection. * @throws {Error} When AI feature files or inventory entry already exist. */ export declare function assertAiFeatureDoesNotExist(projectDir: string, aiFeatureSlug: string, inventory: WorkspaceInventory): void; /** * Ensure an editor plugin scaffold does not already exist on disk or in the * workspace inventory. * * @param projectDir Workspace root directory. * @param editorPluginSlug Normalized editor plugin slug. * @param inventory Parsed workspace inventory. * @throws {Error} When the directory or inventory entry already exists. */ export declare function assertEditorPluginDoesNotExist(projectDir: string, editorPluginSlug: string, inventory: WorkspaceInventory): void; export {};