/** * 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