| // TODO Should GradientObject been LinearGradientObject | RadialGradientObject | 
| export interface GradientObject { | 
|   | 
|     id?: number | 
|   | 
|     type: string | 
|   | 
|     colorStops: GradientColorStop[] | 
|   | 
|     global?: boolean | 
| } | 
|   | 
| export interface InnerGradientObject extends GradientObject { | 
|     __canvasGradient: CanvasGradient | 
|     __width: number | 
|     __height: number | 
| } | 
|   | 
| export interface GradientColorStop { | 
|     offset: number | 
|     color: string | 
| } | 
|   | 
| export default class Gradient { | 
|   | 
|     id?: number | 
|   | 
|     type: string | 
|   | 
|     colorStops: GradientColorStop[] | 
|   | 
|     global: boolean | 
|   | 
|     constructor(colorStops: GradientColorStop[]) { | 
|         this.colorStops = colorStops || []; | 
|     } | 
|   | 
|     addColorStop(offset: number, color: string) { | 
|         this.colorStops.push({ | 
|             offset, | 
|             color | 
|         }); | 
|     } | 
| } |