import { EventEmitter } from '../../stencil-public-runtime';
import { DataFormat } from "../../types/index";
/**
 * This Clipboard provides functionality for handling clipboard events in a web application.
 */
export declare class Clipboard {
    /**
     * If readonly mode - disabled Paste event
     */
    readonly: boolean;
    /**
     * Paste 1. Fired before paste applied to the grid
     * defaultPrevented - if true, paste will be canceled
     */
    beforePaste: EventEmitter<{
        raw: string;
        isHTML: boolean;
        event: ClipboardEvent;
        dataText: string;
    }>;
    /**
     * Paste 2. Fired before paste applied to the grid and after data parsed
     */
    beforePasteApply: EventEmitter<{
        raw: string;
        parsed: string[][];
        dataText: string;
        event: ClipboardEvent;
    }>;
    /**
     * Paste 3. Internal method. When data region is ready pass it to the top.
     * @property {string[][]} data - data to paste
     * @property {boolean} defaultPrevented - if true, paste will be canceled
     */
    pasteRegion: EventEmitter<string[][]>;
    /**
     * Paste 4. Fired after paste applied to the grid
     * defaultPrevented - if true, paste will be canceled
     */
    afterPasteApply: EventEmitter<{
        raw: string;
        parsed: string[][];
        dataText: string;
        event: ClipboardEvent;
    }>;
    /**
     * Cut 1. Fired before cut triggered
     * defaultPrevented - if true, cut will be canceled
     */
    beforeCut: EventEmitter<{
        event: ClipboardEvent;
    }>;
    /**
     * Cut 2. Clears region when cut is done
     */
    clearRegion: EventEmitter<DataTransfer>;
    /**
     * Copy 1. Fired before copy triggered
     * defaultPrevented - if true, copy will be canceled
     */
    beforeCopy: EventEmitter<{
        event: ClipboardEvent;
    }>;
    /**
     * Copy Method 1. Fired before copy applied to the clipboard from outside.
     * defaultPrevented - if true, copy will be canceled
     */
    beforeCopyApply: EventEmitter<{
        event: DataTransfer;
        data?: string[][];
    }>;
    /**
     * Copy 2. Fired when region copied
     * defaultPrevented - if true, copy will be canceled
     */
    copyRegion: EventEmitter<DataTransfer>;
    onPaste(e: ClipboardEvent): void;
    /**
     * Listen to copy event and emit copy region event
     */
    copyStarted(e: ClipboardEvent): void;
    /**
     * Listen to copy event and emit copy region event
     */
    cutStarted(e: ClipboardEvent): void;
    doCopy(e: DataTransfer, data?: DataFormat[][]): Promise<void>;
    parserCopy(data: DataFormat[][]): string;
    private textParse;
    private htmlParse;
    private getData;
}
