import type { ClipboardItemDataType } from 'clipboard-polyfill'; export function readText(): Promise { return import('clipboard-polyfill').then((c) => c.readText()); } export function read(): Promise { return import('clipboard-polyfill').then((c) => { const readItems = c.read() as Promise; return readItems; }); } export function writeText(data: string): Promise { return import('clipboard-polyfill').then((c) => c.writeText(data)); } interface ClipboardItemInterface { readonly presentationStyle?: PresentationStyle; readonly lastModified?: number; readonly delayed?: boolean; readonly types: readonly string[]; getType(type: string): Promise; } export function write(data: ClipboardItemInterface[]): Promise { return import('clipboard-polyfill').then((c) => c.write(data)); } export function newClipboardItem( items: Record, options?: ClipboardItemOptions, ): Promise { return import('clipboard-polyfill').then( (c) => new (c.ClipboardItem as typeof ClipboardItem)(items, options), // Type assertion ); }