/** * 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 type { MaybePromise } from "../1_utilities.js"; export type StorageKeyPart = string | number | bigint; export type GetManyFilter = { prefix: readonly StorageKeyPart[]; } | { start: readonly StorageKeyPart[]; end: readonly StorageKeyPart[]; }; export interface Storage { initialize(): MaybePromise; set(key: readonly StorageKeyPart[], value: unknown): MaybePromise; incr(key: readonly StorageKeyPart[], by: number): MaybePromise; get(key: readonly StorageKeyPart[]): MaybePromise; getMany(prefix: GetManyFilter, params?: { limit?: number; reverse?: boolean; }): MaybePromise | AsyncGenerator<[readonly StorageKeyPart[], T]>>; branch(id: string): Storage; supportsFiles: boolean; mustSerialize: boolean; isMemory: boolean; } //# sourceMappingURL=0_storage.d.ts.map