/** * Cipher definitions. Common logic for all targets. * Doesn't contain WASM-specific/JS-specific code. * @module */ import type { CipherDef } from './ciphers-abstract.ts'; import type * as TYPES from './targets/types.ts'; import { type TArg, type TRet } from './utils.ts'; export declare const limit: (name: string, min: number, max: number) => (value: number) => void; export type ArxOpts = { counter?: number; }; export type ArxInit = { allowShortKeys: boolean; extendNonce?: boolean; counterLength: number; counterRight: boolean; }; export declare const initArx: (mod: any, key: TArg, nonce: TArg, opts: TArg, cfg: TArg) => void; export declare const salsa20: TRet>; export declare const xsalsa20: TRet>; export declare const chacha20orig: TRet>; export declare const chacha20: TRet>; export declare const xchacha20: TRet>; export declare const chacha8: TRet>; export declare const chacha12: TRet>; export declare const chacha20poly1305: TRet>; export declare const xchacha20poly1305: TRet>; export declare const xsalsa20poly1305: TRet>; export declare const ecb: TRet>; export declare const cbc: TRet>; export declare const cfb: TRet>; export declare const ofb: TRet>; export declare const ctr: TRet>; export declare const gcm: TRet>; export declare const gcmsiv: TRet>; export declare const aessiv: TRet>; export declare const aeskw: TRet>; export declare const aeskwp: TRet>; export declare const Definitions: { readonly ctr: { mod: "aes_ctr"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_CTR, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_CTR) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_CTR, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_CTR) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly cbc: { mod: "aes_cbc"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_CBC, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_CBC) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_CBC, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_CBC) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly ofb: { mod: "aes_ofb"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_OFB, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_OFB) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_OFB, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_OFB) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly cfb: { mod: "aes_cfb"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_CFB, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_CFB) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_CFB, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_CFB) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly ecb: { mod: "aes_ecb"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_ECB, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_ECB) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_ECB, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_ECB) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly gcm: { mod: "aes_gcm"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_GCM, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_GCM) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_GCM, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_GCM) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly gcmsiv: { mod: "aes_gcmsiv"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_GCMSIV, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_GCMSIV) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_GCMSIV, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_GCMSIV) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly aessiv: { mod: "aes_siv"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_SIV, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_SIV) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_SIV, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_SIV) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly aeskw: { mod: "aes_kw"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_KW, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_KW) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_KW, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_KW) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly aeskwp: { mod: "aes_kwp"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.AES_KWP, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.AES_KWP) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.AES_KWP, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.AES_KWP) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly salsa20: { mod: "salsa20"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.SALSA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.SALSA20) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.SALSA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.SALSA20) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly xsalsa20: { mod: "salsa20"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.SALSA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.SALSA20) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.SALSA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.SALSA20) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly chacha8: { mod: "chacha8"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.CHACHA8, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.CHACHA8) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.CHACHA8, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.CHACHA8) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly chacha12: { mod: "chacha12"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.CHACHA12, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.CHACHA12) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.CHACHA12, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.CHACHA12) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly chacha20: { mod: "chacha20"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.CHACHA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.CHACHA20) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.CHACHA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.CHACHA20) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly chacha20orig: { mod: "chacha20"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.CHACHA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.CHACHA20) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.CHACHA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.CHACHA20) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly xchacha20: { mod: "chacha20"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: TYPES.CHACHA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: TYPES.CHACHA20) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: TYPES.CHACHA20, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: TArg, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: TYPES.CHACHA20) => TRet) & ((mod: TArg) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly chacha20poly1305: { mod: "chacha_poly1305"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: any, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: any) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: any, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: any, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: any) => TRet) & ((mod: any) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly xchacha20poly1305: { mod: "chacha_poly1305"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: any, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: any) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: any, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: any, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: any) => TRet) & ((mod: any) => Uint8Array & Uint8Array) & {}) | undefined; }; }; readonly xsalsa20poly1305: { mod: "salsa_poly1305"; def: import("./ciphers-abstract.ts").CipherParams & { tagLeft?: boolean; dataOffset?: number; exactOutput?: boolean; paddingLeft?: number; padding?: boolean; padFull?: boolean; multiPass?: number; multiPassResult?: boolean | { encrypt?: boolean; decrypt?: boolean; }; multiPassOut?: { encrypt?: number; decrypt?: number; }; tagError?: string; lengthError?: string; lengthErrorEnc?: string; lengthErrorDec?: string; lengthLimitEnc?: (len: number, args?: unknown[], pending?: number) => void; lengthLimitDec?: (len: number, args?: unknown[], pending?: number) => void; padError?: string; emptyError?: string; noOverlap?: boolean; noOutput?: boolean; noStream?: boolean; twoPass?: boolean; validate?: (key: TArg, ...args: unknown[]) => void; init: (mod: any, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }; getTag?: ((mod: any) => TRet) | undefined; } & { blockSize?: number | undefined; blockLen: number; nonceLength?: number | undefined; tagLength?: number | undefined; withAAD?: true | undefined; varSizeNonce?: boolean | undefined; tagLeft?: boolean | undefined; dataOffset?: number | undefined; exactOutput?: boolean | undefined; paddingLeft?: number | undefined; padding?: boolean | undefined; padFull?: boolean | undefined; multiPass?: number | undefined; multiPassResult?: boolean | ({ encrypt?: boolean; decrypt?: boolean; } & { encrypt?: boolean | undefined; decrypt?: boolean | undefined; }) | undefined; multiPassOut?: ({ encrypt?: number; decrypt?: number; } & { encrypt?: number | undefined; decrypt?: number | undefined; }) | undefined; tagError?: string | undefined; lengthError?: string | undefined; lengthErrorEnc?: string | undefined; lengthErrorDec?: string | undefined; lengthLimitEnc?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; lengthLimitDec?: (((len: number, args?: unknown[], pending?: number) => void) & ((len: number, args?: TArg, pending?: TArg) => void) & {}) | undefined; padError?: string | undefined; emptyError?: string | undefined; noOverlap?: boolean | undefined; noOutput?: boolean | undefined; noStream?: boolean | undefined; twoPass?: boolean | undefined; validate?: (((key: TArg, ...args: unknown[]) => void) & ((key: TArg>>, ...args: unknown[]) => void) & {}) | undefined; init: ((mod: any, dir: "decrypt" | "encrypt", key: TArg, ...args: unknown[]) => void | { disablePadding?: boolean; }) & ((mod: any, dir: TArg<"decrypt" | "encrypt">, key: TArg>>, ...args: unknown[]) => void | ({ disablePadding?: boolean; } & { disablePadding?: boolean | undefined; })) & {}; getTag?: (((mod: any) => TRet) & ((mod: any) => Uint8Array & Uint8Array) & {}) | undefined; }; }; }; //# sourceMappingURL=ciphers.d.ts.map