//@ts-ignore
import { PluginModel } from "@grapecity/viewer-core";
import { GcImageDocumentView } from './GcImageDocumentView';
import { GcImageViewer } from "./GcImageViewer";
import { ImagePaneView } from "./ImageDocumentViewer/ImagePaneView";
import { GcImageViewerRunEventsSink } from "./Models/Types";
export declare type ParameterInfo = {
    Name: string;
    Omit?: boolean;
    Value: string;
};
export declare type InteractivityAction = {
    Type: 'toggle';
    Data: string;
} | {
    Type: 'sort';
    Data: string;
};
export declare type DrillthroughAction = {
    Type: 'drillthrough';
    Target: string;
    Parameters: ParameterInfo[];
};
export declare class GcImageDocument implements PluginModel.IDocument {
    private _mainSink;
    private _viewSink;
    private _interactivityActions;
    private _documentView;
    private viewer;
    private imagePaneView;
    fileDataOrUrl: any;
    constructor(viewer: GcImageViewer, imagePaneView: ImagePaneView, fileDataOrUrl: any);
    canView: () => boolean;
    get sink(): GcImageViewerRunEventsSink;
    get fileData(): Uint8Array;
    storeInteractivity: (it: InteractivityAction[]) => number;
    get storeI11yPos(): number;
    truncateInteractivityStore(pos: number): void;
    newPage(params?: {
        width?: number;
        height?: number;
        pageIndex?: number;
    }): Promise<void>;
    deletePage(pageIndex?: number): Promise<void>;
    raiseDocumentViewComplete(): void;
    createView: (baseView: PluginModel.IDocumentView | null, sink: PluginModel.IRunEventsSink) => Promise<GcImageDocumentView>;
    updateView: (view: PluginModel.IDocumentView, sink: PluginModel.IRunEventsSink) => Promise<GcImageDocumentView>;
    dispose(): void;
}
