import { CSSParsedDeclaration } from '../css/index';
import { TextContainer } from './text-container';
import { Bounds } from '../css/layout/bounds';
import { Context } from '../core/context';
export declare const enum FLAGS {
    CREATES_STACKING_CONTEXT = 2,
    CREATES_REAL_STACKING_CONTEXT = 4,
    IS_LIST_OWNER = 8,
    DEBUG_RENDER = 16
}
export interface ElementContainerOptions {
    /**
     * Whether to normalize DOM (disable animations, reset transforms)
     * Default: true for backward compatibility
     */
    normalizeDom?: boolean;
}
export declare class ElementContainer {
    protected readonly context: Context;
    readonly styles: CSSParsedDeclaration;
    readonly textNodes: TextContainer[];
    readonly elements: ElementContainer[];
    bounds: Bounds;
    flags: number;
    private originalStyles?;
    private originalElement?;
    constructor(context: Context, element: Element, options?: ElementContainerOptions);
    /**
     * Restore original element styles (if normalized)
     * Call this after rendering is complete to clean up DOM state
     */
    restore(): void;
    /**
     * Recursively restore all elements in the tree
     * Call this on the root container after rendering is complete
     */
    restoreTree(): void;
}
