import type { When, PatternPermission, NormalizedWhenFn, Role } from './types'; export declare const isGlob: (value: unknown) => value is string; /** * Determines if the current environment supports ANSI color codes. * * Detection logic (in priority order): * 1. If FORCE_COLOR is set to truthy value → return true * 2. If NO_COLOR is set to any value → return false * 3. If process.stdout.isTTY is false or undefined → return false * 4. If in known CI environment with color support → return true * 5. If process.stdout.isTTY is true → return true * 6. Default → return false * * The result is cached to avoid repeated environment checks. */ export declare const supportsColor: () => boolean; /** * Conditionally applies ANSI color codes to text based on color support. * * @param text - The text to potentially colorize * @param colorCode - The ANSI color code (e.g., "1;32" for bright green) * @param enabled - Whether color support is enabled * @returns Formatted text with ANSI codes when enabled, plain text otherwise */ export declare const colorize: (text: string, colorCode: string, enabled: boolean) => string; export declare const underline: () => string; export declare const defaultLogger: (role: string, operation: string | RegExp, result: boolean, colorsEnabled?: boolean) => void; export declare const normalizeWhen:

(when: When

| true) => NormalizedWhenFn

| true; export declare const regexFromOperation: (value: string | RegExp) => RegExp | null; export declare const globToRegex: (glob: string | string[]) => RegExp; export declare const hasMatchingOperation: (regex: RegExp, names: string[]) => boolean; export declare const buildPermissionData:

(permissions: Role

["can"]) => { direct: Set; conditional: Map>; patterns: PatternPermission

[]; all: string[]; }; export type { When, WhenCallback, PatternPermission } from './types';