import type { CursorPayload } from '../types.js';
export declare function hashFilters(filters: unknown): string;
/**
 * Кодирует cursor для следующей страницы.
 *
 * @param anchor — последний item текущей страницы (или null если страница пуста).
 * @param filters — объект текущих фильтров для подсчёта hash.
 * @param nextPage — следующий номер страницы для offset-pagination.
 * @param limit — page size.
 */
export declare function encodeCursor(anchor: {
    receivedAt: string;
    id: string;
} | null, filters: unknown, nextPage: number, limit: number): string;
/**
 * Декодирует cursor и валидирует filters-hash.
 *
 * Возвращает payload. Бросает ToolError('INVALID_ARGS') если cursor невалиден
 * или фильтры между страницами изменились.
 */
export declare function decodeCursor(cursor: string, currentFilters: unknown): CursorPayload;
//# sourceMappingURL=cursor.d.ts.map