import { AnnotationStorage } from './pdf-annotation-storage';
import { PageViewport } from './pdf-page-view-port';
import { PDFPageProxy } from './pdf-viewer-application';
export type AnnotationLayerBuilderOptions = {
    pdfPage: PDFPageProxy;
    annotationStorage?: AnnotationStorage;
    /**
     * - Path for image resources, mainly
     * for annotation icons. Include trailing slash.
     */
    imageResourcesPath?: string;
    renderForms: boolean;
    linkService: any;
    downloadManager?: any;
    enableScripting?: boolean;
    hasJSActionsPromise?: Promise<boolean>;
    fieldObjectsPromise?: Promise<{
        [x: string]: Object[];
    } | null>;
    annotationCanvasMap?: Map<string, HTMLCanvasElement>;
    accessibilityManager?: any;
    annotationEditorUIManager?: any;
    onAppend?: Function;
};
export type AnnotationLayerBuilderRenderOptions = {
    viewport: PageViewport;
    /**
     * - The default value is "display".
     */
    intent?: string;
    structTreeLayer?: any;
};
export interface AnnotationLayerBuilder {
    pageDiv: HTMLDivElement;
    pdfPage: PDFPageProxy;
    annotationStorage: AnnotationStorage;
    imageResourcesPath: string;
    renderForms: boolean;
    enableScripting: boolean;
    annotationCanvasMap: Map<string, HTMLCanvasElement>;
    render({ viewport, intent, structTreeLayer }: AnnotationLayerBuilderRenderOptions): Promise<void>;
}
