/// <reference types="emscripten" />
interface PdfiumModule extends EmscriptenModule {}

interface WasmExports {
    malloc: (size: number) => number;
    free: (ptr: number) => void;
}
/**
 * Subset of Emscripten helpers that our wrapper re-exports.
 * Extend `customTsTypes` above if you want richer typings.
 */
interface PdfiumRuntimeMethods {
    wasmExports: WasmExports;
    UTF16ToString: typeof UTF16ToString;
    UTF8ToString: typeof UTF8ToString;
    addFunction: typeof addFunction;
    ccall: typeof ccall;
    cwrap: typeof cwrap;
    getValue: typeof getValue;
    removeFunction: typeof removeFunction;
    setValue: typeof setValue;
    stringToUTF16: typeof stringToUTF16;
    stringToUTF8: typeof stringToUTF8;
}

declare const functions: {
    readonly EPDF_GetMetaKeyCount: readonly [readonly ["number", "boolean"], "number"];
    readonly EPDF_GetMetaKeyName: readonly [readonly ["number", "number", "boolean", "number", "number"], "number"];
    readonly EPDF_GetMetaTrapped: readonly [readonly ["number"], "number"];
    readonly EPDF_GetPageRotationByIndex: readonly [readonly ["number", "number"], "number"];
    readonly EPDF_GetPageSizeByIndexNormalized: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDF_HasMetaText: readonly [readonly ["number", "string"], "boolean"];
    readonly EPDF_IsEncrypted: readonly [readonly ["number"], "boolean"];
    readonly EPDF_IsOwnerUnlocked: readonly [readonly ["number"], "boolean"];
    readonly EPDF_LoadPageNormalized: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDF_PNG_EncodeRGBA: readonly [readonly ["number", "number", "number", "number", "number", "number"], "number"];
    readonly EPDF_RemoveEncryption: readonly [readonly ["number"], "boolean"];
    readonly EPDF_RenderAnnotBitmap: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly EPDF_RenderAnnotBitmapUnrotated: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly EPDF_SetEncryption: readonly [readonly ["number", "string", "string", "number"], "boolean"];
    readonly EPDF_SetMetaText: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly EPDF_SetMetaTrapped: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDF_UnlockOwnerPermissions: readonly [readonly ["number", "string"], "boolean"];
    readonly EPDFAction_CreateGoTo: readonly [readonly ["number", "number"], "number"];
    readonly EPDFAction_CreateGoToNamed: readonly [readonly ["number", "string"], "number"];
    readonly EPDFAction_CreateLaunch: readonly [readonly ["number", "number"], "number"];
    readonly EPDFAction_CreateRemoteGoToByName: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFAction_CreateRemoteGoToDest: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFAction_CreateURI: readonly [readonly ["number", "string"], "number"];
    readonly EPDFAnnot_ApplyRedaction: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_ClearBorderEffect: readonly [readonly ["number"], "boolean"];
    readonly EPDFAnnot_ClearColor: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_ClearMKColor: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_ClearRectangleDifferences: readonly [readonly ["number"], "boolean"];
    readonly EPDFAnnot_ExportAppearanceAsDocument: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_ExportMultipleAppearancesAsDocument: readonly [readonly ["number", "number"], "number"];
    readonly EPDFAnnot_Flatten: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_GenerateAppearance: readonly [readonly ["number"], "boolean"];
    readonly EPDFAnnot_GenerateAppearanceWithBlend: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_GenerateFormFieldAP: readonly [readonly ["number"], "boolean"];
    readonly EPDFAnnot_GetAPMatrix: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_GetAvailableAppearanceModes: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_GetBlendMode: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_GetBorderDashPattern: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_GetBorderDashPatternCount: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_GetBorderEffect: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_GetBorderStyle: readonly [readonly ["number", "number"], "number"];
    readonly EPDFAnnot_GetButtonExportValue: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFAnnot_GetCalloutLine: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFAnnot_GetCalloutLineCount: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_GetColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_GetDefaultAppearance: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_GetExtendedRotation: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_GetFormFieldObjectNumber: readonly [readonly ["number", "number"], "number"];
    readonly EPDFAnnot_GetFormFieldRawValue: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly EPDFAnnot_GetIntent: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFAnnot_GetLineEndings: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_GetMKColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_GetName: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_GetObjectNumber: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_GetOpacity: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_GetOverlayText: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFAnnot_GetOverlayTextRepeat: readonly [readonly ["number"], "boolean"];
    readonly EPDFAnnot_GetRect: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_GetRectangleDifferences: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_GetReplyType: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_GetRichContent: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFAnnot_GetRotate: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_GetTextAlignment: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_GetUnrotatedRect: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_GetVerticalAlignment: readonly [readonly ["number"], "number"];
    readonly EPDFAnnot_HasAppearanceStream: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetAction: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetAPMatrix: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetAppearanceFromPage: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetBorderDashPattern: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetBorderEffect: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetBorderStyle: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetCalloutLine: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetDefaultAppearance: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetExtendedRotation: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetFormFieldName: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetFormFieldOptions: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetFormFieldValue: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetIntent: readonly [readonly ["number", "string"], "boolean"];
    readonly EPDFAnnot_SetLine: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetLineEndings: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetLinkedAnnot: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly EPDFAnnot_SetMKColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetName: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetNumberValue: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly EPDFAnnot_SetOpacity: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetOverlayText: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetOverlayTextRepeat: readonly [readonly ["number", "boolean"], "boolean"];
    readonly EPDFAnnot_SetRectangleDifferences: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFAnnot_SetReplyType: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetRotate: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetTextAlignment: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetUnrotatedRect: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetVerticalAlignment: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAnnot_SetVertices: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_ShareFormField: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFAnnot_UpdateAppearanceToRect: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAttachment_GetDescription: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFAttachment_GetIntegerValue: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly EPDFAttachment_SetDescription: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFAttachment_SetSubtype: readonly [readonly ["number", "string"], "boolean"];
    readonly EPDFBookmark_AppendChild: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFBookmark_Clear: readonly [readonly ["number"], "boolean"];
    readonly EPDFBookmark_ClearTarget: readonly [readonly ["number"], "boolean"];
    readonly EPDFBookmark_Create: readonly [readonly ["number", "number"], "number"];
    readonly EPDFBookmark_Delete: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFBookmark_InsertAfter: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly EPDFBookmark_SetAction: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFBookmark_SetDest: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFBookmark_SetTitle: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFCatalog_GetLanguage: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFDest_CreateRemoteView: readonly [readonly ["number", "number", "number", "number", "number"], "number"];
    readonly EPDFDest_CreateRemoteXYZ: readonly [readonly ["number", "number", "boolean", "number", "boolean", "number", "boolean", "number"], "number"];
    readonly EPDFDest_CreateView: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly EPDFDest_CreateXYZ: readonly [readonly ["number", "boolean", "number", "boolean", "number", "boolean", "number"], "number"];
    readonly EPDFDoc_GetPageObjectNumberByIndex: readonly [readonly ["number", "number"], "number"];
    readonly EPDFDoc_LoadPageByObjectNumber: readonly [readonly ["number", "number"], "number"];
    readonly EPDFImageObj_SetJpeg: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFImageObj_SetPng: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly EPDFNamedDest_Remove: readonly [readonly ["number", "string"], "boolean"];
    readonly EPDFNamedDest_SetDest: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly EPDFPage_ApplyRedactions: readonly [readonly ["number"], "boolean"];
    readonly EPDFPage_CreateAnnot: readonly [readonly ["number", "number"], "number"];
    readonly EPDFPage_CreateFormField: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly EPDFPage_GetAnnotByName: readonly [readonly ["number", "number"], "number"];
    readonly EPDFPage_GetAnnotByObjectNumber: readonly [readonly ["number", "number"], "number"];
    readonly EPDFPage_GetAnnotCountRaw: readonly [readonly ["number", "number"], "number"];
    readonly EPDFPage_GetAnnotRaw: readonly [readonly ["number", "number", "number"], "number"];
    readonly EPDFPage_GetObjectNumber: readonly [readonly ["number"], "number"];
    readonly EPDFPage_MoveAnnots: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly EPDFPage_RemoveAnnot: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFPage_RemoveAnnotByName: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFPage_RemoveAnnotByObjectNumber: readonly [readonly ["number", "number"], "boolean"];
    readonly EPDFPage_RemoveAnnotRaw: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly EPDFText_RedactInQuads: readonly [readonly ["number", "number", "number", "boolean", "boolean"], "boolean"];
    readonly EPDFText_RedactInRect: readonly [readonly ["number", "number", "boolean", "boolean"], "boolean"];
    readonly FORM_CanRedo: readonly [readonly ["number", "number"], "boolean"];
    readonly FORM_CanUndo: readonly [readonly ["number", "number"], "boolean"];
    readonly FORM_DoDocumentAAction: readonly [readonly ["number", "number"], null];
    readonly FORM_DoDocumentJSAction: readonly [readonly ["number"], null];
    readonly FORM_DoDocumentOpenAction: readonly [readonly ["number"], null];
    readonly FORM_DoPageAAction: readonly [readonly ["number", "number", "number"], null];
    readonly FORM_ForceToKillFocus: readonly [readonly ["number"], "boolean"];
    readonly FORM_GetFocusedAnnot: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FORM_GetFocusedText: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FORM_GetSelectedText: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FORM_IsIndexSelected: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FORM_OnAfterLoadPage: readonly [readonly ["number", "number"], null];
    readonly FORM_OnBeforeClosePage: readonly [readonly ["number", "number"], null];
    readonly FORM_OnChar: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FORM_OnFocus: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FORM_OnKeyDown: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FORM_OnKeyUp: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FORM_OnLButtonDoubleClick: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FORM_OnLButtonDown: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FORM_OnLButtonUp: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FORM_OnMouseMove: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FORM_OnMouseWheel: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FORM_OnRButtonDown: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FORM_OnRButtonUp: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FORM_Redo: readonly [readonly ["number", "number"], "boolean"];
    readonly FORM_ReplaceAndKeepSelection: readonly [readonly ["number", "number", "number"], null];
    readonly FORM_ReplaceSelection: readonly [readonly ["number", "number", "number"], null];
    readonly FORM_SelectAllText: readonly [readonly ["number", "number"], "boolean"];
    readonly FORM_SetFocusedAnnot: readonly [readonly ["number", "number"], "boolean"];
    readonly FORM_SetIndexSelected: readonly [readonly ["number", "number", "number", "boolean"], "boolean"];
    readonly FORM_Undo: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDF_AddInstalledFont: readonly [readonly ["number", "number", "number"], null];
    readonly FPDF_CloseDocument: readonly [readonly ["number"], null];
    readonly FPDF_ClosePage: readonly [readonly ["number"], null];
    readonly FPDF_CloseXObject: readonly [readonly ["number"], null];
    readonly FPDF_CopyViewerPreferences: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDF_CountNamedDests: readonly [readonly ["number"], "number"];
    readonly FPDF_CreateClipPath: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDF_CreateNewDocument: readonly [readonly [], "number"];
    readonly FPDF_DestroyClipPath: readonly [readonly ["number"], null];
    readonly FPDF_DestroyLibrary: readonly [readonly [], null];
    readonly FPDF_DeviceToPage: readonly [readonly ["number", "number", "number", "number", "number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDF_DocumentHasValidCrossReferenceTable: readonly [readonly ["number"], "boolean"];
    readonly FPDF_FFLDraw: readonly [readonly ["number", "number", "number", "number", "number", "number", "number", "number", "number"], null];
    readonly FPDF_FreeDefaultSystemFontInfo: readonly [readonly ["number"], null];
    readonly FPDF_GetDefaultSystemFontInfo: readonly [readonly [], "number"];
    readonly FPDF_GetDefaultTTFMap: readonly [readonly [], "number"];
    readonly FPDF_GetDefaultTTFMapCount: readonly [readonly [], "number"];
    readonly FPDF_GetDefaultTTFMapEntry: readonly [readonly ["number"], "number"];
    readonly FPDF_GetDocPermissions: readonly [readonly ["number"], "number"];
    readonly FPDF_GetDocUserPermissions: readonly [readonly ["number"], "number"];
    readonly FPDF_GetFileIdentifier: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDF_GetFileVersion: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDF_GetFormType: readonly [readonly ["number"], "number"];
    readonly FPDF_GetLastError: readonly [readonly [], "number"];
    readonly FPDF_GetMetaText: readonly [readonly ["number", "string", "number", "number"], "number"];
    readonly FPDF_GetNamedDest: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDF_GetNamedDestByName: readonly [readonly ["number", "string"], "number"];
    readonly FPDF_GetPageAAction: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_GetPageBoundingBox: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDF_GetPageCount: readonly [readonly ["number"], "number"];
    readonly FPDF_GetPageHeight: readonly [readonly ["number"], "number"];
    readonly FPDF_GetPageHeightF: readonly [readonly ["number"], "number"];
    readonly FPDF_GetPageLabel: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDF_GetPageSizeByIndex: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDF_GetPageSizeByIndexF: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDF_GetPageWidth: readonly [readonly ["number"], "number"];
    readonly FPDF_GetPageWidthF: readonly [readonly ["number"], "number"];
    readonly FPDF_GetSecurityHandlerRevision: readonly [readonly ["number"], "number"];
    readonly FPDF_GetSignatureCount: readonly [readonly ["number"], "number"];
    readonly FPDF_GetSignatureObject: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_GetTrailerEnds: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_GetXFAPacketContent: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDF_GetXFAPacketCount: readonly [readonly ["number"], "number"];
    readonly FPDF_GetXFAPacketName: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDF_ImportNPagesToOne: readonly [readonly ["number", "number", "number", "number", "number"], "number"];
    readonly FPDF_ImportPages: readonly [readonly ["number", "number", "string", "number"], "boolean"];
    readonly FPDF_ImportPagesByIndex: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDF_InitLibrary: readonly [readonly [], null];
    readonly FPDF_InitLibraryWithConfig: readonly [readonly ["number"], null];
    readonly FPDF_LoadCustomDocument: readonly [readonly ["number", "string"], "number"];
    readonly FPDF_LoadDocument: readonly [readonly ["number", "string"], "number"];
    readonly FPDF_LoadMemDocument: readonly [readonly ["number", "number", "string"], "number"];
    readonly FPDF_LoadMemDocument64: readonly [readonly ["number", "number", "string"], "number"];
    readonly FPDF_LoadPage: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_LoadXFA: readonly [readonly ["number"], "boolean"];
    readonly FPDF_MovePages: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDF_NewFormObjectFromXObject: readonly [readonly ["number"], "number"];
    readonly FPDF_NewXObjectFromPage: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_PageToDevice: readonly [readonly ["number", "number", "number", "number", "number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDF_RemoveFormFieldHighlight: readonly [readonly ["number"], null];
    readonly FPDF_RenderPage_Close: readonly [readonly ["number"], null];
    readonly FPDF_RenderPage_Continue: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_RenderPageBitmap: readonly [readonly ["number", "number", "number", "number", "number", "number", "number", "number"], null];
    readonly FPDF_RenderPageBitmap_Start: readonly [readonly ["number", "number", "number", "number", "number", "number", "number", "number", "number"], "number"];
    readonly FPDF_RenderPageBitmapWithColorScheme_Start: readonly [readonly ["number", "number", "number", "number", "number", "number", "number", "number", "number", "number"], "number"];
    readonly FPDF_RenderPageBitmapWithMatrix: readonly [readonly ["number", "number", "number", "number", "number"], null];
    readonly FPDF_SaveAsCopy: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDF_SaveWithVersion: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDF_SetFormFieldHighlightAlpha: readonly [readonly ["number", "number"], null];
    readonly FPDF_SetFormFieldHighlightColor: readonly [readonly ["number", "number", "number"], null];
    readonly FPDF_SetSandBoxPolicy: readonly [readonly ["number", "boolean"], null];
    readonly FPDF_SetSystemFontInfo: readonly [readonly ["number"], null];
    readonly FPDF_StructElement_Attr_CountChildren: readonly [readonly ["number"], "number"];
    readonly FPDF_StructElement_Attr_GetBlobValue: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDF_StructElement_Attr_GetBooleanValue: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDF_StructElement_Attr_GetChildAtIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_StructElement_Attr_GetCount: readonly [readonly ["number"], "number"];
    readonly FPDF_StructElement_Attr_GetName: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDF_StructElement_Attr_GetNumberValue: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDF_StructElement_Attr_GetStringValue: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDF_StructElement_Attr_GetType: readonly [readonly ["number"], "number"];
    readonly FPDF_StructElement_Attr_GetValue: readonly [readonly ["number", "string"], "number"];
    readonly FPDF_StructElement_CountChildren: readonly [readonly ["number"], "number"];
    readonly FPDF_StructElement_GetActualText: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_StructElement_GetAltText: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_StructElement_GetAttributeAtIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_StructElement_GetAttributeCount: readonly [readonly ["number"], "number"];
    readonly FPDF_StructElement_GetChildAtIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_StructElement_GetChildMarkedContentID: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_StructElement_GetID: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_StructElement_GetLang: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_StructElement_GetMarkedContentID: readonly [readonly ["number"], "number"];
    readonly FPDF_StructElement_GetMarkedContentIdAtIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_StructElement_GetMarkedContentIdCount: readonly [readonly ["number"], "number"];
    readonly FPDF_StructElement_GetObjType: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_StructElement_GetParent: readonly [readonly ["number"], "number"];
    readonly FPDF_StructElement_GetStringAttribute: readonly [readonly ["number", "string", "number", "number"], "number"];
    readonly FPDF_StructElement_GetTitle: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_StructElement_GetType: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDF_StructTree_Close: readonly [readonly ["number"], null];
    readonly FPDF_StructTree_CountChildren: readonly [readonly ["number"], "number"];
    readonly FPDF_StructTree_GetChildAtIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_StructTree_GetForPage: readonly [readonly ["number"], "number"];
    readonly FPDF_VIEWERREF_GetDuplex: readonly [readonly ["number"], "number"];
    readonly FPDF_VIEWERREF_GetName: readonly [readonly ["number", "string", "number", "number"], "number"];
    readonly FPDF_VIEWERREF_GetNumCopies: readonly [readonly ["number"], "number"];
    readonly FPDF_VIEWERREF_GetPrintPageRange: readonly [readonly ["number"], "number"];
    readonly FPDF_VIEWERREF_GetPrintPageRangeCount: readonly [readonly ["number"], "number"];
    readonly FPDF_VIEWERREF_GetPrintPageRangeElement: readonly [readonly ["number", "number"], "number"];
    readonly FPDF_VIEWERREF_GetPrintScaling: readonly [readonly ["number"], "boolean"];
    readonly FPDFAction_GetDest: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAction_GetFilePath: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFAction_GetType: readonly [readonly ["number"], "number"];
    readonly FPDFAction_GetURIPath: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_AddFileAttachment: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAnnot_AddInkStroke: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFAnnot_AppendAttachmentPoints: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAnnot_AppendObject: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAnnot_CountAttachmentPoints: readonly [readonly ["number"], "number"];
    readonly FPDFAnnot_GetAP: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_GetAttachmentPoints: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_GetBorder: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFAnnot_GetColor: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFAnnot_GetFileAttachment: readonly [readonly ["number"], "number"];
    readonly FPDFAnnot_GetFlags: readonly [readonly ["number"], "number"];
    readonly FPDFAnnot_GetFocusableSubtypes: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_GetFocusableSubtypesCount: readonly [readonly ["number"], "number"];
    readonly FPDFAnnot_GetFontColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFAnnot_GetFontSize: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_GetFormAdditionalActionJavaScript: readonly [readonly ["number", "number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_GetFormControlCount: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAnnot_GetFormControlIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAnnot_GetFormFieldAlternateName: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_GetFormFieldAtPoint: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFAnnot_GetFormFieldExportValue: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_GetFormFieldFlags: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAnnot_GetFormFieldName: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_GetFormFieldType: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAnnot_GetFormFieldValue: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_GetInkListCount: readonly [readonly ["number"], "number"];
    readonly FPDFAnnot_GetInkListPath: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_GetLine: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_GetLink: readonly [readonly ["number"], "number"];
    readonly FPDFAnnot_GetLinkedAnnot: readonly [readonly ["number", "string"], "number"];
    readonly FPDFAnnot_GetNumberValue: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly FPDFAnnot_GetObject: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAnnot_GetObjectCount: readonly [readonly ["number"], "number"];
    readonly FPDFAnnot_GetOptionCount: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAnnot_GetOptionLabel: readonly [readonly ["number", "number", "number", "number", "number"], "number"];
    readonly FPDFAnnot_GetRect: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAnnot_GetStringValue: readonly [readonly ["number", "string", "number", "number"], "number"];
    readonly FPDFAnnot_GetSubtype: readonly [readonly ["number"], "number"];
    readonly FPDFAnnot_GetValueType: readonly [readonly ["number", "string"], "number"];
    readonly FPDFAnnot_GetVertices: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFAnnot_HasAttachmentPoints: readonly [readonly ["number"], "boolean"];
    readonly FPDFAnnot_HasKey: readonly [readonly ["number", "string"], "boolean"];
    readonly FPDFAnnot_IsChecked: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAnnot_IsObjectSupportedSubtype: readonly [readonly ["number"], "boolean"];
    readonly FPDFAnnot_IsOptionSelected: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_IsSupportedSubtype: readonly [readonly ["number"], "boolean"];
    readonly FPDFAnnot_RemoveInkList: readonly [readonly ["number"], "boolean"];
    readonly FPDFAnnot_RemoveObject: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAnnot_SetAP: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_SetAttachmentPoints: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_SetBorder: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFAnnot_SetColor: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFAnnot_SetFlags: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAnnot_SetFocusableSubtypes: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_SetFontColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFAnnot_SetFormFieldFlags: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFAnnot_SetRect: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAnnot_SetStringValue: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly FPDFAnnot_SetURI: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAnnot_UpdateObject: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFAttachment_GetFile: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFAttachment_GetName: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFAttachment_GetStringValue: readonly [readonly ["number", "string", "number", "number"], "number"];
    readonly FPDFAttachment_GetSubtype: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFAttachment_GetValueType: readonly [readonly ["number", "string"], "number"];
    readonly FPDFAttachment_HasKey: readonly [readonly ["number", "string"], "boolean"];
    readonly FPDFAttachment_SetFile: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFAttachment_SetStringValue: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly FPDFAvail_Create: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAvail_Destroy: readonly [readonly ["number"], null];
    readonly FPDFAvail_GetDocument: readonly [readonly ["number", "string"], "number"];
    readonly FPDFAvail_GetFirstPageNum: readonly [readonly ["number"], "number"];
    readonly FPDFAvail_IsDocAvail: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAvail_IsFormAvail: readonly [readonly ["number", "number"], "number"];
    readonly FPDFAvail_IsLinearized: readonly [readonly ["number"], "number"];
    readonly FPDFAvail_IsPageAvail: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFBitmap_Create: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFBitmap_CreateEx: readonly [readonly ["number", "number", "number", "number", "number"], "number"];
    readonly FPDFBitmap_Destroy: readonly [readonly ["number"], null];
    readonly FPDFBitmap_FillRect: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFBitmap_GetBuffer: readonly [readonly ["number"], "number"];
    readonly FPDFBitmap_GetFormat: readonly [readonly ["number"], "number"];
    readonly FPDFBitmap_GetHeight: readonly [readonly ["number"], "number"];
    readonly FPDFBitmap_GetStride: readonly [readonly ["number"], "number"];
    readonly FPDFBitmap_GetWidth: readonly [readonly ["number"], "number"];
    readonly FPDFBookmark_Find: readonly [readonly ["number", "number"], "number"];
    readonly FPDFBookmark_GetAction: readonly [readonly ["number"], "number"];
    readonly FPDFBookmark_GetCount: readonly [readonly ["number"], "number"];
    readonly FPDFBookmark_GetDest: readonly [readonly ["number", "number"], "number"];
    readonly FPDFBookmark_GetFirstChild: readonly [readonly ["number", "number"], "number"];
    readonly FPDFBookmark_GetNextSibling: readonly [readonly ["number", "number"], "number"];
    readonly FPDFBookmark_GetTitle: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFCatalog_GetLanguage: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFCatalog_IsTagged: readonly [readonly ["number"], "boolean"];
    readonly FPDFCatalog_SetLanguage: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFClipPath_CountPaths: readonly [readonly ["number"], "number"];
    readonly FPDFClipPath_CountPathSegments: readonly [readonly ["number", "number"], "number"];
    readonly FPDFClipPath_GetPathSegment: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFDest_GetDestPageIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDFDest_GetLocationInPage: readonly [readonly ["number", "number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFDest_GetView: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFDoc_AddAttachment: readonly [readonly ["number", "number"], "number"];
    readonly FPDFDoc_CloseJavaScriptAction: readonly [readonly ["number"], null];
    readonly FPDFDoc_DeleteAttachment: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFDOC_ExitFormFillEnvironment: readonly [readonly ["number"], null];
    readonly FPDFDoc_GetAttachment: readonly [readonly ["number", "number"], "number"];
    readonly FPDFDoc_GetAttachmentCount: readonly [readonly ["number"], "number"];
    readonly FPDFDoc_GetJavaScriptAction: readonly [readonly ["number", "number"], "number"];
    readonly FPDFDoc_GetJavaScriptActionCount: readonly [readonly ["number"], "number"];
    readonly FPDFDoc_GetPageMode: readonly [readonly ["number"], "number"];
    readonly FPDFDOC_InitFormFillEnvironment: readonly [readonly ["number", "number"], "number"];
    readonly FPDFFont_Close: readonly [readonly ["number"], null];
    readonly FPDFFont_GetAscent: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFFont_GetBaseFontName: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFFont_GetDescent: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFFont_GetFamilyName: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFFont_GetFlags: readonly [readonly ["number"], "number"];
    readonly FPDFFont_GetFontData: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFFont_GetGlyphPath: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFFont_GetGlyphWidth: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFFont_GetIsEmbedded: readonly [readonly ["number"], "number"];
    readonly FPDFFont_GetItalicAngle: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFFont_GetWeight: readonly [readonly ["number"], "number"];
    readonly FPDFFormObj_CountObjects: readonly [readonly ["number"], "number"];
    readonly FPDFFormObj_GetObject: readonly [readonly ["number", "number"], "number"];
    readonly FPDFFormObj_RemoveObject: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFGlyphPath_CountGlyphSegments: readonly [readonly ["number"], "number"];
    readonly FPDFGlyphPath_GetGlyphPathSegment: readonly [readonly ["number", "number"], "number"];
    readonly FPDFImageObj_GetBitmap: readonly [readonly ["number"], "number"];
    readonly FPDFImageObj_GetIccProfileDataDecoded: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFImageObj_GetImageDataDecoded: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFImageObj_GetImageDataRaw: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFImageObj_GetImageFilter: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFImageObj_GetImageFilterCount: readonly [readonly ["number"], "number"];
    readonly FPDFImageObj_GetImageMetadata: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFImageObj_GetImagePixelSize: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFImageObj_GetRenderedBitmap: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFImageObj_LoadJpegFile: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFImageObj_LoadJpegFileInline: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFImageObj_SetBitmap: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFImageObj_SetMatrix: readonly [readonly ["number", "number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFJavaScriptAction_GetName: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFJavaScriptAction_GetScript: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFLink_CloseWebLinks: readonly [readonly ["number"], null];
    readonly FPDFLink_CountQuadPoints: readonly [readonly ["number"], "number"];
    readonly FPDFLink_CountRects: readonly [readonly ["number", "number"], "number"];
    readonly FPDFLink_CountWebLinks: readonly [readonly ["number"], "number"];
    readonly FPDFLink_Enumerate: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFLink_GetAction: readonly [readonly ["number"], "number"];
    readonly FPDFLink_GetAnnot: readonly [readonly ["number", "number"], "number"];
    readonly FPDFLink_GetAnnotRect: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFLink_GetDest: readonly [readonly ["number", "number"], "number"];
    readonly FPDFLink_GetLinkAtPoint: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFLink_GetLinkZOrderAtPoint: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFLink_GetQuadPoints: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFLink_GetRect: readonly [readonly ["number", "number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFLink_GetTextRange: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFLink_GetURL: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFLink_LoadWebLinks: readonly [readonly ["number"], "number"];
    readonly FPDFPage_CloseAnnot: readonly [readonly ["number"], null];
    readonly FPDFPage_CountObjects: readonly [readonly ["number"], "number"];
    readonly FPDFPage_CreateAnnot: readonly [readonly ["number", "number"], "number"];
    readonly FPDFPage_Delete: readonly [readonly ["number", "number"], null];
    readonly FPDFPage_Flatten: readonly [readonly ["number", "number"], "number"];
    readonly FPDFPage_FormFieldZOrderAtPoint: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFPage_GenerateContent: readonly [readonly ["number"], "boolean"];
    readonly FPDFPage_GetAnnot: readonly [readonly ["number", "number"], "number"];
    readonly FPDFPage_GetAnnotCount: readonly [readonly ["number"], "number"];
    readonly FPDFPage_GetAnnotIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDFPage_GetArtBox: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPage_GetBleedBox: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPage_GetCropBox: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPage_GetDecodedThumbnailData: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFPage_GetMediaBox: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPage_GetObject: readonly [readonly ["number", "number"], "number"];
    readonly FPDFPage_GetRawThumbnailData: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFPage_GetRotation: readonly [readonly ["number"], "number"];
    readonly FPDFPage_GetThumbnailAsBitmap: readonly [readonly ["number"], "number"];
    readonly FPDFPage_GetTrimBox: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPage_HasFormFieldAtPoint: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFPage_HasTransparency: readonly [readonly ["number"], "boolean"];
    readonly FPDFPage_InsertClipPath: readonly [readonly ["number", "number"], null];
    readonly FPDFPage_InsertObject: readonly [readonly ["number", "number"], null];
    readonly FPDFPage_InsertObjectAtIndex: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFPage_New: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFPage_RemoveAnnot: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPage_RemoveObject: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPage_SetArtBox: readonly [readonly ["number", "number", "number", "number", "number"], null];
    readonly FPDFPage_SetBleedBox: readonly [readonly ["number", "number", "number", "number", "number"], null];
    readonly FPDFPage_SetCropBox: readonly [readonly ["number", "number", "number", "number", "number"], null];
    readonly FPDFPage_SetMediaBox: readonly [readonly ["number", "number", "number", "number", "number"], null];
    readonly FPDFPage_SetRotation: readonly [readonly ["number", "number"], null];
    readonly FPDFPage_SetTrimBox: readonly [readonly ["number", "number", "number", "number", "number"], null];
    readonly FPDFPage_TransformAnnots: readonly [readonly ["number", "number", "number", "number", "number", "number", "number"], null];
    readonly FPDFPage_TransFormWithClip: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFPageObj_AddMark: readonly [readonly ["number", "string"], "number"];
    readonly FPDFPageObj_CountMarks: readonly [readonly ["number"], "number"];
    readonly FPDFPageObj_CreateNewPath: readonly [readonly ["number", "number"], "number"];
    readonly FPDFPageObj_CreateNewRect: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFPageObj_CreateTextObj: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFPageObj_Destroy: readonly [readonly ["number"], null];
    readonly FPDFPageObj_GetBounds: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPageObj_GetClipPath: readonly [readonly ["number"], "number"];
    readonly FPDFPageObj_GetDashArray: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFPageObj_GetDashCount: readonly [readonly ["number"], "number"];
    readonly FPDFPageObj_GetDashPhase: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_GetFillColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPageObj_GetIsActive: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_GetLineCap: readonly [readonly ["number"], "number"];
    readonly FPDFPageObj_GetLineJoin: readonly [readonly ["number"], "number"];
    readonly FPDFPageObj_GetMark: readonly [readonly ["number", "number"], "number"];
    readonly FPDFPageObj_GetMarkedContentID: readonly [readonly ["number"], "number"];
    readonly FPDFPageObj_GetMatrix: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_GetRotatedBounds: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_GetStrokeColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPageObj_GetStrokeWidth: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_GetType: readonly [readonly ["number"], "number"];
    readonly FPDFPageObj_HasTransparency: readonly [readonly ["number"], "boolean"];
    readonly FPDFPageObj_NewImageObj: readonly [readonly ["number"], "number"];
    readonly FPDFPageObj_NewTextObj: readonly [readonly ["number", "string", "number"], "number"];
    readonly FPDFPageObj_RemoveMark: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_SetBlendMode: readonly [readonly ["number", "string"], null];
    readonly FPDFPageObj_SetDashArray: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFPageObj_SetDashPhase: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_SetFillColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPageObj_SetIsActive: readonly [readonly ["number", "boolean"], "boolean"];
    readonly FPDFPageObj_SetLineCap: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_SetLineJoin: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_SetMatrix: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_SetStrokeColor: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPageObj_SetStrokeWidth: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObj_Transform: readonly [readonly ["number", "number", "number", "number", "number", "number", "number"], null];
    readonly FPDFPageObj_TransformClipPath: readonly [readonly ["number", "number", "number", "number", "number", "number", "number"], null];
    readonly FPDFPageObj_TransformF: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFPageObjMark_CountParams: readonly [readonly ["number"], "number"];
    readonly FPDFPageObjMark_GetName: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFPageObjMark_GetParamBlobValue: readonly [readonly ["number", "string", "number", "number", "number"], "boolean"];
    readonly FPDFPageObjMark_GetParamFloatValue: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly FPDFPageObjMark_GetParamIntValue: readonly [readonly ["number", "string", "number"], "boolean"];
    readonly FPDFPageObjMark_GetParamKey: readonly [readonly ["number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPageObjMark_GetParamStringValue: readonly [readonly ["number", "string", "number", "number", "number"], "boolean"];
    readonly FPDFPageObjMark_GetParamValueType: readonly [readonly ["number", "string"], "number"];
    readonly FPDFPageObjMark_RemoveParam: readonly [readonly ["number", "number", "string"], "boolean"];
    readonly FPDFPageObjMark_SetBlobParam: readonly [readonly ["number", "number", "number", "string", "number", "number"], "boolean"];
    readonly FPDFPageObjMark_SetFloatParam: readonly [readonly ["number", "number", "number", "string", "number"], "boolean"];
    readonly FPDFPageObjMark_SetIntParam: readonly [readonly ["number", "number", "number", "string", "number"], "boolean"];
    readonly FPDFPageObjMark_SetStringParam: readonly [readonly ["number", "number", "number", "string", "string"], "boolean"];
    readonly FPDFPath_BezierTo: readonly [readonly ["number", "number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFPath_Close: readonly [readonly ["number"], "boolean"];
    readonly FPDFPath_CountSegments: readonly [readonly ["number"], "number"];
    readonly FPDFPath_GetDrawMode: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFPath_GetPathSegment: readonly [readonly ["number", "number"], "number"];
    readonly FPDFPath_LineTo: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFPath_MoveTo: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFPath_SetDrawMode: readonly [readonly ["number", "number", "boolean"], "boolean"];
    readonly FPDFPathSegment_GetClose: readonly [readonly ["number"], "boolean"];
    readonly FPDFPathSegment_GetPoint: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFPathSegment_GetType: readonly [readonly ["number"], "number"];
    readonly FPDFSignatureObj_GetByteRange: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFSignatureObj_GetContents: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFSignatureObj_GetDocMDPPermission: readonly [readonly ["number"], "number"];
    readonly FPDFSignatureObj_GetReason: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFSignatureObj_GetSubFilter: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFSignatureObj_GetTime: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFText_ClosePage: readonly [readonly ["number"], null];
    readonly FPDFText_CountChars: readonly [readonly ["number"], "number"];
    readonly FPDFText_CountRects: readonly [readonly ["number", "number", "number"], "number"];
    readonly FPDFText_FindClose: readonly [readonly ["number"], null];
    readonly FPDFText_FindNext: readonly [readonly ["number"], "boolean"];
    readonly FPDFText_FindPrev: readonly [readonly ["number"], "boolean"];
    readonly FPDFText_FindStart: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFText_GetBoundedText: readonly [readonly ["number", "number", "number", "number", "number", "number", "number"], "number"];
    readonly FPDFText_GetCharAngle: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_GetCharBox: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFText_GetCharIndexAtPos: readonly [readonly ["number", "number", "number", "number", "number"], "number"];
    readonly FPDFText_GetCharIndexFromTextIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_GetCharOrigin: readonly [readonly ["number", "number", "number", "number"], "boolean"];
    readonly FPDFText_GetFillColor: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFText_GetFontInfo: readonly [readonly ["number", "number", "number", "number", "number"], "number"];
    readonly FPDFText_GetFontSize: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_GetFontWeight: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_GetLooseCharBox: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFText_GetMatrix: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFText_GetRect: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFText_GetSchCount: readonly [readonly ["number"], "number"];
    readonly FPDFText_GetSchResultIndex: readonly [readonly ["number"], "number"];
    readonly FPDFText_GetStrokeColor: readonly [readonly ["number", "number", "number", "number", "number", "number"], "boolean"];
    readonly FPDFText_GetText: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFText_GetTextIndexFromCharIndex: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_GetTextObject: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_GetUnicode: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_HasUnicodeMapError: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_IsGenerated: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_IsHyphen: readonly [readonly ["number", "number"], "number"];
    readonly FPDFText_LoadCidType2Font: readonly [readonly ["number", "number", "number", "string", "number", "number"], "number"];
    readonly FPDFText_LoadFont: readonly [readonly ["number", "number", "number", "number", "boolean"], "number"];
    readonly FPDFText_LoadPage: readonly [readonly ["number"], "number"];
    readonly FPDFText_LoadStandardFont: readonly [readonly ["number", "string"], "number"];
    readonly FPDFText_SetCharcodes: readonly [readonly ["number", "number", "number"], "boolean"];
    readonly FPDFText_SetText: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFTextObj_GetFont: readonly [readonly ["number"], "number"];
    readonly FPDFTextObj_GetFontSize: readonly [readonly ["number", "number"], "boolean"];
    readonly FPDFTextObj_GetRenderedBitmap: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFTextObj_GetText: readonly [readonly ["number", "number", "number", "number"], "number"];
    readonly FPDFTextObj_GetTextRenderMode: readonly [readonly ["number"], "number"];
    readonly FPDFTextObj_SetTextRenderMode: readonly [readonly ["number", "number"], "boolean"];
    readonly PDFiumExt_CloseFileWriter: readonly [readonly ["number"], null];
    readonly PDFiumExt_CloseFormFillInfo: readonly [readonly ["number"], null];
    readonly PDFiumExt_ExitFormFillEnvironment: readonly [readonly ["number"], null];
    readonly PDFiumExt_GetFileWriterData: readonly [readonly ["number", "number", "number"], "number"];
    readonly PDFiumExt_GetFileWriterSize: readonly [readonly ["number"], "number"];
    readonly PDFiumExt_Init: readonly [readonly [], null];
    readonly PDFiumExt_InitFormFillEnvironment: readonly [readonly ["number", "number"], "number"];
    readonly PDFiumExt_OpenFileWriter: readonly [readonly [], "number"];
    readonly PDFiumExt_OpenFormFillInfo: readonly [readonly [], "number"];
    readonly PDFiumExt_SaveAsCopy: readonly [readonly ["number", "number"], "number"];
};

declare const DEFAULT_PDFIUM_WASM_URL: string;
/**
 * Name of JavaScript type
 */
type Type = null | 'number' | 'string' | 'boolean' | null;
/**
 * Type of wrapped function
 */
type CWrappedFunc<I extends readonly Type[], R extends Type> = (...args: NamesToType<I>) => NameToType<R>;
/**
 * Convert name to type
 */
type NameToType<R extends Type> = R extends 'number' ? number : R extends 'string' ? string : R extends 'boolean' ? boolean : R extends null ? null : never;
/**
 * Convert array of names to JavaScript types
 */
type NamesToType<T extends readonly Type[]> = T extends [] ? [] : T extends readonly [infer U extends Type] ? [NameToType<U>] : T extends readonly [infer U extends Type, ...infer Rest extends readonly Type[]] ? [NameToType<U>, ...NamesToType<Rest>] : [];
type Functions = typeof functions;
type Wrapped<T extends Record<string, readonly [readonly Type[], Type]>> = {
    [P in keyof T]: CWrappedFunc<T[P][0], T[P][1]>;
};
type Methods = Wrapped<Functions>;
type WrappedPdfiumModule = {
    pdfium: PdfiumModule & PdfiumRuntimeMethods;
} & Methods;

declare function init(moduleOverrides: Partial<PdfiumModule>): Promise<WrappedPdfiumModule>;

export { DEFAULT_PDFIUM_WASM_URL, init };
export type { CWrappedFunc, Functions, Methods, NameToType, NamesToType, PdfiumModule, PdfiumRuntimeMethods, Type, Wrapped, WrappedPdfiumModule };
