import { Binding } from "./Binding";
import { Base, Type } from "./type";
export declare class DependencyObject extends Base {
    constructor();
    private localValues;
    private a;
    c(a: DependencyProperty): any;
    h(dp_: DependencyProperty, a: any): void;
    f(a: DependencyProperty): void;
    e(a: DependencyProperty): any;
    g(a: DependencyProperty, b: Binding): void;
    getValueAlt(a: DependencyProperty): any;
    setValueAlt(dp_: DependencyProperty, a: any): void;
    static $t: Type;
}
export declare class DependencyProperty extends Base {
    readonly _name: string;
    private readonly f;
    private readonly k;
    static readonly c: any;
    readonly a: boolean;
    readonly b: boolean;
    constructor(a: string, b: Type, c: PropertyMetadata);
    readonly l: PropertyMetadata;
    readonly propertyType: Type;
    readonly name: string;
    static i(a: string, b: Type, c: Type, d: PropertyMetadata): DependencyProperty;
    static h(a: string, b: Type): DependencyProperty;
    static registerAlt(a: string, b: Type, c: Type, d: PropertyMetadata): DependencyProperty;
    static $t: Type;
}
export declare class DependencyPropertiesCollection extends Base {
    private a;
    private static b;
    static readonly c: DependencyPropertiesCollection;
    constructor();
    d(a: string): DependencyProperty;
    e(a: string, b: Type, c: Type, d: PropertyMetadata): DependencyProperty;
    static $t: Type;
}
export declare class DependencyPropertyChangedEventArgs extends Base {
    private a;
    private b;
    constructor(a: DependencyProperty, b: any, c: any);
    private e;
    f: DependencyProperty;
    readonly newValue: any;
    readonly oldValue: any;
    static $t: Type;
}
export declare class PropertyMetadata extends Base {
    private a;
    b: any;
    private c;
    d: (d: DependencyObject, e: DependencyPropertyChangedEventArgs) => void;
    constructor(a: number, b: any);
    constructor(a: number, b: (d: DependencyObject, e: DependencyPropertyChangedEventArgs) => void);
    constructor(a: number, b: any, c: (d: DependencyObject, e: DependencyPropertyChangedEventArgs) => void);
    constructor(a: number, ..._rest: any[]);
    static createWithCallback(a: (d: DependencyObject, e: DependencyPropertyChangedEventArgs) => void): PropertyMetadata;
    static createWithDefaultAndCallback(a: any, b: (d: DependencyObject, e: DependencyPropertyChangedEventArgs) => void): PropertyMetadata;
    static $t: Type;
}
