/** * Validate the project directory argument before template resolution. * * @param projectInput Raw project directory input from the CLI. * @throws Error when the input is empty or points at the current/parent directory. */ export declare function validateCreateProjectInput(projectInput: string): void; /** * Collect warnings for project directory names that are awkward in shells. * * @param projectDir Absolute target project directory. * @returns User-facing warning messages for non-fatal directory concerns. */ export declare function collectProjectDirectoryWarnings(projectDir: string): string[]; /** * Determine whether a template should resolve persistence-related options. * * @param templateId Resolved template id. * @param options Explicit persistence flags provided by the caller. * @returns True when persistence defaults or prompts should be applied. */ export declare function templateUsesPersistenceSettings(templateId: string, options: { dataStorageMode?: string; persistencePolicy?: string; }): boolean; /** * Collect warnings for flags that do not apply to the selected template. * * @param options Template id and raw CLI flags that may be ignored. * @returns User-facing warnings for non-fatal capability mismatches. */ export declare function collectTemplateCapabilityWarnings(options: { queryPostType?: string; templateId: string; withMigrationUi?: boolean; }): string[]; /** * Validate create flags that depend on the selected template capability set. * * @param options Raw create flags plus the resolved template id. * @throws Error when a flag is unsupported for the selected template. */ export declare function validateCreateFlagContract(options: { alternateRenderTargets?: string; dataStorageMode?: string; innerBlocksPreset?: string; persistencePolicy?: string; templateId: string; variant?: string; }): void; /** * Resolve an optional string selection from explicit input, prompts, or defaults. * * @param options Selection configuration including allowed values and prompt hooks. * @returns The resolved value, or undefined when resolution is disabled. * @throws Error when an explicit value is not in the allowed set. */ export declare function resolveOptionalSelection({ defaultValue, explicitValue, isInteractive, isValue, label, allowedValues, select, shouldResolve, yes }: { defaultValue: T; explicitValue?: string; isInteractive: boolean; isValue: (input: string) => input is T; label: string; allowedValues: readonly T[]; select?: () => Promise; shouldResolve?: boolean; yes: boolean; }): Promise; /** * Resolve an optional boolean flag from explicit input, prompts, or defaults. * * @param options Boolean selection configuration and optional prompt hook. * @returns The resolved boolean value. */ export declare function resolveOptionalBooleanFlag({ defaultValue, disabled, explicitValue, isInteractive, select, yes }: { defaultValue?: boolean; disabled?: boolean; explicitValue?: boolean; isInteractive: boolean; select?: () => Promise; yes: boolean; }): Promise;