import { ILogger } from './i-logger';
/**
 * Factory for creating loggers
 */
export declare class LoggerFactory {
    /**
     * Create a logger instance
     *
     * @param options Logger options
     * @returns Logger instance
     */
    static createLogger(options?: {
        type?: 'console' | 'winston' | 'pino' | 'silent';
        instance?: any;
        prefix?: string;
    }): ILogger;
    /**
     * Default logger implementation that logs to console
     */
    private static readonly ConsoleLogger;
    /**
     * Silent logger that doesn't log anything
     */
    private static readonly SilentLogger;
    /**
     * Winston adapter for the Nigerian Mobile Validator
     *
     * This class adapts a Winston logger to the ILogger interface.
     *
     * Example usage:
     * ```
     * import winston from 'winston';
     * import { WinstonAdapter } from 'nigerian-mobile-validator';
     *
     * const winstonLogger = winston.createLogger({
     *   level: 'info',
     *   format: winston.format.json(),
     *   transports: [new winston.transports.Console()]
     * });
     *
     * const validator = new NigerianMobileNumberValidator({
     *   logger: new WinstonAdapter(winstonLogger)
     * });
     * ```
     */
    private static readonly WinstonAdapter;
    /**
     * Pino adapter for the Nigerian Mobile Validator
     *
     * This class adapts a Pino logger to the ILogger interface.
     *
     * Example usage:
     * ```
     * import pino from 'pino';
     * import { PinoAdapter } from 'nigerian-mobile-validator';
     *
     * const pinoLogger = pino();
     *
     * const validator = new NigerianMobileNumberValidator({
     *   logger: new PinoAdapter(pinoLogger)
     * });
     * ```
     */
    private static readonly PinoAdapter;
}
/**
 * Set the default logger for the library.
 *
 * @param logger Logger instance
 */
export declare function setDefaultLogger(logger: ILogger): void;
/**
 * Get the default logger for the library. Unless explicitly set, this is the silent logger.
 *
 * @returns Default logger instance
 */
export declare function getDefaultLogger(): ILogger;
