export interface Vector { x : number ; y : number ; } type LineCap = 'butt' | 'round' | 'square' ; type LineJoin = 'bevel' | 'round' | 'miter' ; export interface Chainable { stroke ( ) : Chainable ; fill ( ) : Chainable ; fillAndStroke ( ) : Chainable ; } export interface Graphics { width ( ) : number ; height ( ) : number ; clear ( ) : void ; circle ( center , r ) : Chainable ; ellipse ( center , w , h , start ? , stop ? ) : Chainable ; arc ( x , y , r , start , stop ) : Chainable ; roundRect ( x , y , w , h , r ) : Chainable ; rect ( x , y , w , h ) : Chainable ; path ( points ) : Chainable ; circuit ( path , offset ? , s ? ) : Chainable ; setFont ( fontFamily , bold , italic , fontSize ) : void ; strokeStyle ( stroke ) : void ; fillStyle ( fill ) : void ; arcTo ( x1 , y1 , x2 , y2 , radius ) : void ; beginPath ( ) : Chainable ; fillText ( text , x , y ) : Chainable ; lineCap ( cap ) : void ; lineJoin ( join ) : void ; lineTo ( x , y ) : Chainable ; lineWidth ( w ) : void ; measureText ( s ) : { width : number ; } ; moveTo ( x , y ) : void ; restore ( ) : void ; save ( ) : void ; setData ( name , value ) : void ; scale ( x , y ) : void ; setLineDash ( d ) : void ; stroke ( ) : void ; textAlign ( a ) : void ; translate ( dx , dy ) : void ; }