diff --git a/backbone/backbone.d.ts b/backbone/backbone.d.ts index 99aec4e4b..0635a1247 100644 --- a/backbone/backbone.d.ts +++ b/backbone/backbone.d.ts @@ -86,14 +86,17 @@ declare module Backbone { sync(...arg: any[]): JQueryXHR; } - class Model extends ModelBase { + interface OptionalDefaults { + defaults?(): any; + } + + class Model extends ModelBase implements OptionalDefaults { static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality attributes: any; changed: any[]; cid: string; - defaults: any; id: any; idAttribute: string; validationError: any; @@ -235,12 +238,14 @@ declare module Backbone { zip(...model: Model[]): Model[]; } - class Router extends Events { + interface OptionalRoutes { + routes?(): any; + } + + class Router extends Events implements OptionalRoutes { static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality - routes: any; - constructor(options?: RouterOptions); initialize(options?: RouterOptions); route(route: string, name: string, callback?: (...parameter: any[]) => void ); @@ -283,7 +288,11 @@ declare module Backbone { attributes?: any[]; } - class View extends Events { + interface OptionalEvents { + events?(): any; + } + + class View extends Events implements OptionalEvents { static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality @@ -299,7 +308,7 @@ declare module Backbone { cid: string; className: string; tagName: string; - events: any; + options: any; el: any; $el: JQuery;