/** jz-* 自訂元素名(皆含連字號,合法 custom element,預設 inline)。 */ export type JzTag = "jz-hws" | "jz-char" | "jz-inner" | "jz-cs" | "jz-jinze" | "jz-orphan" | "jz-em" | "jz-ruby" | "jz-rb" | "jz-rt"; type JzKind = "marker" | "wrap"; export interface CreateOptions { /** 追加之 class(空白分隔或陣列)。 */ classes?: string | string[]; /** 文本內容。 */ text?: string; /** 其餘屬性。 */ attrs?: Record; } /** 造一個帶 pass 標記之 jz-* 元素。 */ export declare function createJz(tag: JzTag, pass: string, kind: JzKind, opts?: CreateOptions): HTMLElement; /** 造一個 copy-clean 間隙標記(內含真實空白,user-select 由 CSS 關閉)。 */ export declare function createMarker(tag: JzTag, pass: string): HTMLElement; /** * 還原某 pass 之全部產物(I6)。以 data-jz 定址,逆文件序處理(先內層後 * 外層),marker 移除、wrap 解包,最後 normalize 受影響父節點合併文本。 * * splitoff(克隆切分之邊界詞元,見 core/split.ts)須在 wrap 全部解包**之後**才併回: * 否則其前兄弟可能仍是 wrap 殼(如 jz-jinze)而非原元素。故主迴圈跳過 splitoff,於 * 解包後第二階段以文件序逐一併回前兄弟(同標籤元素),還原為單一元素(I6 一致)。 */ export declare function revertPass(pass: string, root: ParentNode): void; /** 讀取 jz-char 之 bd-* 子類(無則 null)。 */ export declare function bdClassOf(el: Element): string | null; /** 該元素是否為某/任一 pass 之 jz 產物。 */ export declare function isJz(node: Node | null, pass?: string): boolean; export {};