import { EventEmitter } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { Subject } from 'rxjs/Subject'; import { ButtonConfig, ButtonStyle, ImageViewerConfig } from './imageviewer.config'; export declare class Button { private style; sortId: number; icon: string; tooltip: string; hover: boolean | Function; display: boolean; private drawPosition; private drawRadius; constructor(config: ButtonConfig, style: ButtonStyle); onClick(evt: any): boolean; onMouseDown(evt: any): boolean; draw(ctx: any, x: any, y: any, radius: any): void; private drawIconFont(ctx, centreX, centreY, size); isWithinBounds(x: any, y: any): boolean; } export declare class Viewport { width: number; height: number; scale: number; rotation: number; x: number; y: number; constructor(width: number, height: number, scale: number, rotation: number, x: number, y: number); } export interface Dimension { width: number; height: number; } export declare enum ResourceLoadState { Failed = 0, Loaded = 1, Loading = 2, Pristine = 3, } export declare enum ResourceType { Image = 0, PDF = 1, } export interface ResourceState { currentPage: number; numOfPages: number; type: ResourceType; } export declare abstract class ResourceLoader { src: string; sourceDim: { width: number; height: number; }; viewport: Viewport; minScale: number; maxScale: number; currentItem: number; totalItem: number; showItemsQuantity: boolean; loadState: ResourceLoadState; rendering: boolean; protected _image: any; protected onLoadError: EventEmitter<{}>; protected onResourceStateChange: EventEmitter; protected resourceChange: Subject; abstract setUp(): any; abstract loadResource(): any; setLoadErrorEmitter(emitter: any): void; resetViewport(canvasDim: Dimension): boolean; draw(ctx: any, config: ImageViewerConfig, canvasDim: Dimension, onFinish: any): void; private drawCenteredText(ctx, config, canvasDim, message, isError?); onResourceChange(): Observable; setResourceStateChangeEmitter(emitter: any): void; } export declare function toSquareAngle(angle: number): number;