import type { RawUsageEntry } from '../types/index.js';
export interface ExtractedTokens {
    inputTokens: number;
    outputTokens: number;
    cacheCreationTokens: number;
    cacheReadTokens: number;
    totalTokens: number;
}
export declare class TokenExtractor {
    static extractTokens(data: RawUsageEntry): ExtractedTokens;
    static hasValidTokens(tokens: ExtractedTokens): boolean;
}
export declare class DataConverter {
    static extractModelName(data: RawUsageEntry, defaultModel?: string): string;
    static flattenNestedDict(data: Record<string, unknown>, prefix?: string): Record<string, unknown>;
    static toSerializable<T>(obj: T): unknown;
}
export declare class TimestampProcessor {
    static parseTimestamp(timestampValue: unknown): Date | null;
    static ensureTimezone(date: Date): Date;
}
export declare class MetadataExtractor {
    static extractMessageId(data: RawUsageEntry): string;
    static extractRequestId(data: RawUsageEntry): string;
    static createUniqueId(data: RawUsageEntry): string;
}
//# sourceMappingURL=data-processors.d.ts.map