import { PDFLinkService } from 'pdfjs-dist/web/pdf_viewer.mjs';
import type { PasswordRequestParams, Source } from './types';
declare function __VLS_template(): {
    "before-page"?(_: {
        page: number;
    }): any;
    "after-page"?(_: {
        page: number;
    }): any;
};
declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<{
    /**
     * Whether to enable an annotation layer.
     */
    annotationLayer?: boolean;
    /**
     * Desired page height.
     */
    height?: number;
    /**
     * Root element identifier (inherited by page containers with page number
     * postfixes).
     */
    id?: string;
    /**
     * Path for annotation icons, including trailing slash.
     */
    imageResourcesPath?: string;
    /**
     * Document navigation service.
     */
    linkService?: PDFLinkService;
    /**
     * Number of the page to display.
     */
    page?: number;
    /**
     * Desired page rotation angle.
     */
    rotation?: number;
    /**
     * Desired ratio of canvas size to document size.
     */
    scale?: number;
    /**
     * Source of the document to display.
     */
    source: Source;
    /**
     * Whether to enable a text layer.
     */
    textLayer?: boolean;
    /**
     * Desired page width.
     */
    width?: number;
}>, {
    rotation: number;
    scale: number;
}>, {
    doc: import("vue").ShallowRef<import("pdfjs-dist/types/src/display/api").PDFDocumentProxy | null>;
    download: (filename: string) => Promise<void>;
    print: (dpi?: number, filename?: string, allPages?: boolean) => Promise<void>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "internal-link-clicked": (value: number) => void;
    loaded: (value: import("pdfjs-dist/types/src/display/api").PDFDocumentProxy) => void;
    "loading-failed": (value: Error) => void;
    "password-requested": (value: PasswordRequestParams) => void;
    progress: (value: import("pdfjs-dist/types/src/display/api").OnProgressParameters) => void;
    rendered: () => void;
    "rendering-failed": (value: Error) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{
    /**
     * Whether to enable an annotation layer.
     */
    annotationLayer?: boolean;
    /**
     * Desired page height.
     */
    height?: number;
    /**
     * Root element identifier (inherited by page containers with page number
     * postfixes).
     */
    id?: string;
    /**
     * Path for annotation icons, including trailing slash.
     */
    imageResourcesPath?: string;
    /**
     * Document navigation service.
     */
    linkService?: PDFLinkService;
    /**
     * Number of the page to display.
     */
    page?: number;
    /**
     * Desired page rotation angle.
     */
    rotation?: number;
    /**
     * Desired ratio of canvas size to document size.
     */
    scale?: number;
    /**
     * Source of the document to display.
     */
    source: Source;
    /**
     * Whether to enable a text layer.
     */
    textLayer?: boolean;
    /**
     * Desired page width.
     */
    width?: number;
}>, {
    rotation: number;
    scale: number;
}>>> & {
    onProgress?: ((value: import("pdfjs-dist/types/src/display/api").OnProgressParameters) => any) | undefined;
    "onInternal-link-clicked"?: ((value: number) => any) | undefined;
    onLoaded?: ((value: import("pdfjs-dist/types/src/display/api").PDFDocumentProxy) => any) | undefined;
    "onLoading-failed"?: ((value: Error) => any) | undefined;
    "onPassword-requested"?: ((value: PasswordRequestParams) => any) | undefined;
    onRendered?: (() => any) | undefined;
    "onRendering-failed"?: ((value: Error) => any) | undefined;
}, {
    rotation: number;
    scale: number;
}, {}>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;

type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToOption<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
