/** * Native module loader for Rust core * * Loads the native binary from npm package @starknetid/vibetracking-core * which uses optional dependencies for platform-specific binaries. */ import type { TokenContributionData, SourceType } from "./graph-types.js"; /** * Initialize the native module from npm package * Must be called before using any native functions */ export declare function initNativeModule(): Promise; /** * Check if native module is available */ export declare function isNativeAvailable(): boolean; /** * Get native module version */ export declare function getNativeVersion(): string | null; export interface ModelUsage { source: string; model: string; provider: string; input: number; output: number; cacheRead: number; cacheWrite: number; reasoning: number; messageCount: number; cost: number; } export interface ModelReport { entries: ModelUsage[]; totalInput: number; totalOutput: number; totalCacheRead: number; totalCacheWrite: number; totalMessages: number; totalCost: number; processingTimeMs: number; } export interface MonthlyUsage { month: string; models: string[]; input: number; output: number; cacheRead: number; cacheWrite: number; messageCount: number; cost: number; } export interface MonthlyReport { entries: MonthlyUsage[]; totalCost: number; processingTimeMs: number; } export interface ParsedMessages { messages: Array<{ source: string; modelId: string; providerId: string; timestamp: number; date: string; input: number; output: number; cacheRead: number; cacheWrite: number; reasoning: number; sessionId: string; agent?: string; }>; opencodeCount: number; claudeCount: number; codexCount: number; geminiCount: number; ampCount: number; droidCount: number; openclawCount: number; processingTimeMs: number; } export interface LocalParseOptions { sources?: SourceType[]; since?: string; until?: string; year?: string; } export interface FinalizeOptions { localMessages: ParsedMessages; includeCursor: boolean; since?: string; until?: string; year?: string; } export declare function parseLocalSourcesAsync(options: LocalParseOptions): Promise; export declare function finalizeReportAsync(options: FinalizeOptions): Promise; export declare function finalizeMonthlyReportAsync(options: FinalizeOptions): Promise; export declare function finalizeGraphAsync(options: FinalizeOptions): Promise; export interface ReportAndGraph { report: ModelReport; graph: TokenContributionData; } export declare function finalizeReportAndGraphAsync(options: FinalizeOptions): Promise; //# sourceMappingURL=native.d.ts.map