import { CustomFetch, TodoistApi } from '@doist/todoist-sdk';
declare const TODOIST_AI_VERSION: string;
type UsageTrackingConfig = {
    enabled?: boolean;
    platform?: string;
    sessionId?: string;
};
type DispatcherModule = {
    getDefaultDispatcher: () => Promise<unknown | undefined>;
};
export declare function normalizeUsageLabel(label: string): string;
export declare function runWithUsageTrackingContext<T>(label: string, fn: () => T): T;
export declare function buildUsageTrackingHeaders({ label, platform, sessionId, }?: {
    label?: string;
    platform?: string;
    sessionId?: string;
}): Record<string, string>;
export declare function resetDefaultDispatcherForTests(): Promise<void>;
export declare function setDispatcherModuleLoaderForTests(loader: () => Promise<DispatcherModule>): void;
export declare function resetDispatcherModuleLoaderForTests(): void;
export declare function createTrackedFetch(baseFetch?: typeof fetch, tracking?: UsageTrackingConfig): CustomFetch;
export declare function createTodoistClient(apiKey: string, { baseUrl, tracking, }?: {
    baseUrl?: string;
    tracking?: UsageTrackingConfig;
}): TodoistApi;
export { TODOIST_AI_VERSION };
//# sourceMappingURL=usage-tracking.d.ts.map