import { type Result } from "../../../utils/result.ts"; /** * Validates a role ID string against naming rules. * * Rules: * - Non-empty * - No `--` (double dash — reserved for parent/child separator) * - No path separators (`/`, `\`) * - Only ASCII alphanumeric + single hyphens + underscores * - Length 1–100 characters * - Auto-lowercase on normalization * * @param input - The raw role ID string to validate. * @returns `ok({ normalized })` with the normalized (lowercased) ID, or * `err(reason)` when a rule is violated. A rejected input carries no * normalized value — callers keep their own input on that path. */ export declare function validateInitRoleId(input: string): Result<{ normalized: string; }, string>; /** * Derives a valid role ID from a directory name. * * - Lowercases the input * - Replaces spaces with single hyphens * - Strips non-ASCII / non-alphanumeric except hyphens and underscores * * @param dirName - The raw directory name. * @returns A sanitized role ID string. */ export declare function deriveRoleId(dirName: string): string; /** * Checks the state of a target directory for role initialization. * * @param targetPath - Absolute path to the target directory. * @returns Object with `exists`, `hasRoleYaml`, and `isEmpty` flags. */ export declare function checkTargetDir(targetPath: string): { exists: boolean; hasRoleYaml: boolean; isEmpty: boolean; }; //# sourceMappingURL=init-utils.d.ts.map