export default TinyClipboard;
/**
 * Utility class to handle clipboard operations for text and blob data.
 * Supports modern Clipboard API, custom platform, and legacy execCommand fallback.
 */
declare class TinyClipboard {
    /**
     * Override the default text copy behavior.
     * This allows you to provide your own clipboard implementation or
     * integrate with external systems like Capacitor or Electron.
     *
     * @param {(text: string) => Promise<void>} callback - The function to use for copying text.
     * @throws {TypeError} If the callback is not a function.
     */
    setCopyText(callback: (text: string) => Promise<void>): void;
    /**
     * Override the default blob copy behavior.
     * This allows you to provide a custom clipboard handling method for blob data.
     *
     * @param {(blob: Blob) => Promise<void>} callback - The function to use for copying blob data.
     * @throws {TypeError} If the callback is not a function.
     */
    setCopyBlob(callback: (blob: Blob) => Promise<void>): void;
    /**
     * Copy a plain text string to the clipboard.
     * Uses modern or legacy fallback.
     *
     * @param {string} text - The text string to be copied.
     * @returns {Promise<void>} A promise resolving when the text is copied or boolean for legacy.
     */
    copyText(text: string): Promise<void>;
    /**
     * Copy a Blob (binary data) to the clipboard.
     *
     * @param {Blob} blob - The blob object to copy.
     * @returns {Promise<void>} A promise that resolves when the blob is copied or null on fallback.
     */
    copyBlob(blob: Blob): Promise<void>;
    /**
     * Internal: Handle getting blob data from a clipboard item.
     *
     * @private
     * @param {string} type - The MIME type to fetch.
     * @param {ClipboardItem} clipboardItem - Clipboard item instance.
     * @returns {Promise<Blob>} A promise that resolves with the Blob.
     */
    private _handleBlob;
    /**
     * Internal: Handle getting plain text from a clipboard item.
     *
     * @private
     * @param {string} type - The MIME type (should be 'text/plain').
     * @param {ClipboardItem} clipboardItem - Clipboard item instance.
     * @returns {Promise<string>} A promise that resolves with the text content.
     */
    private _handleText;
    /**
     * Read clipboard data based on filters like type, mime, index.
     *
     * @param {number|null} [index=0] - Item index or null for all.
     * @param {'text'|'custom'|null} [type=null] - Data type to filter.
     * @param {string|null} [mimeFormat=null] - MIME type or prefix.
     * @param {boolean} [fixValue=false] - If true, exact match on MIME type.
     * @returns {Promise<Blob|string|Array<Blob|string>|null>} A promise resolving with matching data.
     */
    _readData(index?: number | null, type?: "text" | "custom" | null, mimeFormat?: string | null, fixValue?: boolean): Promise<Blob | string | Array<Blob | string> | null>;
    /**
     * Read plain text from the clipboard (single item by index).
     *
     * @param {number} [index=0] - The index of the clipboard item to read.
     * @returns {Promise<string|null>} A promise that resolves to the clipboard text or null.
     */
    readText(index?: number): Promise<string | null>;
    /**
     * Read custom clipboard data based on MIME type from a specific index.
     *
     * @param {string|null} [mimeFormat=null] - MIME prefix to match (e.g., "image/").
     * @param {boolean} [fixValue=false] - If true, matches exact MIME instead of prefix.
     * @param {number} [index=0] - Clipboard item index.
     * @returns {Promise<Blob|null>} A promise resolving with a blob or null.
     */
    readCustom(mimeFormat?: string | null, fixValue?: boolean, index?: number): Promise<Blob | null>;
    /**
     * Read all available plain text entries from the clipboard.
     *
     * @returns {Promise<string[]>} A promise resolving to an array of strings or null.
     */
    readAllTexts(): Promise<string[]>;
    /**
     * Read all clipboard data matching a specific custom MIME type.
     *
     * @param {string|null} [mimeFormat=null] - MIME prefix or exact type.
     * @param {boolean} [fixValue=false] - Match prefix or exact MIME.
     * @returns {Promise<Blob[]>} A promise resolving with array of Blobs or null.
     */
    readAllCustom(mimeFormat?: string | null, fixValue?: boolean): Promise<Blob[]>;
    /**
     * Read all clipboard data as Blob or text depending on type.
     *
     * @param {'text'|'custom'|null} [type=null] - The type of data to retrieve.
     * @param {string|null} [mimeFormat=null] - The MIME type or prefix to match.
     * @returns {Promise<Array<Blob|string>>} A promise resolving with matching data array.
     */
    readAllData(type?: "text" | "custom" | null, mimeFormat?: string | null): Promise<Array<Blob | string>>;
    /**
     * Read clipboard data at a specific index or all if null.
     *
     * @param {number|null} index - Index of the item to retrieve or null to get all.
     * @returns {Promise<ClipboardItem|ClipboardItems|null>} A promise resolving with a clipboard item or array of items.
     */
    _read(index: number | null): Promise<ClipboardItem | ClipboardItems | null>;
    /**
     * Read clipboard data at a specific index.
     *
     * @param {number} index - Index of the item to retrieve
     * @returns {Promise<ClipboardItem|null>} A promise resolving with a clipboard item.
     */
    readIndex(index: number): Promise<ClipboardItem | null>;
    /**
     * Read all clipboard content without any filters.
     *
     * @returns {Promise<ClipboardItems>} A promise resolving with all clipboard items.
     */
    readAll(): Promise<ClipboardItems>;
    /**
     * Returns whether the legacy `document.execCommand()` API is available.
     * This can be used to determine if a fallback clipboard method is usable.
     *
     * @returns {boolean} True if `document.execCommand` is available.
     */
    isExecCommandAvailable(): boolean;
    /**
     * Returns whether the modern Clipboard API (`navigator.clipboard`) is available.
     * Useful to know if full clipboard features can be accessed.
     *
     * @returns {boolean} True if `navigator.clipboard` is available.
     */
    isNavigatorClipboardAvailable(): boolean;
    /**
     * Returns the function used to copy plain text to the clipboard.
     * This function may be built-in or set manually via `setCopyText`.
     *
     * @returns {((text: string) => Promise<void>) | null} The current text copy function or null if unavailable.
     */
    getCopyTextFunc(): ((text: string) => Promise<void>) | null;
    /**
     * Returns the function used to copy Blob (binary data) to the clipboard.
     * This function may be built-in or set manually via `setCopyBlob`.
     *
     * @returns {((blob: Blob) => Promise<void>) | null} The current blob copy function or null if unavailable.
     */
    getCopyBlobFunc(): ((blob: Blob) => Promise<void>) | null;
    #private;
}
//# sourceMappingURL=TinyClipboard.d.mts.map