import { ComponentEvent } from "@egjs/component";
import PanoViewer from "../PanoViewer/PanoViewer";
import SpinViewer from "../SpinViewer/SpinViewer";
export declare type ReadyEvent<T extends PanoViewer = PanoViewer> = ComponentEvent<{}, "ready", T>;
export interface ViewChangeEvent<T extends PanoViewer = PanoViewer> extends ComponentEvent<{}, "viewChange", T> {
    yaw: number;
    pitch: number;
    fov: number;
    isTrusted: boolean;
}
export interface AnimationEndEvent<T extends any> extends ComponentEvent<{}, "animationEnd", T> {
    isTrusted: boolean;
}
export interface ErrorEvent<T extends PanoViewer = PanoViewer> extends ComponentEvent<{}, "error", T> {
    type: number;
    message: string;
}
export interface LoadEvent<T extends SpinViewer = SpinViewer> extends ComponentEvent<{}, "load", T> {
    target: HTMLElement;
    bgElement: HTMLDivElement;
}
export interface ImageErrorEvent<T extends SpinViewer = SpinViewer> extends ComponentEvent<{}, "imageError", T> {
    imageUrl?: string;
}
export interface ChangeEvent<T extends SpinViewer = SpinViewer> extends ComponentEvent<{}, "change", T> {
    colRow: number[];
    frameIndex: number;
    angle: number;
}
