import Debug from "debug"; /** * Creates a namespaced debug logger with a padded label for aligned output. * * Namespaces shorter than `NAMESPACE_PAD` are right-padded with spaces so * that log messages from different loggers line up in the terminal: * * tester:navigate Navigating to URL: "/" * tester:interact Clicking on "submitButton" in "FormsPage" * tester:verify Verifying presence of "table" in "FormsPage" * tester:wait Waiting for "modal" in "FormsPage" to be "visible" * * @param namespace - A colon-delimited scope appended to the library prefix. * Examples: 'navigate', 'interact', 'verify', 'wait' * @returns A `debug` instance bound to `tester:` (padded). * * @example * ```ts * import { createLogger } from '../logger/Logger'; * * const log = createLogger('interact'); * log('Clicking on "%s" in "%s"', elementName, pageName); * ``` */ export declare function createLogger(namespace: string): Debug.Debugger; /** * Creates a color-coded namespaced logger for a given log level. * * Wraps {@link createLogger} and assigns a fixed terminal color to each * level so log output is visually distinct at a glance: * * | Level | Color | * |-------------|--------| * | `info` | Blue | * | `warn` | Amber | * | `error` | Red | * | `success` | Green | * | `important` | Purple | * * @param type - The log level / namespace. One of `'info'`, `'warn'`, * `'error'`, `'success'`, or `'important'`. * @returns A `debug` instance with a pre-assigned color for that level. * * @example * ```ts * import { logger } from '../logger/Logger'; * * const log = logger('warn'); * log('Element "%s" was not visible, retrying...', elementName); * ``` */ export declare const logger: (type: string) => Debug.Debugger; /** * Pre-instantiated, color-coded loggers for standard execution events. * * @example * ```ts * import { log } from '../logger/Logger'; * * log.info('Starting up...'); * log.warn('Retrying connection...'); * log.success('Data loaded successfully'); * ``` */ export declare const log: { /** * Standard informational logger (Blue). * Use this for general execution steps and state changes. */ info: Debug.Debugger; /** * Warning logger (Amber). * Use this for non-fatal issues, retries, or deprecations. */ warn: Debug.Debugger; /** * Error logger (Red). * Use this for critical failures, exceptions, or timeouts. */ error: Debug.Debugger; /** * Success logger (Green). * Use this for passing assertions or completed milestones. */ success: Debug.Debugger; /** * Important/Highlight logger (Purple). * Use this to draw attention to major lifecycle events or critical data dumps. */ important: Debug.Debugger; }; /** * Domain-sliced loggers for the Steps API. Each key corresponds to a * conceptual area — importers should pick the one that matches what they're * reporting. Centralized here so splits of `Steps` into semantic facades don't * each redeclare the same namespaces. * * @example * ```ts * import { stepLog } from '../logger/Logger'; * stepLog.interact('Clicking on "%s" in "%s"', elementName, pageName); * ``` */ export declare const stepLog: { navigate: Debug.Debugger; interact: Debug.Debugger; extract: Debug.Debugger; verify: Debug.Debugger; email: Debug.Debugger; api: Debug.Debugger; sql: Debug.Debugger; wait: Debug.Debugger; };