/**
 * Increment ID Validator
 *
 * SECURITY: Centralized validation for increment IDs to prevent path traversal attacks.
 * Increment IDs are used in file paths - malicious IDs like "../../etc/passwd" could
 * escape the .specweave/increments directory.
 *
 * Valid formats:
 * - Standard: NNNN-name (e.g., "0001-feature-name")
 * - External: NNNNE-name (e.g., "0111E-external-import")
 * - Archived: Same as above, stored in _archive/
 *
 * @module utils/increment-id-validator
 */
/**
 * Validates increment ID format to prevent path traversal attacks.
 *
 * @param id - Increment ID to validate
 * @returns true if ID format is valid, false otherwise
 *
 * @example
 * isValidIncrementId('0001-feature-name') // true
 * isValidIncrementId('0111E-external')    // true
 * isValidIncrementId('0001A-hotfix')      // true (alpha suffix)
 * isValidIncrementId('../../etc')         // false (path traversal)
 * isValidIncrementId('')                  // false (empty)
 * isValidIncrementId('001-short')         // false (only 3 digits)
 */
export declare function isValidIncrementId(id: string): boolean;
/**
 * Validates increment ID and throws an error if invalid.
 *
 * Use this in entry points (CLI commands, API handlers) where you want to
 * fail fast with a clear error message.
 *
 * @param id - Increment ID to validate
 * @throws Error if ID format is invalid
 *
 * @example
 * validateIncrementId('0001-feature'); // passes
 * validateIncrementId('../../etc');    // throws Error
 */
export declare function validateIncrementId(id: string): void;
/**
 * Sanitizes an increment ID by extracting just the number prefix.
 * Useful for sorting or comparison operations.
 *
 * @param id - Increment ID to extract number from
 * @returns Numeric prefix (e.g., 1 for "0001-feature") or null if invalid
 *
 * @example
 * extractIncrementNumber('0053-feature')  // 53
 * extractIncrementNumber('0111E-external') // 111
 * extractIncrementNumber('invalid')       // null
 */
export declare function extractIncrementNumber(id: string): number | null;
/**
 * Checks if an increment ID has the external suffix (E).
 *
 * External increments are imported from external tools (GitHub, JIRA, ADO)
 * and have read-only sync behavior.
 *
 * @param id - Increment ID to check
 * @returns true if this is an external increment
 *
 * @example
 * isExternalIncrement('0111E-jira-import') // true
 * isExternalIncrement('0001-feature')      // false
 */
export declare function isExternalIncrement(id: string): boolean;
//# sourceMappingURL=increment-id-validator.d.ts.map