import { IComponentRendererAdapter } from "./IComponentRendererAdapter";
import { TypeDescriptionContext } from './TypeDescriptionContext';
import { TypeDescriptionMetadata } from './TypeDescriptionMetadata';
import { DescriptionRef } from './DescriptionRef';
export declare class ComponentRendererAdapter implements IComponentRendererAdapter {
    isBlazorRenderer: boolean;
    private _eventCache;
    createObject(type: string, container: any, context: TypeDescriptionContext, nameContext: string): any;
    private _platform;
    createColorCollection(colors: any[]): any[];
    createBrushCollection(brushes: any[]): any[];
    createDoubleCollection(lengths: any[]): any[];
    coerceToEnum(type: string, context: TypeDescriptionContext, value: string): string;
    onUIThread(container: any, action: () => void): void;
    setOrUpdateCollectionOnTarget(container: any, propertyName: string, propertyMetadata: TypeDescriptionMetadata, context: TypeDescriptionContext, target: any, value: any): void;
    onPendingRef(target: any, propertyName: string, propertyMetadata: TypeDescriptionMetadata, sourceRef: DescriptionRef): void;
    ensureExternalObject(target: any, propertyMetadata: TypeDescriptionMetadata): any;
    setPropertyValue(target: any, propertyName: string, propertyMetadata: TypeDescriptionMetadata, value: any, oldValue: any, sourceRef: DescriptionRef): void;
    getPropertyValue(target: any, propertyName: string): any;
    clearContainer(container: any, context: TypeDescriptionContext, continueActions: (resumeRequired: boolean) => void): void;
    getRootObject(container: any): any;
    forPropertyValueItem(target: any, propertyName: string, forItem: (item: any) => void): void;
    getMarkupTypeMatcher(target: any, propertyName: string, metadata: TypeDescriptionMetadata, isCollection: boolean): ((f: any) => boolean) | null;
    mustManageInMarkup(target: any, propertyName: string, metadata: TypeDescriptionMetadata, isCollection: boolean): boolean;
    getMarkupCollection(target: any, propertyName: string, metadata: TypeDescriptionMetadata, isCollection: boolean): MarkupCollection;
    clearCollection(target: any, propertyName: string, metadata: TypeDescriptionMetadata): void;
    addItemToCollection(propertyName: string, propertyMetadata: TypeDescriptionMetadata, target: any, newIndex: number, item: any): void;
    resetPropertyOnTarget(container: any, propertyName: string, propertyMetadata: TypeDescriptionMetadata, target: any): void;
    replaceItemInCollection(propertyName: string, propertyMetadata: TypeDescriptionMetadata, target: any, newIndex: number, item: any): void;
    removeItemFromCollection(propertyName: string, propertyMetadata: TypeDescriptionMetadata, target: any, oldIndex: number): void;
    replaceRootItem(container: any, type: string, context: TypeDescriptionContext, continueActions: (resumeRequired: boolean) => void): void;
    removeRootItem(container: any, context: TypeDescriptionContext, continueActions: (resumeRequired: boolean) => void): void;
    flushChanges(container: any): void;
    publicCollectionAsObjectArray(coll: any): any[];
    setHandler(target: any, eventName: string, propertyMetadata: TypeDescriptionMetadata, argsType: string, context: TypeDescriptionContext, callback: (args: any) => void): void;
    executeMethod(target: any, methodName: string, argumentValues_: any[], argumentMetadata: TypeDescriptionMetadata[], onFinished: (res: any) => void): void;
    serializeBrush(value: any): any;
    serializeColor(value: any): any;
    serializeBrushCollection(value: any): any;
    serializePoint(value: any): any;
    serializePixelPoint(value: any): any;
    serializeSize(value: any): any;
    serializePixelSize(value: any): any;
    serializeRect(value: any): any;
    serializePixelRect(value: any): any;
    serializeColorCollection(value: any): any;
    serializeTimespan(value: any): any;
    serializeDoubleCollection(value: any): any;
    createHandler(eventName: string, eventHandlerTypeName: string, eventArgsTypeName: string, context: TypeDescriptionContext, callback: (arg1: any, arg2: any) => void): any;
    disposeHandler(callback: (arg1: any, arg2: any) => void): void;
}
declare abstract class MarkupCollection {
    constructor(target: any, platform: string);
    abstract clear(): any;
    abstract item(index: number, value?: any | undefined): any;
    abstract removeAt(index: number): void;
    abstract insert(index: number, item: any): void;
    abstract add(item: any): void;
}
export {};
