vue-pdf-embed
Version:
PDF embed component for Vue
158 lines (156 loc) • 4.67 kB
TypeScript
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;
};
};