export interface PropertyDescriptor<T, V> {
    configurable?: boolean;
    enumerable?: boolean;
    value?: V;
    writable?: boolean;
    get?(this: T): V;
    set?(this: T, value: V): void;
}
export declare function defineProperty<T extends Object, K extends keyof T>(obj: T, property: K, propertyDescriptor: PropertyDescriptor<T, T[K]>): T;
