/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import * as tags from './literals'; import * as strings from './strings'; export * from './array'; export * from './object'; export * from './template'; export * from './partially-ordered-set'; export * from './priority-queue'; export * from './lang'; export { tags, strings }; export declare type DeepReadonly = T extends (infer R)[] ? DeepReadonlyArray : T extends Function ? T : T extends object ? DeepReadonlyObject : T; export interface DeepReadonlyArray extends Array> { } export declare type DeepReadonlyObject = { readonly [P in keyof T]: DeepReadonly; }; export declare type Readwrite = { -readonly [P in keyof T]: T[P]; };