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 { Brush } from "./Brush";
import { Thickness } from "./Thickness";
import { CornerRadius } from "./CornerRadius";
import { Transform } from "./Transform";
import { INativeUIElementFactory } from "./INativeUIElementFactory";
/**
 * @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;
    ap(a: Size): Size;
    w: any;
    protected get_c(): NativeUIComponentBuiltInType;
    get c(): NativeUIComponentBuiltInType;
    protected get u(): any;
    private static f;
    static z(a: INativeUIElementFactory): void;
    static aa(a: any, b: NativeUIComponentBuiltInType, c: (arg1: any) => void): void;
    static ab(a: any, b: NativeUIComponentBuiltInType[], c: (arg1: any[]) => void): void;
    static ac(a: any, b: NativeUIComponentBuiltInType, c: (arg1: any) => void): void;
    b: INativeUIElementBridge;
    v: any;
    protected t(a: UIElementPropertyId): any;
    protected q(a: UIElementPropertyId): any;
    protected ah(a: UIElementPropertyId, b: any): void;
    protected o(a: NativeUIBuiltInProperties): any;
    protected af(a: NativeUIBuiltInProperties, b: any): void;
    protected x(a: NativeUIBuiltInEvents, b: any): void;
    protected y(a: any, b: NativeUIComponent, c: NativeUIBuiltInEvents, d: any): void;
    protected ad(a: NativeUIBuiltInEvents, b: any): void;
    protected ae(a: any, b: NativeUIComponent, c: NativeUIBuiltInEvents, d: any): void;
    protected p(a: any, b: NativeUIBuiltInProperties): any;
    protected ag(a: any, b: NativeUIBuiltInProperties, c: any): void;
    protected s(a: NativeUIBuiltInProperties): any;
    protected r(a: NativeUIBuiltInEvents): any;
    get n(): number;
    set n(a: number);
    get h(): number;
    set h(a: number);
    get j(): number;
    set j(a: number);
    get aj(): Brush;
    set aj(a: Brush);
    get ak(): Brush;
    set ak(a: Brush);
    get aq(): Thickness;
    set aq(a: Thickness);
    get ai(): CornerRadius;
    set ai(a: CornerRadius);
    get as(): Thickness;
    set as(a: Thickness);
    get al(): Brush;
    set al(a: Brush);
    get g(): number;
    set g(a: number);
    get i(): number;
    set i(a: number);
    get m(): number;
    set m(a: number);
    get ar(): Thickness;
    set ar(a: Thickness);
    get ao(): Transform;
    set ao(a: Transform);
    get an(): Brush;
    set an(a: Brush);
    get am(): Brush;
    set am(a: Brush);
    get l(): number;
    set l(a: number);
    get a(): number[];
    set a(a: number[]);
    get k(): number;
    set k(a: number);
    get d(): NativeUIComponentHorizontalAlignment;
    set d(a: NativeUIComponentHorizontalAlignment);
    get e(): NativeUIComponentVerticalAlignment;
    set e(a: NativeUIComponentVerticalAlignment);
}
