import { Middleware, MiddlewareContext, RequestDirective } from "../types/Middleware.js";
import { ChatResponseString } from "../chat/ChatResponse.js";
export interface UsageLoggerOptions {
    /**
     * Optional custom logger function. Defaults to internal NodeLLM logger.
     */
    logger?: (message: string, data: any) => void;
    /**
     * Prefix for the log message.
     */
    prefix?: string;
}
/**
 * Middleware that logs token usage and costs for every successful request.
 */
export declare class UsageLoggerMiddleware implements Middleware {
    private options;
    readonly name = "UsageLogger";
    constructor(options?: UsageLoggerOptions);
    onResponse(ctx: MiddlewareContext, result: ChatResponseString): Promise<RequestDirective>;
}
/**
 * Factory function for creating the usage logger middleware.
 */
export declare function UsageLogger(options?: UsageLoggerOptions): UsageLoggerMiddleware;
//# sourceMappingURL=UsageLoggerMiddleware.d.ts.map