/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 */
import type { DOMPreprocessFn } from '@lexical/html';
/**
 * VS Code → browser code-block pastes ship the block as either:
 *
 *  - **Chrome**: one outer
 *    `<div style="font-family: …monospace…; white-space: pre">…</div>`
 *    wrapping per-line `<div>`s and `<br>`s.
 *  - **Safari**: a flat run of sibling
 *    `<div style="…monospace…; white-space: pre">…</div>` and
 *    `<br style="…monospace…; …">` elements with no wrapping
 *    monospace ancestor (the styles are duplicated onto every
 *    element).
 *
 * The legacy `<div>` rule (and {@link DivRule}) produces one CodeNode
 * per `<div>` on Safari and concatenates inner divs without
 * separating `\n`s on Chrome. This preprocess scans once for the
 * structural signature and, only when it matches, pushes
 * {@link VscodeCodePasteOverlay} onto {@link ImportOverlays} so the
 * VS Code-specific rules participate in the walk. Pastes from other
 * sources pay only the detection cost.
 *
 * @experimental
 */
export declare const $installVscodeCodePasteOverlay: DOMPreprocessFn;
/**
 * Import rules for {@link CodeNode}.
 *
 * Specific class-restricted rules (GitHub raw-file-view detectors) are
 * registered before the generic `<table>` / `<tr>` / `<td>` rules so
 * they win dispatch.
 *
 * Registered by {@link CodeExtension} itself (together with
 * `CoreImportExtension` and the {@link $installVscodeCodePasteOverlay}
 * preprocess), so any editor that uses the code extension can import
 * these shapes through the `DOMImportExtension` pipeline without further
 * configuration.
 *
 * @experimental
 */
export declare const CodeImportRules: import("@lexical/html").DOMImportRule<import("@lexical/html").ElementSelectorBuilder<HTMLElement, Record<string, never>>>[];
