import { ImageLike } from '../core/types'; 
 | 
import { SVGVNode } from '../svg/core'; 
 | 
declare type ImagePatternRepeat = 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat'; 
 | 
export interface PatternObjectBase { 
 | 
    id?: number; 
 | 
    type?: 'pattern'; 
 | 
    x?: number; 
 | 
    y?: number; 
 | 
    rotation?: number; 
 | 
    scaleX?: number; 
 | 
    scaleY?: number; 
 | 
} 
 | 
export interface ImagePatternObject extends PatternObjectBase { 
 | 
    image: ImageLike | string; 
 | 
    repeat?: ImagePatternRepeat; 
 | 
    imageWidth?: number; 
 | 
    imageHeight?: number; 
 | 
} 
 | 
export interface InnerImagePatternObject extends ImagePatternObject { 
 | 
    __image?: ImageLike; 
 | 
} 
 | 
export interface SVGPatternObject extends PatternObjectBase { 
 | 
    svgElement?: SVGVNode; 
 | 
    svgWidth?: number; 
 | 
    svgHeight?: number; 
 | 
} 
 | 
export declare type PatternObject = ImagePatternObject | SVGPatternObject; 
 | 
declare class Pattern { 
 | 
    type: 'pattern'; 
 | 
    image: ImageLike | string; 
 | 
    svgElement: SVGElement | string; 
 | 
    repeat: ImagePatternRepeat; 
 | 
    x: number; 
 | 
    y: number; 
 | 
    rotation: number; 
 | 
    scaleX: number; 
 | 
    scaleY: number; 
 | 
    constructor(image: ImageLike | string, repeat: ImagePatternRepeat); 
 | 
} 
 | 
export default Pattern; 
 |