/// import type { Logger } from 'pino'; import { Readable, Transform } from 'stream'; import { URL } from 'url'; import { Options } from 'got'; import { WAMessageContent, WAMediaUpload, MediaType } from '../Types'; export declare const hkdfInfoKey: (type: MediaType) => string; /** generates all the keys required to encrypt/decrypt & sign a media message */ export declare function getMediaKeys(buffer: any, mediaType: MediaType): { iv: Buffer; cipherKey: Buffer; macKey: Buffer; }; export declare const compressImage: (bufferOrFilePath: Buffer | string) => Promise; export declare const generateProfilePicture: (bufferOrFilePath: Buffer | string) => Promise<{ img: Buffer; }>; /** gets the SHA256 of the given media message */ export declare const mediaMessageSHA256B64: (message: WAMessageContent) => string; export declare function getAudioDuration(buffer: Buffer | string): Promise; export declare const toReadable: (buffer: Buffer) => Readable; export declare const getStream: (item: WAMediaUpload) => Promise<{ stream: Readable; type: string; }>; /** generates a thumbnail for a given media, if required */ export declare function generateThumbnail(file: string, mediaType: 'video' | 'image', options: { logger?: Logger; }): Promise; export declare const getGotStream: (url: string | URL, options?: Options & { isStream?: true; }) => Promise; export declare const encryptedStream: (media: WAMediaUpload, mediaType: MediaType, saveOriginalFileIfRequired?: boolean) => Promise<{ mediaKey: Buffer; encBodyPath: string; bodyPath: string; mac: Buffer; fileEncSha256: Buffer; fileSha256: Buffer; fileLength: number; didSaveToTmpPath: boolean; }>; export declare const downloadContentFromMessage: ({ mediaKey, directPath, url }: { mediaKey?: Uint8Array; directPath?: string; url?: string; }, type: MediaType) => Promise; /** * Decode a media message (video, image, document, audio) & return decrypted buffer * @param message the media message you want to decode */ export declare function decryptMediaMessageBuffer(message: WAMessageContent): Promise; export declare function extensionForMediaMessage(message: WAMessageContent): string;