interface Observable{ } interface ObservableArray extends Observable { push(...values: T[]); } function observableArray(): ObservableArray { return null;} var a = observableArray(); a.push('Some Value');