/**
 * Shared factory function for creating log methods with specific levels
 * Used across different logger implementations to reduce code duplication
 */
/**
 * Factory function to create log method with specific level
 * Returns overloaded function matching Logger interface
 *
 * @param logger - The underlying logger instance (Pino, console, etc.)
 * @param level - The log level ('info', 'error', 'warn', etc.)
 * @param options - Optional configuration for the log method
 * @returns An overloaded log method that accepts both string-first and object-first signatures
 */
export declare function createLogMethod<T = any>(logger: T, level: string, options?: {
    contextPrefix?: string;
    consolePrefix?: string;
    consoleMethod?: keyof Console;
    transformArgs?: (args: unknown[], msg?: string) => unknown[];
    transformResult?: (result: any) => void;
}): ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
/**
 * Create a set of log methods for all standard levels
 *
 * @param logger - The underlying logger instance
 * @param options - Optional configuration for all log methods
 * @returns An object containing log methods for all standard levels
 */
export declare function createLogMethods<T = any>(logger: T, options?: {
    contextPrefix?: string;
    transformArgs?: (args: unknown[], level?: string, msg?: string) => unknown[];
    transformResult?: (result: any, level?: string) => void;
    consolePrefix?: string;
    consoleMethod?: keyof Console;
}): {
    fatal: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
    error: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
    warn: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
    info: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
    http: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
    debug: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
    trace: ((msg: string, ...args: unknown[]) => void) & ((obj: object, msg?: string) => void);
};
//# sourceMappingURL=log-method-factory.d.ts.map