import { Base, Type } from "./type";
import { UIElementPropertyId } from "./UIElementPropertyId";
import { NativeUIBuiltInEvents } from "./NativeUIBuiltInEvents";
import { NativeUIBuiltInProperties } from "./NativeUIBuiltInProperties";
import { NativeUIComponentHorizontalAlignment } from "./NativeUIComponentHorizontalAlignment";
import { NativeUIComponentVerticalAlignment } from "./NativeUIComponentVerticalAlignment";
import { Size } from "./Size";
import { NativeUIComponentBuiltInType } from "./NativeUIComponentBuiltInType";
import { BaseControlTheme } from "./BaseControlTheme";
import { Brush } from "./Brush";
import { Thickness } from "./Thickness";
import { CornerRadius } from "./CornerRadius";
import { Transform } from "./Transform";
import { INativeUIElementFactory } from "./INativeUIElementFactory";
import { NativeUIElementFactoryFlavor } from "./NativeUIElementFactoryFlavor";
/**
 * @hidden
 */
export interface INativeUIElementBridge {
    getMethodTarget(a: any): any;
    getTargetForProperty(a: UIElementPropertyId, b: any): any;
    addHandler(a: any, b: NativeUIComponent, c: NativeUIBuiltInEvents, d: any): void;
    removeHandler(a: any, b: NativeUIComponent, c: NativeUIBuiltInEvents, d: any): void;
    getValue(a: any, b: NativeUIBuiltInProperties): any;
    setValue(a: any, b: NativeUIBuiltInProperties, c: any): void;
    getTargetForBuildInProperty(a: any, b: NativeUIBuiltInProperties): any;
    getTargetForBuildInEvent(a: any, b: NativeUIBuiltInEvents): any;
    getHorizontalAlignment(a: any): NativeUIComponentHorizontalAlignment;
    setHorizontalAlignment(a: any, b: NativeUIComponentHorizontalAlignment): void;
    getVerticalAlignment(a: any): NativeUIComponentVerticalAlignment;
    setVerticalAlignment(a: any, b: NativeUIComponentVerticalAlignment): void;
    getDesiredSize(a: any, b: Size): Size;
}
/**
 * @hidden
 */
export declare let INativeUIElementBridge_$type: Type;
/**
 * @hidden
 */
export declare class NativeUIComponent extends Base {
    static $t: Type;
    au(a: Size): Size;
    y: any;
    protected get_e(): NativeUIComponentBuiltInType;
    readonly e: NativeUIComponentBuiltInType;
    protected readonly w: any;
    private static h;
    static ab(a: INativeUIElementFactory): void;
    private static a;
    static ac(a: any, b: NativeUIComponentBuiltInType, c: NativeUIElementFactoryFlavor, d: (arg1: any) => void): void;
    static ad(a: any, b: NativeUIComponentBuiltInType, c: (arg1: any) => void): void;
    static ae(a: any, b: NativeUIComponentBuiltInType[], c: NativeUIElementFactoryFlavor[], d: (arg1: any[]) => void): void;
    static af(a: any, b: NativeUIComponentBuiltInType[], c: (arg1: any[]) => void): void;
    static ag(a: any, b: NativeUIComponentBuiltInType, c: NativeUIElementFactoryFlavor, d: (arg1: any) => void): void;
    static ah(a: any, b: NativeUIComponentBuiltInType, c: (arg1: any) => void): void;
    d: INativeUIElementBridge;
    x: any;
    protected v(a: UIElementPropertyId): any;
    protected s(a: UIElementPropertyId): any;
    protected am(a: UIElementPropertyId, b: any): void;
    protected q(a: NativeUIBuiltInProperties): any;
    protected ak(a: NativeUIBuiltInProperties, b: any): void;
    protected z(a: NativeUIBuiltInEvents, b: any): void;
    protected aa(a: any, b: NativeUIComponent, c: NativeUIBuiltInEvents, d: any): void;
    protected ai(a: NativeUIBuiltInEvents, b: any): void;
    protected aj(a: any, b: NativeUIComponent, c: NativeUIBuiltInEvents, d: any): void;
    protected r(a: any, b: NativeUIBuiltInProperties): any;
    protected al(a: any, b: NativeUIBuiltInProperties, c: any): void;
    protected u(a: NativeUIBuiltInProperties): any;
    protected t(a: NativeUIBuiltInEvents): any;
    p: number;
    j: number;
    l: number;
    c: BaseControlTheme;
    ao: Brush;
    ap: Brush;
    av: Thickness;
    an: CornerRadius;
    ax: Thickness;
    aq: Brush;
    i: number;
    k: number;
    o: number;
    aw: Thickness;
    at: Transform;
    as: Brush;
    ar: Brush;
    n: number;
    b: number[];
    m: number;
    f: NativeUIComponentHorizontalAlignment;
    g: NativeUIComponentVerticalAlignment;
}
