import { Extension } from '@tiptap/core';

type CollaborationCursorStorage = {
    users: {
        clientId: number;
        [key: string]: any;
    }[];
};
export interface CollaborationCursorOptions {
    provider: any;
    user: Record<string, any>;
    render(user: Record<string, any>): HTMLElement;
    selectionRender(user: Record<string, any>): any;
    onUpdate: (users: {
        clientId: number;
        [key: string]: any;
    }[]) => null;
}
declare module '@tiptap/core' {
    interface Commands<ReturnType> {
        collaborationCursor: {
            updateUser: (attributes: Record<string, any>) => ReturnType;
            user: (attributes: Record<string, any>) => ReturnType;
        };
    }
}
export declare const SyncCursor: Extension<CollaborationCursorOptions, CollaborationCursorStorage>;
export {};
