export declare function convertCopyString(selectionString: string, patterns: Array | null): string; /** * Helper function that builds a pattern array from the selected text nodes. * Extracts patterns from data-pattern attributes and skips data-expression nodes. * * Returns the pattern and the raw selected text. * * Both getRangeAt(0)+intersectsNode and selection.containsNode are unreliable for detecting which nodes are visually * selected when the selection spans multiple contenteditable elements. Instead, we use the treeWalker to go over all * nodes in the inputgroup, accumulating text and patterns while filtering out nodes that don't align with the * value type (e.g. skipping spin button nodes when in expression mode). * `contenteditable` needs to stay on the elements to avoid losing the focused element. * @internal */ export declare function getPatternAndSelectedText(selection: Selection): { pattern: string[] | null; text: string; }; /** * Builds the clipboard text for the current selection by converting the selected * spin-button / expression values into a valid timeframe string. * Returns null if there is no selection or it does not belong to an inputgroup. * @internal */ export declare function buildTimeframeClipboardText(): string | null; /** * Helper function that tries to parse parts of the current selection as valid time frames * and if successful, copies the correctly parsed ISO timestamp or timeframe to the clipboard. * Must be called from a native `copy` ClipboardEvent handler so that `clipboardEvent.clipboardData` * is available for synchronous writing. * @internal */ export declare function onTimeframeCopyCapture(clipboardEvent: Pick): void;