import type { CellBorder } from './types';
import type { FiltersMap } from '@wix/bex-core';
import type { EditableTableState } from './EditableTableState';
export declare class ClipboardState<T, F extends FiltersMap> {
    copiedCells: Set<string>;
    isCut: boolean;
    private _copiedDataString;
    private _copiedValues;
    private readonly _parent;
    constructor(parent: EditableTableState<T, F>);
    /**
     * Copy selected cells. Returns serialized TSV string for clipboard.
     */
    copy(): string;
    /**
     * Cut selected cells. Returns serialized TSV string for clipboard.
     */
    cut(): string;
    /**
     * Paste data starting at target position.
     * If the clipboard text matches what we stored at copy time, uses the rich
     * typed values instead of deserializing from TSV (avoids lossy round-trip).
     */
    paste(rawData: string): void;
    private _pasteGrid;
    private _clearCutSources;
    clear(): void;
    isCellCopied(rowKey: string, columnId: string): boolean;
    getCopiedBorder(rowKey: string, columnId: string): CellBorder;
    get hasCopiedCells(): boolean;
    private _storeCells;
}
//# sourceMappingURL=ClipboardState.d.ts.map