import * as forge from "node-forge"; import * as PDFLib from "pdf-lib"; export * as forge from "node-forge"; export * as PDFLib from "pdf-lib"; export declare function u8arrToRaw(uarr: Uint8Array): string; export declare function rawToU8arr(raw: string): Uint8Array; export declare namespace Crypto { enum Mode { RC4_40, RC4_128, AES_128, AES_256, } } export type DSSInfo = { certs?: Array; ocsps?: Array; crls?: Array; }; export type EncryptOption = { mode: Crypto.Mode; permissions?: Array; userpwd?: string; ownerpwd?: string; pubkeys?: Array; }; export type PubKeyInfo = { c?: Array | Uint8Array | ArrayBuffer | string | forge.pki.Certificate; p?: Array; }; export type SignAreaInfo = { x: number; y: number; w?: number; h?: number; }; export type SignTextInfo = { text: string, fontData?: Array | Uint8Array | ArrayBuffer | string; color?: string; opacity?: number; blendMode?: string; lineHeight?: number; size: number, xOffset?: number; yOffset?: number; wMax?: number; align?: number; noBreaks?: string; }; export type SignImageInfo = { imgData: Array | Uint8Array | ArrayBuffer | string; imgType: string; opacity?: number; blendMode?: string; }; export type SignDrawInfo = { area: SignAreaInfo; pageidx?: number | string; /** @deprecated use imgInfo instead */ imgData?: Array | Uint8Array | ArrayBuffer | string; /** @deprecated use imgInfo instead */ imgType?: string; imgInfo?: SignImageInfo; textInfo?: SignTextInfo; }; export type SignOption = { p12cert?: Array | Uint8Array | ArrayBuffer | string; pwd?: string; permission?: number; reason?: string; location?: string; contact?: string; signdate?: Date | TsaServiceInfo | string; signame?: string; drawinf?: SignDrawInfo; ltv?: number; debug?: boolean; }; export type TsaServiceInfo = { url: string; len?: number; headers?: Record; }; export declare class CertsChain { constructor(certs?: Array); buildChain(cert: forge.pki.Certificate): Promise; getAllCerts(): Array; getSignCert(): forge.pki.Certificate; isSelfSignedCert(): boolean; prepareDSSInf(crlOnly?: boolean): Promise; } export declare class PdfCryptor { constructor(encopt: EncryptOption); encryptPdf(pdf: PDFLib.PDFDocument | Array | Uint8Array | ArrayBuffer | string, ref?: PDFLib.PDFRef): Promise; encryptObject(num: number, val: PDFLib.PDFObject): void; } export declare class PdfSigner { constructor(signopt: SignOption); sign(pdf: PDFLib.PDFDocument | Array | Uint8Array | ArrayBuffer | string, cypopt?: EncryptOption): Promise; } export declare class TsaFetcher { constructor(inf: TsaServiceInfo); url: string; len: number; getCertsChain(): CertsChain; getToken(forP7?: boolean): forge.asn1.Asn1; queryTsa(data?: string): Promise; }