import type { CustomFetch } from '../types/http.js'; import { type SyncRequest, type SyncResponse } from '../types/sync/index.js'; /** * Shared context needed to issue Sync API requests. * * Constructed by {@link TodoistApi} and each {@link BaseClient} subclass so * that sub-clients can delegate to {@link performSyncRequest} without * rebuilding the HTTP identity on every call. */ export type SyncRequestContext = { authToken: string; syncApiBase: string; customFetch?: CustomFetch; }; /** * Makes a request to the Sync API and handles error checking. * * @param ctx - HTTP identity (auth token, sync API base URI, optional custom fetch). * @param syncRequest - The sync request payload. * @param options - Optional request identifier and commands flag. * @returns The sync response data. * @throws TodoistRequestError if sync status contains errors. */ export declare function performSyncRequest(ctx: SyncRequestContext, syncRequest: SyncRequest, options?: { requestId?: string; hasSyncCommands?: boolean; }): Promise;