| import Element, { ElementProps, ElementStatePropNames, ElementAnimateConfig, ElementCommonState } from '../Element'; | 
| import BoundingRect from '../core/BoundingRect'; | 
| import { PropType, Dictionary, MapToType } from '../core/types'; | 
| import Path from './Path'; | 
| import Animator from '../animation/Animator'; | 
| export interface CommonStyleProps { | 
|     shadowBlur?: number; | 
|     shadowOffsetX?: number; | 
|     shadowOffsetY?: number; | 
|     shadowColor?: string; | 
|     opacity?: number; | 
|     blend?: string; | 
| } | 
| export declare const DEFAULT_COMMON_STYLE: CommonStyleProps; | 
| export declare const DEFAULT_COMMON_ANIMATION_PROPS: MapToType<DisplayableProps, boolean>; | 
| export interface DisplayableProps extends ElementProps { | 
|     style?: Dictionary<any>; | 
|     zlevel?: number; | 
|     z?: number; | 
|     z2?: number; | 
|     culling?: boolean; | 
|     cursor?: string; | 
|     rectHover?: boolean; | 
|     progressive?: boolean; | 
|     incremental?: boolean; | 
|     ignoreCoarsePointer?: boolean; | 
|     batch?: boolean; | 
|     invisible?: boolean; | 
| } | 
| declare type DisplayableKey = keyof DisplayableProps; | 
| declare type DisplayablePropertyType = PropType<DisplayableProps, DisplayableKey>; | 
| export declare type DisplayableStatePropNames = ElementStatePropNames | 'style' | 'z' | 'z2' | 'invisible'; | 
| export declare type DisplayableState = Pick<DisplayableProps, DisplayableStatePropNames> & ElementCommonState; | 
| interface Displayable<Props extends DisplayableProps = DisplayableProps> { | 
|     animate(key?: '', loop?: boolean): Animator<this>; | 
|     animate(key: 'style', loop?: boolean): Animator<this['style']>; | 
|     getState(stateName: string): DisplayableState; | 
|     ensureState(stateName: string): DisplayableState; | 
|     states: Dictionary<DisplayableState>; | 
|     stateProxy: (stateName: string) => DisplayableState; | 
| } | 
| declare class Displayable<Props extends DisplayableProps = DisplayableProps> extends Element<Props> { | 
|     invisible: boolean; | 
|     z: number; | 
|     z2: number; | 
|     zlevel: number; | 
|     culling: boolean; | 
|     cursor: string; | 
|     rectHover: boolean; | 
|     incremental: boolean; | 
|     ignoreCoarsePointer?: boolean; | 
|     style: Dictionary<any>; | 
|     protected _normalState: DisplayableState; | 
|     protected _rect: BoundingRect; | 
|     protected _paintRect: BoundingRect; | 
|     protected _prevPaintRect: BoundingRect; | 
|     dirtyRectTolerance: number; | 
|     useHoverLayer?: boolean; | 
|     __hoverStyle?: CommonStyleProps; | 
|     __clipPaths?: Path[]; | 
|     __canvasFillGradient: CanvasGradient; | 
|     __canvasStrokeGradient: CanvasGradient; | 
|     __canvasFillPattern: CanvasPattern; | 
|     __canvasStrokePattern: CanvasPattern; | 
|     __svgEl: SVGElement; | 
|     constructor(props?: Props); | 
|     protected _init(props?: Props): void; | 
|     beforeBrush(): void; | 
|     afterBrush(): void; | 
|     innerBeforeBrush(): void; | 
|     innerAfterBrush(): void; | 
|     shouldBePainted(viewWidth: number, viewHeight: number, considerClipPath: boolean, considerAncestors: boolean): boolean; | 
|     contain(x: number, y: number): boolean; | 
|     traverse<Context>(cb: (this: Context, el: this) => void, context?: Context): void; | 
|     rectContain(x: number, y: number): boolean; | 
|     getPaintRect(): BoundingRect; | 
|     setPrevPaintRect(paintRect: BoundingRect): void; | 
|     getPrevPaintRect(): BoundingRect; | 
|     animateStyle(loop: boolean): Animator<this["style"]>; | 
|     updateDuringAnimation(targetKey: string): void; | 
|     attrKV(key: DisplayableKey, value: DisplayablePropertyType): void; | 
|     setStyle(obj: Props['style']): this; | 
|     setStyle<T extends keyof Props['style']>(obj: T, value: Props['style'][T]): this; | 
|     dirtyStyle(notRedraw?: boolean): void; | 
|     dirty(): void; | 
|     styleChanged(): boolean; | 
|     styleUpdated(): void; | 
|     createStyle(obj?: Props['style']): Props["style"]; | 
|     useStyle(obj: Props['style']): void; | 
|     isStyleObject(obj: Props['style']): any; | 
|     protected _innerSaveToNormal(toState: DisplayableState): void; | 
|     protected _applyStateObj(stateName: string, state: DisplayableState, normalState: DisplayableState, keepCurrentStates: boolean, transition: boolean, animationCfg: ElementAnimateConfig): void; | 
|     protected _mergeStates(states: DisplayableState[]): DisplayableState; | 
|     protected _mergeStyle(targetStyle: CommonStyleProps, sourceStyle: CommonStyleProps): CommonStyleProps; | 
|     getAnimationStyleProps(): MapToType<DisplayableProps, boolean>; | 
|     protected static initDefaultProps: void; | 
| } | 
| export default Displayable; |