import { Base, Type } from "./type";
import { Binding } from "./Binding";
/**
 * @hidden
 */
export declare class DependencyObject extends Base {
    static $t: Type;
    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;
}
/**
 * @hidden
 */
export declare class DependencyProperty extends Base {
    static $t: Type;
    readonly _name: string;
    private readonly f;
    private readonly k;
    static readonly c: any;
    readonly a: boolean;
    get b(): boolean;
    constructor(a: string, b: Type, c: PropertyMetadata);
    get l(): PropertyMetadata;
    get propertyType(): Type;
    get 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;
}
/**
 * @hidden
 */
export declare class DependencyPropertiesCollection extends Base {
    static $t: Type;
    private a;
    private static b;
    static get c(): DependencyPropertiesCollection;
    constructor();
    d(a: string): DependencyProperty;
    e(a: string, b: Type, c: Type, d: PropertyMetadata): DependencyProperty;
}
/**
 * @hidden
 */
export declare class DependencyPropertyChangedEventArgs extends Base {
    static $t: Type;
    private a;
    private b;
    constructor(a: DependencyProperty, b: any, c: any);
    private e;
    get f(): DependencyProperty;
    set f(a: DependencyProperty);
    get newValue(): any;
    get oldValue(): any;
}
/**
 * @hidden
 */
export declare class PropertyMetadata extends Base {
    static $t: Type;
    private a;
    get b(): any;
    set b(a: any);
    private c;
    get d(): (d: DependencyObject, e: DependencyPropertyChangedEventArgs) => void;
    set d(a: (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;
}
