import { type RunAddBindingSourceCommandOptions } from './cli-add-shared.js'; /** * Add one block binding source scaffold to an official workspace project. * * @param options Command options for the binding-source scaffold workflow. * @param options.attributeName Optional generated block attribute to declare as * bindable. Must be provided together with `blockName`. * @param options.blockName Optional generated block slug or full block name to * receive the bindable attribute wiring. Must be provided together with * `attributeName`. * @param options.bindingSourceName Human-entered binding source name that will * be normalized and validated before files are written. * @param options.cwd Working directory used to resolve the nearest official * workspace. Defaults to `process.cwd()`. * @param options.metaPath Optional top-level post-meta field used as the * binding source's default `field` arg. Requires `postMetaName`. * @param options.postMetaName Optional generated post-meta contract slug used * to back the binding source with `get_post_meta()`. * @returns A promise that resolves with the normalized `bindingSourceSlug` and * owning `projectDir` after the server/editor files, optional target block * metadata, and inventory entry have been written successfully. Post-meta * backed results additionally include `metaKey`, `metaPath`, `postMetaSlug`, * `postType`, and `schemaFile`. * @throws {Error} When the command is run outside an official workspace, when * the slug is invalid, when a binding target is incomplete or unknown, or when * a conflicting file or inventory entry exists. Post-meta backed runs also * throw when the referenced contract or requested top-level field cannot be * resolved. */ export declare function runAddBindingSourceCommand({ attributeName, bindingSourceName, blockName, cwd, metaPath, postMetaName }: RunAddBindingSourceCommandOptions): Promise<{ attributeName?: string; bindingSourceSlug: string; blockSlug?: string; metaKey?: string; metaPath?: string; postMetaSlug?: string; postType?: string; projectDir: string; schemaFile?: string; }>;