/**
 * @license Copyright (c) 2003-2026, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
 */
/**
 * @module collaboration-core/collaborationoperation
 * @publicApi
 */
import type { Operation, InsertOperation, MergeOperation, MoveOperation, SplitOperation, MarkerOperation, RootOperation, RootAttributeOperation } from '@ckeditor/ckeditor5-engine';
/**
 * Extends the {@link module:engine/model/operation/operation operation}.
 */
export interface CollaborationOperation extends Operation {
    _isInit?: boolean;
    _authorId?: null | string;
    _isDisconnection?: boolean;
    createdAt?: Date;
    wasUndone?: boolean;
    affectsData?: Record<string, any>;
    clone(): CollaborationOperation;
}
export type InsertCollaborationOperation = CollaborationOperation & InsertOperation;
export type MoveCollaborationOperation = CollaborationOperation & MoveOperation;
export type MergeCollaborationOperation = CollaborationOperation & MergeOperation;
export type SplitCollaborationOperation = CollaborationOperation & SplitOperation;
export type MarkerCollaborationOperation = CollaborationOperation & MarkerOperation;
export type RootCollaborationOperation = CollaborationOperation & RootOperation;
export type RootAttributeCollaborationOperation = CollaborationOperation & RootAttributeOperation;
