// Type definitions
interface DebugOptions {
    namespaces?: string;
    spinner?: {
        isSpinning: boolean;
        stop(): void;
        start(): void;
    };
    [key: string]: unknown;
}
type NamespacesOrOptions = string | DebugOptions;
interface InspectOptions {
    depth?: number | null;
    colors?: boolean;
    [key: string]: unknown;
}
export type { DebugOptions, NamespacesOrOptions, InspectOptions };
/**
 * Debug output for object inspection.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
declare function debugDirNs(namespacesOrOpts: any, obj: any, inspectOpts?: any): void;
/**
 * Debug output with function name prefix.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
declare function debugFnNs(namespacesOrOpts: NamespacesOrOptions, ...args: any[]): void;
/* c8 ignore stop */
/**
 * Debug logging function.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
declare function debugLogNs(namespacesOrOpts: any, ...args: any[]): void;
/* c8 ignore stop */
/**
 * Check if debug mode is enabled.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
declare function isDebugNs(namespaces: any): boolean;
/* c8 ignore stop */
/**
 * Simple debug check based on DEBUG environment variable.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
export declare function isDebugSimple(): boolean;
/* c8 ignore stop */
/**
 * Simple debug log that logs to console when DEBUG is set.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
export declare function debugLogSimple(...args: any[]): void;
/* c8 ignore stop */
/**
 * Simple debug dir that logs object to console when DEBUG is set.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
export declare function debugDirSimple(obj: any, options?: any): void;
export declare function debugFnSimple(namespace: any): {
    (...args: any[]): void;
    enabled: boolean;
};
/* c8 ignore stop */
/**
 * Create a debug logger similar to util.debuglog.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
export declare function debuglog(section: any): (...args: any[]) => void;
/* c8 ignore stop */
/**
 * Create a debug timer.
 */
/*@__NO_SIDE_EFFECTS__*/
/* c8 ignore start - Debug utilities only used in development. */
export declare function debugtime(section: any): {
    (label: any): void;
    start: (label: any) => void;
    end: (label: any) => void;
};
/* c8 ignore stop */
// Export aliases for compatibility.
export { debugDirSimple as debugDir };
export { debugDirNs };
export { debugFnSimple as debugFn };
export { debugFnNs };
export { debugLogSimple as debugLog };
export { debugLogNs };
export { isDebugSimple as isDebug };
export { isDebugNs };
