/**
 * Safety levels for preventing destructive operations.
 *
 * - NONE: No safety restrictions (default)
 * - NO_DELETE: Block DELETE operations only
 * - NO_UPDATE: Block DELETE and destructive operations (reset, stop, restart)
 * - READ_ONLY: Block all write operations (only GET allowed)
 */
export type SafetyLevel = 'NONE' | 'NO_DELETE' | 'NO_UPDATE' | 'READ_ONLY';
export interface SafetyConfig {
    level: SafetyLevel;
}
/**
 * Safety error thrown when an operation is blocked by safety middleware.
 */
export declare class SafetyBlockedError extends Error {
    readonly method: string;
    readonly url: string;
    readonly safetyLevel: SafetyLevel;
    constructor(message: string, method: string, url: string, safetyLevel: SafetyLevel);
}
/**
 * Checks if an HTTP operation should be blocked based on safety configuration.
 *
 * @param method - HTTP method (GET, POST, PUT, PATCH, DELETE)
 * @param url - Request URL
 * @param config - Safety configuration
 * @returns Error message if blocked, undefined if allowed
 */
export declare function checkSafetyViolation(method: string, url: string, config: SafetyConfig): string | undefined;
/**
 * Parse safety level from environment variable.
 *
 * Reads from SFCC_SAFETY_LEVEL. Valid values: NONE, NO_DELETE, NO_UPDATE, READ_ONLY
 * (case-insensitive; dashes converted to underscores). Invalid values are logged
 * as a warning and the default level is returned.
 *
 * @param defaultLevel - Default level if no environment variable is set or value is invalid
 * @returns Parsed safety level
 */
export declare function getSafetyLevel(defaultLevel?: SafetyLevel): SafetyLevel;
/**
 * Get a user-friendly description of the safety level.
 */
export declare function describeSafetyLevel(level: SafetyLevel): string;
