/*!
 * Jodit Editor PRO (https://xdsoft.net/jodit/)
 * See LICENSE.md in the project root for license information.
 * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net/jodit/pro/
 */
import type { IDictionary } from "jodit/esm/types/index";
import type { IJElement } from "../interface";
import { Style } from "./style";
export declare class JElement implements IJElement {
    parent: JElement | null;
    name: string;
    readonly type: number;
    get isText(): boolean;
    get isElement(): boolean;
    get isComment(): boolean;
    get isSingle(): boolean;
    get length(): number;
    attributes: IDictionary;
    style: Style;
    private readonly children;
    protected constructor(node: Node, parent: JElement | null);
    static make(node: Node, parent?: JElement | null): JElement;
    wrap(tag: string): JElement;
    append(child: JElement): this;
    get previousElement(): JElement | null;
    get lastElement(): JElement | null;
    get previous(): JElement | null;
    get next(): JElement | null;
    private sibling;
    forEach(callbackFn: (node: JElement) => void | false, recursion?: boolean): void | false;
    find(predicate: (child: JElement) => boolean, recursion?: boolean): JElement[];
    map<T>(callbackFn: (node: JElement) => T): T[];
    remove(): this;
    textBetween(start: (n: JElement) => boolean, end: (n: JElement) => boolean): string;
}
