import { IExecuteFunctions } from 'n8n-workflow';
/**
 * Extract parsed output from output parser
 */
export declare function extractParsedOutput(ctx: IExecuteFunctions, outputParser: any, rawOutput: string): Promise<any>;
/**
 * Retry mechanism for operations
 */
export declare function retryOperation<T>(operation: () => Promise<T>, maxRetries?: number, delay?: number, backoff?: number): Promise<T>;
/**
 * Timeout wrapper for promises
 */
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T>;
/**
 * Safe JSON parsing with fallback
 */
export declare function safeJsonParse(jsonString: string, fallback?: any): any;
/**
 * Deep clone object
 */
export declare function deepClone<T>(obj: T): T;
/**
 * Sanitize string for safe usage
 */
export declare function sanitizeString(input: string, maxLength?: number): string;
/**
 * Format error for logging
 */
export declare function formatError(error: unknown): {
    message: string;
    stack?: string;
    name?: string;
};
/**
 * Check if value is empty (null, undefined, empty string, empty array, empty object)
 */
export declare function isEmpty(value: any): boolean;
/**
 * Generate unique ID
 */
export declare function generateId(prefix?: string): string;
/**
 * Debounce function
 */
export declare function debounce<T extends (...args: any[]) => any>(func: T, delay: number): (...args: Parameters<T>) => void;
/**
 * Throttle function
 */
export declare function throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
/**
 * Convert bytes to human readable format
 */
export declare function formatBytes(bytes: number, decimals?: number): string;
/**
 * Convert milliseconds to human readable duration
 */
export declare function formatDuration(ms: number): string;
/**
 * Validate URL format
 */
export declare function isValidUrl(url: string): boolean;
/**
 * Extract domain from URL
 */
export declare function extractDomain(url: string): string | null;
/**
 * Merge objects deeply
 */
export declare function mergeDeep(target: any, source: any): any;
/**
 * Create a promise that resolves after specified delay
 */
export declare function delay(ms: number): Promise<void>;
/**
 * Convert string to camelCase
 */
export declare function toCamelCase(str: string): string;
/**
 * Convert string to snake_case
 */
export declare function toSnakeCase(str: string): string;
/**
 * Truncate text with ellipsis
 */
export declare function truncateText(text: string, maxLength: number, ellipsis?: string): string;
/**
 * Check if running in development mode
 */
export declare function isDevelopment(): boolean;
/**
 * Safe property access with default value
 */
export declare function getProp<T>(obj: any, path: string, defaultValue: T): T;
//# sourceMappingURL=utils.d.ts.map