/**
 * Debug logging utility for Selvedge
 *
 * Provides a centralized way to manage debug logging across the library.
 */
export interface DebugConfig {
    enabled: boolean;
    namespaces: Record<string, boolean>;
}
/**
 * Log a debug message if debugging is enabled for the given namespace
 *
 * @param namespace - The debug namespace (e.g., 'program', 'persistence')
 * @param message - The message to log
 * @param args - Additional arguments to log
 */
export declare function debug(namespace: string, message: string, ...args: any[]): void;
/**
 * Enable or disable debugging globally
 *
 * @param enabled - Whether debugging should be enabled
 */
export declare function enableDebug(enabled: boolean): void;
/**
 * Enable or disable debugging for a specific namespace
 *
 * @param namespace - The namespace to configure
 * @param enabled - Whether debugging should be enabled for this namespace
 */
export declare function enableNamespace(namespace: string, enabled: boolean): void;
/**
 * Enable debugging for all namespaces
 */
export declare function enableAllNamespaces(): void;
/**
 * Parse a debug string (e.g., 'program,persistence') and enable those namespaces
 *
 * @param debugString - Comma-separated list of namespaces to enable
 */
export declare function parseDebugString(debugString: string): void;
//# sourceMappingURL=debug.d.ts.map