// @strictNullChecks: true // @declaration: true declare function f1({ a, b }?: { a: number, b: string }): void; function f2({ a, b }: { a: number, b: number } = { a: 0, b: 0 }) { a; b; } // Repro from #8681 interface Type { t: void } interface QueryMetadata { q: void } interface QueryMetadataFactory { (selector: Type | string, {descendants, read}?: { descendants?: boolean; read?: any; }): ParameterDecorator; new (selector: Type | string, {descendants, read}?: { descendants?: boolean; read?: any; }): QueryMetadata; }