import { Base, Type } from "./type";
import { IComponentRendererAdapter } from "./IComponentRendererAdapter";
import { TypeDescriptionContext } from "./TypeDescriptionContext";
import { ITypeDescriptionPropertyTransforms } from "./ITypeDescriptionPropertyTransforms";
import { TypeDescriptionCleanups } from "./TypeDescriptionCleanups";
import { Dictionary$2 } from "./Dictionary$2";
import { ComponentRendererReferenceResolverEventArgs } from "./ComponentRendererReferenceResolverEventArgs";
import { Description } from "./Description";
import { DescriptionTreeNode } from "./DescriptionTreeNode";
import { DescriptionTreeAction } from "./DescriptionTreeAction";
import { DescriptionRef } from "./DescriptionRef";
import { TypeDescriptionPlatform } from "./TypeDescriptionPlatform";
import { JsonDictionaryItem } from "./JsonDictionaryItem";
import { DescriptionRefTargetInfo } from "./DescriptionRefTargetInfo";
/**
 * @hidden
 */
export declare class ComponentRenderer extends Base {
    static $t: Type;
    private static _defaultInstance;
    static get defaultInstance(): ComponentRenderer;
    static set defaultInstance(a: ComponentRenderer);
    private _adapter;
    get adapter(): IComponentRendererAdapter;
    set adapter(a: IComponentRendererAdapter);
    private _context;
    get context(): TypeDescriptionContext;
    set context(a: TypeDescriptionContext);
    private _isProceedOnErrorEnabled;
    get isProceedOnErrorEnabled(): boolean;
    set isProceedOnErrorEnabled(a: boolean);
    k: ITypeDescriptionPropertyTransforms;
    l: TypeDescriptionCleanups;
    static platform: TypeDescriptionPlatform;
    constructor();
    private j;
    toJson(a: (arg1: any) => string): string;
    private ek;
    private el;
    private aa;
    private x;
    private ej;
    private r;
    createObjectFromJson(a: string, b: any): any;
    loadJson(a: string, b: (arg1: string) => any): void;
    loadJsonOverlay(a: string, b: (arg1: string) => any, c: (arg1: string) => any): void;
    loadJsonDelta(a: string, b: (arg1: string) => any, c: boolean): void;
    private _preserveKeyOrder;
    get preserveKeyOrder(): boolean;
    set preserveKeyOrder(a: boolean);
    protected at(): boolean;
    protected ds(a: boolean): void;
    private _allowNullForRemove;
    get allowNullForRemove(): boolean;
    set allowNullForRemove(a: boolean);
    private dq;
    provideRefValueFromJson(a: any, b: string, c: string): void;
    private bf;
    addMemberPathTransformer(a: (memberPath: string) => string): void;
    removeMemberPathTransformer(a: (memberPath: string) => string): void;
    private bh;
    addReferenceResolver(a: (refName: string, args: ComponentRendererReferenceResolverEventArgs) => void): void;
    removeReferenceResolver(a: (refName: string, args: ComponentRendererReferenceResolverEventArgs) => void): void;
    private e;
    protected bl(): (arg1: string) => string;
    aj(a: JsonDictionaryItem): boolean;
    ag(a: JsonDictionaryItem): boolean;
    an(a: JsonDictionaryItem): boolean;
    ah(a: JsonDictionaryItem): boolean;
    ai(a: JsonDictionaryItem): boolean;
    private cy;
    private dj;
    private dk;
    private c3;
    private c0;
    private a;
    private b7;
    private a2;
    private a3;
    private a4;
    private a1;
    private az;
    private a0;
    private ax;
    private a8;
    get bc(): Dictionary$2<any, ContainerState>;
    private a5;
    private ay;
    private aw;
    private a7;
    private a9;
    private bb;
    private a6;
    private bn;
    cleanup(a: any, b: boolean): void;
    render(a: Description, b: any): void;
    private ee;
    private dt;
    private ec;
    getTargetValue(a: string, b: string, c: any): any;
    setTargetValue(a: string, b: string, c: any, d: any, e: any): void;
    executeMethod(a: any, b: string, c: (arg1: string) => void): void;
    private cg;
    static bk(a: any): number;
    private c1;
    private cl;
    private cp;
    private ck;
    private cn;
    private co;
    private cm;
    private ci;
    private cj;
    private ch;
    private h;
    private cw;
    private ca;
    private b6;
    private dm;
    resolveRefValue(a: any, b: string, c: (arg1: any) => void): void;
    resolveRefName(a: any, b: any, c: (arg1: string) => void): void;
    provideRefValue(a: any, b: string, c: any): void;
    removeRefValue(a: any, b: string): void;
    private ea;
    clearRefValues(a: any): void;
    private y;
    queueForIdle(a: any, b: () => void): void;
    tryFlushIdleActions(a: any): void;
    private ed;
    private ei;
    private ep;
    private di;
    private du;
    private dv;
    private ad;
    private ao;
    private av;
    private cz;
    private cx;
    private c4;
    private as;
    private cb;
    private b4;
    private b5;
    b3(a: DescriptionTreeAction): any;
    private b2;
    b1(a: DescriptionTreeAction): any;
    b0(a: DescriptionTreeAction): any;
    bz(a: DescriptionTreeAction): any;
    private by;
    f(a: string): DescriptionRef;
    private cs;
    private bx;
    private cr;
    private bu;
    private cq;
    private ct;
    protected cv(a: string): any;
    private bt;
    private bs;
    private br;
    private bv;
    protected cu(a: string): any;
    private bq;
    private bp;
    private bi;
    addTargetPropertyUpdatingListener(a: (propertyPath: string, target: any, newValue: any) => boolean): void;
    removeTargetPropertyUpdatingListener(a: (propertyPath: string, target: any, newValue: any) => boolean): void;
    private ba;
    addPropertyUpdatingListener(a: string, b: (propertyName: string, target: any, newValue: any) => void): void;
    private be;
    addReferenceLookupListener(a: (container: any, refType: string, id: string) => any): void;
    removeReferenceLookupListener(a: (container: any, refType: string, id: string) => any): void;
    removePropertyUpdatingListener(a: string, b: (propertyName: string, target: any, newValue: any) => void): void;
    private bg;
    addNamespaceLookupListener(a: (container: any) => string): void;
    removeNamespaceLookupListener(a: (container: any) => string): void;
    private bd;
    addCleanupListener(a: (container: any, id: string) => void): void;
    removeCleanupListener(a: (container: any, id: string) => void): void;
    private bo;
    private em;
    w(a: string): boolean;
    private _shouldNamespaceSystemRefValues;
    get shouldNamespaceSystemRefValues(): boolean;
    set shouldNamespaceSystemRefValues(a: boolean);
    dx(a: any, b: string, c: any, d: boolean): void;
    removeRefValueCore(a: any, b: string, c: boolean): void;
    clearUserRefValues(): void;
    v(a: DescriptionRef): boolean;
    cd(a: DescriptionRef): any;
    hasRef(a: string): boolean;
    g(a: string): DescriptionRef;
    getMissingRefs(): string[];
    getRefChangeInfos(a: string): DescriptionRefTargetInfo[];
    private ce;
    private am;
    private ar;
    private al;
    private ef;
    private aq;
    dh(a: any, b: any, c: ContainerState): void;
    private bm;
    private ak;
    private d1;
    private ap;
    private af;
    private o;
    private c6;
    private b8;
    private z;
    private bw;
    protected p(): boolean;
    private bj;
    private ae;
    private de;
    private en;
    private cc;
    private t;
    private s;
}
/**
 * @hidden
 */
export declare class ContainerState extends Base {
    static $t: Type;
    i: any;
    private e;
    private f;
    private d;
    private g;
    private c;
    k(a: any, b: number, c: any, d: DescriptionTreeNode, e: (arg1: any, arg2: string, arg3: any, arg4: boolean) => void, f: number): void;
    a(a: number): boolean;
    b(a: any): boolean;
    j(a: number): any;
    l(a: ComponentRenderer, b: any, c: number, d: (arg1: any, arg2: string, arg3: boolean) => void): void;
    h(a: any): number;
}
