// Hopefully these will be main-lined into Typescipt, but at the moment TS only declares the Contexts export type ClassAccessorDecorator = ( value: ClassAccessorDecoratorTarget, context: ClassAccessorDecoratorContext ) => ClassAccessorDecoratorResult | void export type ClassGetterDecorator = ( value: (this: This) => Value, context: ClassGetterDecoratorContext ) => ((this: This) => Value) | void export type ClassSetterDecorator = ( value: (this: This, value: Value) => void, context: ClassSetterDecoratorContext ) => ((this: This, value: Value) => void) | void export type ClassMethodDecorator any = any> = ( value: Value, context: ClassMethodDecoratorContext ) => Value | void export type ClassFieldDecorator any = any> = ( value: Value, context: ClassFieldDecoratorContext ) => Value | void export type Decorator = | ClassAccessorDecorator | ClassGetterDecorator | ClassSetterDecorator | ClassMethodDecorator | ClassFieldDecorator