import { RawSet } from './rawsets/RawSet';
import { DomRenderConfig } from './configs/DomRenderConfig';
export declare const isWrapProxyDomRenderProxy: <T>(obj: T) => boolean;
export declare const getDomRenderOriginObject: <T>(obj: T) => T;
export declare const getDomRenderConfig: (obj: any) => DomRenderConfig | undefined;
export declare const getDomRenderProxy: <T>(obj: T) => DomRenderProxy<T> | undefined;
export declare class DomRenderProxy<T extends object> implements ProxyHandler<T> {
    _domRender_origin: T;
    _domRender_config: DomRenderConfig;
    _domRender_ref: Map<object, Set<string>>;
    _rawSets: Map<string, Set<RawSet>>;
    _domRender_proxy?: T;
    _targets: Set<Node>;
    constructor(_domRender_origin: T, target: Node | null | undefined, _domRender_config: DomRenderConfig);
    static unFinal<T = any>(obj: T): T;
    static final<T = any>(obj: T): T;
    static isFinal<T = any>(obj: T): boolean;
    static isProxy<T = any>(obj: T): boolean;
    static getOriginalObject(obj: any): any;
    run(objProxy: T): Promise<void>;
    initRender(target: Node, rawSet?: RawSet): Promise<void>;
    getRawSets(): RawSet[];
    render(raws?: RawSet[] | string, fullPathStr?: string): Promise<RawSet[]>;
    private renderExecute;
    root(pathInfos: {
        path: string;
        obj: any;
    }[][], value?: any, lastDoneExecute?: boolean): {
        path: string;
        obj: any;
    }[][];
    set(target: T, p: string | symbol, value: any, receiver: T): boolean;
    get(target: T, p: string | symbol, receiver: any): any;
    deleteProperty(target: T, p: string | symbol): boolean;
    has(target: T, p: string | symbol): boolean;
    proxy(parentProxy: T, obj: T | any, p: string): any;
    addRef(parent: object, path: string): void;
    addRawSetAndRender(path: string, rawSet: RawSet): void;
    addRawSet(path: string, rawSet: RawSet): void;
    removeRawSet(...raws: RawSet[]): void;
    removeChildRawSetsByPath(parentPath: string): void;
    private targetGarbageRawSet;
    private garbageRawSet;
}
//# sourceMappingURL=DomRenderProxy.d.ts.map