/**
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
* Copyright (C) 2023-2026 Roj
*
* This file is part of MTKruto.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*/
import { Api } from "../2_tl.js";
import { type FileSource, type Sticker } from "../3_types.js";
import type { _UploadCommon, DownloadParams } from "./0_params.js";
import type { C } from "./1_types.js";
export interface EncryptionInformation {
key: Uint8Array;
iv: Uint8Array;
}
export declare class FileManager {
#private;
constructor(c: C);
getProgressId(): Promise;
upload(file: FileSource, params: _UploadCommon | undefined, checkName: null | ((name: string, firstPart?: Uint8Array) => string), allowStream: boolean, encryptionInformation: EncryptionInformation): Promise<{
inputEncryptedFile: Api.InputEncryptedFile;
fileSize: number;
}>;
upload(file: FileSource, params?: _UploadCommon, checkName?: null | ((name: string, firstPart?: Uint8Array) => string), allowStream?: boolean, encryptionInformation?: undefined): Promise;
downloadInner(location: Api.InputFileLocation, dcId: number, params: DownloadParams | undefined): AsyncGenerator, void, any>;
static validateChunkSize(chunkSize: number, max: number): void;
static validateOffset(offset: number): void;
download(fileId: string, params?: DownloadParams): AsyncGenerator, void, any>;
getStickerSetName(inputStickerSet: Api.inputStickerSetID, hash?: number): Promise;
getCustomEmojiStickers(id: string | string[]): Promise;
}
//# sourceMappingURL=2_file_manager.d.ts.map