| 
									
										
										
										
											2017-09-28 16:18:12 -07:00
										 |  |  | export interface AssetGroup { | 
					
						
							|  |  |  |     installMode?: 'prefetch' | 'lazy'; | 
					
						
							|  |  |  |     name: string; | 
					
						
							|  |  |  |     resources: { | 
					
						
							|  |  |  |         files?: Glob[]; | 
					
						
							| 
									
										
										
										
											2018-04-28 02:01:28 +03:00
										 |  |  |         /** @deprecated */ versionedFiles?: Glob[]; | 
					
						
							| 
									
										
										
										
											2017-09-28 16:18:12 -07:00
										 |  |  |         urls?: Glob[]; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |     updateMode?: 'prefetch' | 'lazy'; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface Config { | 
					
						
							|  |  |  |     appData?: {}; | 
					
						
							|  |  |  |     assetGroups?: AssetGroup[]; | 
					
						
							|  |  |  |     dataGroups?: DataGroup[]; | 
					
						
							|  |  |  |     index: string; | 
					
						
							| 
									
										
										
										
											2018-04-12 18:04:11 +03:00
										 |  |  |     navigationUrls?: string[]; | 
					
						
							| 
									
										
										
										
											2017-09-28 16:18:12 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface DataGroup { | 
					
						
							|  |  |  |     cacheConfig: { | 
					
						
							|  |  |  |         maxSize: number; | 
					
						
							|  |  |  |         maxAge: Duration; | 
					
						
							|  |  |  |         timeout?: Duration; | 
					
						
							|  |  |  |         strategy?: 'freshness' | 'performance'; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |     name: string; | 
					
						
							|  |  |  |     urls: Glob[]; | 
					
						
							|  |  |  |     version?: number; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export declare type Duration = string; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export interface Filesystem { | 
					
						
							| 
									
										
										
										
											2017-10-02 15:59:57 -07:00
										 |  |  |     hash(file: string): Promise<string>; | 
					
						
							| 
									
										
										
										
											2017-09-28 16:18:12 -07:00
										 |  |  |     list(dir: string): Promise<string[]>; | 
					
						
							|  |  |  |     read(file: string): Promise<string>; | 
					
						
							|  |  |  |     write(file: string, contents: string): Promise<void>; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export declare class Generator { | 
					
						
							|  |  |  |     readonly fs: Filesystem; | 
					
						
							|  |  |  |     constructor(fs: Filesystem, baseHref: string); | 
					
						
							|  |  |  |     process(config: Config): Promise<Object>; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export declare type Glob = string; |