export declare function randomBytes(length: number, shouldReturnHex?: false): Promise<Buffer>;
export declare function randomBytes(length: number, shouldReturnHex: true): Promise<string>;
export declare function randomBytesSync(length: number, shouldReturnHex?: false): Buffer;
export declare function randomBytesSync(length: number, shouldReturnHex: true): string;
export declare const PrintableCharacters: string;
export declare const AlphanumericCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
export declare const UpperCaseAlphanumericCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
export declare const NumericCharacters = "0123456789";
export declare function randomString(length: number, source?: string): Promise<string>;
export declare function randomStringSync(length: number, source?: string): string;
export interface CryptoOptions {
    secret?: string;
    ivLength?: number;
}
export declare class Crypto {
    private static instance?;
    static encrypt(data: string): string;
    static encrypt(data: Buffer): Buffer;
    static decrypt(data: string): string;
    static decrypt(data: Buffer): Buffer;
    static reset(): void;
    private static getInstance;
    private readonly key;
    private readonly ivLength;
    constructor(options?: CryptoOptions);
    encrypt(data: string): string;
    encrypt(data: Buffer): Buffer;
    decrypt(data: string): string;
    decrypt(data: Buffer): Buffer;
}
//# sourceMappingURL=crypto.d.ts.map