import { Brush } from './Brush';
import { Color } from './Color';
import { Size } from './Size';
import { IgSize } from './IgSize';
import { Rect } from './Rect';
import { IgRect } from './IgRect';
import { BrushCollection } from './BrushCollection';
import { Point } from './type';
import { IList$1 } from './type';
import { Type } from './type';
import { ObservableColorCollection } from './ObservableColorCollection';
export declare function brushToString(v: Brush): string;
export declare function stringToBrush(v: string): Brush;
export declare function ensureEnum<T>($t: Type, v: any): T;
export declare function enumToString<T>($t: Type, v: any): string;
export declare function ensureBool(v: any): boolean;
export declare function colorToString(v: Color): string;
export declare function stringToColor(v: string): Color;
export declare function fromSize(v: Size): IgSize;
export declare function sizeToString(v: IgSize): string;
export declare function toSize(v: IgSize | string): Size;
export declare function fromPoint(v: Point): Point;
export declare function pointToString(v: Point): string;
export declare function toPoint(v: Point | string): Point;
export declare function fromRect(v: Rect): IgRect;
export declare function rectToString(v: IgRect): string;
export declare function toRect(v: IgRect | string): Rect;
export declare function brushCollectionToString(v: BrushCollection): string;
export declare function toBrushCollection(v: string[] | string): BrushCollection;
export declare function fromBrushCollection(v: BrushCollection): string[];
export declare function colorCollectionToString(v: ObservableColorCollection): string;
export declare function toColorCollection(v: string[] | string): ObservableColorCollection;
export declare function fromColorCollection(v: ObservableColorCollection): string[];
export declare class CollectionAdapter<T, J> {
    private _queryItems;
    private _manualItems;
    private _allList;
    private _target;
    private _query;
    private _toTarget;
    private _onItemAdded;
    private _onItemRemoved;
    private _hasShiftedOnceAlready;
    constructor(query: any, target: IList$1<J>, allList: T[], toTarget: (item: T) => J, onItemAdded: (item: T) => void, onItemRemoved: (item: T) => void, collisionChecker?: (item: T) => string);
    private _collisionChecker;
    get collisionChecker(): (item: T) => string;
    set collisionChecker(v: (item: T) => string);
    updateQuery(q: any): void;
    shiftContentToManual(manualCollection: any, onMoving: (item: T) => void): void;
    actualContent: any[];
    syncItems(): void;
    notifyContentChanged(): void;
    onQueryChanged(currentItems: T[]): void;
    addManualItem(item: T): void;
    private _removedManualKeys;
    removeManualItem(item: T): boolean;
    removeManualItemAt(index: number): void;
    clearManualItems(): void;
    insertManualItem(index: number, item: T): void;
}
export declare function addPaletteThemeEntry(theme: any, clss: string, background: string, border?: string, foreground?: string): void;
export declare function addTextThemeEntry(theme: any, clss: string, fontFamily: string, fontSize: string, textColor: string, leftMargin?: string, topMargin?: string, rightMargin?: string, bottomMargin?: string, horizontalAlignment?: string, verticalAlignment?: string): void;
export declare function toSpinal(value: string): string;
export declare function fromSpinal(value: string): string;
export declare function getAllPropertyNames(comp: any): string[];
export declare function initializePropertiesFromCss(ele: Element, comp: any, cssPrefix: string, ignoredProperties?: Set<string>, prefixRequired?: boolean, additionalPrefixes?: string[]): void;
export declare function addBrushPaletteThemeEntry(theme: any, clss: string, backgrounds: string[], outlines: string[]): void;
export declare function getModifiedProps(prevProps: any, nextProps: any): any;
export declare function isValidProp(owner: any, prop: string): boolean;
export declare class NamePatcher {
    static _patched: Set<any>;
    static ensureStylablePatched(prot: any): void;
    static ensurePatched(prot: any, nameFilter?: (name: string) => boolean): void;
}
