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 { Description } from "./Description";
import { DescriptionTreeNode } from "./DescriptionTreeNode";
import { DescriptionRef } from "./DescriptionRef";
import { TypeDescriptionPlatform } from "./TypeDescriptionPlatform";
import { JsonDictionaryItem } from "./JsonDictionaryItem";
/**
 * @hidden
 */
export declare class ComponentRenderer extends Base {
    static $t: Type;
    e: IComponentRendererAdapter;
    private _context;
    get context(): TypeDescriptionContext;
    set context(a: TypeDescriptionContext);
    private _isProceedOnErrorEnabled;
    get isProceedOnErrorEnabled(): boolean;
    set isProceedOnErrorEnabled(a: boolean);
    g: ITypeDescriptionPropertyTransforms;
    h: TypeDescriptionCleanups;
    static platform: TypeDescriptionPlatform;
    constructor();
    private f;
    toJson(a: (arg1: any) => string): string;
    private c7;
    private c8;
    private t;
    private r;
    private c6;
    private l;
    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;
    protected aj(): boolean;
    private ck;
    provideRefValueFromJson(a: any, b: string, c: string): void;
    protected a3(): (arg1: string) => string;
    z(a: JsonDictionaryItem): boolean;
    y(a: JsonDictionaryItem): boolean;
    ad(a: JsonDictionaryItem): boolean;
    private bz;
    private cg;
    private ch;
    private b3;
    private b1;
    private a;
    private bm;
    private ap;
    private aq;
    private ar;
    private ao;
    private an;
    private au;
    get ay(): Dictionary$2<any, ContainerState>;
    private as;
    private am;
    private at;
    private av;
    private ax;
    cleanup(a: any, b: boolean): void;
    render(a: Description, b: any): void;
    private c3;
    private cm;
    private c1;
    provideRefValue(a: any, b: string, c: any): void;
    removeRefValue(a: any, b: string): void;
    private cz;
    clearRefValues(a: any): void;
    private c2;
    private c5;
    private db;
    private cf;
    private cn;
    private co;
    private v;
    private ae;
    private al;
    private b0;
    private by;
    private b4;
    private ai;
    private bp;
    private bk;
    private bl;
    private bj;
    private bi;
    private bh;
    private bg;
    private bf;
    private be;
    c(a: string, b: ContainerState): DescriptionRef;
    private bv;
    private bd;
    private bu;
    private bb;
    private bt;
    private bx;
    private ba;
    private a9;
    private a8;
    private bw;
    private a7;
    private a6;
    private a1;
    addTargetPropertyUpdatingListener(a: (propertyPath: string, target: any, newValue: any) => boolean): void;
    removeTargetPropertyUpdatingListener(a: (propertyPath: string, target: any, newValue: any) => boolean): void;
    private aw;
    addPropertyUpdatingListener(a: string, b: (propertyName: string, target: any, newValue: any) => void): void;
    private az;
    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 a0;
    addNamespaceLookupListener(a: (container: any) => string): void;
    removeNamespaceLookupListener(a: (container: any) => string): void;
    private a5;
    private c9;
    hasUserRef(a: string): boolean;
    private _shouldNamespaceSystemRefValues;
    get shouldNamespaceSystemRefValues(): boolean;
    set shouldNamespaceSystemRefValues(a: boolean);
    cq(a: any, b: string, c: any, d: boolean): void;
    removeRefValueCore(a: any, b: string, c: boolean): void;
    clearUserRefValues(): void;
    p(a: DescriptionRef): boolean;
    br(a: DescriptionRef): any;
    o(a: string): boolean;
    d(a: string): DescriptionRef;
    getMissingRefs(): string[];
    private bs;
    private ac;
    private ah;
    private ab;
    private c4;
    private ag;
    ce(a: any, b: any, c: ContainerState): void;
    private a4;
    private aa;
    private cs;
    private af;
    private x;
    private k;
    private b5;
    private bn;
    private s;
    private bc;
    private a2;
    private w;
    private cb;
    private da;
    private bq;
    private n;
    private m;
}
/**
 * @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;
}
