export { AbstractAsymmetricCrypt, AsymmetricOpenSSL, CryptErrorInterface, CryptFactory, CryptParseError, CryptType, DecryptError, EncryptError, KeyError, OpenSSL, OpenSSLAEAD, Secretbox } from './crypt/index.js';
export { A as AbstractSymmetricCrypt } from './abstract-symmetric-crypt-C3ASlnxn.js';
export { Judge } from './definition/index.js';
export { A as AbstractFormatter } from './abstract-formatter-Dvp6Dh6e.js';
export { Base64 } from './formatter/index.js';
export { AbstractSignature, CryptKeyCallback, Payload, Signature5, SignatureErrorInterface, SignatureParseError, VerifyError, VersionError } from './signature/index.js';
export { A as AbstractStruct } from './abstract-struct-CmI-d1DB.js';
export { Json, JsonType, Msgpack, MsgpackType, Rfc3986, Rfc3986Type, Serialize, SerializeType, StructFactory } from './struct/index.js';

declare class InvalidArgumentError extends Error {
}

declare function arraySearch<T>(value: T, array: Record<number, T>): number | null;

declare function arraySum(input: Record<string, number> | number[]): number;

declare function base64Encode(input: string): string;
declare function base64Decode(base64Input: string): Buffer;

declare function chr(input: number): string;

declare function chunkSplit(input: string, length?: number, separator?: string): string | null;

declare function isString(input: unknown): boolean;

declare function isset(value: any | null | undefined): boolean;

/**
 * Partial Implementation of PHP's `pack`, see https://www.php.net/manual/en/function.pack
 */
declare function pack(format: string, ...inputs: Array<number | bigint>): Buffer;

declare function strcmp(input1: string | null, input2: string | null): number | null;

declare function strlen(input: string | null | undefined): number;

declare function strpos(input: string, searchFor: string, offset?: number): number;

declare function substr(input: string, offset: number, length?: number): string;

/**
 * Partial Implementation of PHP's `unpack`, see https://www.php.net/manual/en/function.unpack
 */
declare function unpack(format: string, input: Buffer): Record<string, number | bigint | Buffer>;

export { InvalidArgumentError, arraySearch, arraySum, base64Decode, base64Encode, chr, chunkSplit, isString, isset, pack, strcmp, strlen, strpos, substr, unpack };
