import { Awaitable } from '@miniflare/shared';
import { Clock } from '@miniflare/shared';
import { Range } from '@miniflare/shared';
import { RangeStoredValueMeta } from '@miniflare/shared';
import { SqliteDB } from '@miniflare/shared';
import { Storage } from '@miniflare/shared';
import { StorageListOptions } from '@miniflare/shared';
import { StorageListResult } from '@miniflare/shared';
import { StoredKey } from '@miniflare/shared';
import { StoredKeyMeta } from '@miniflare/shared';
import { StoredMeta } from '@miniflare/shared';
import { StoredValueMeta } from '@miniflare/shared';
export declare function cloneMetadata(metadata?: unknown): Meta | undefined;
export declare function listFilterMatch(options: StorageListOptions | undefined, name: string): boolean;
export declare function listPaginate(options: StorageListOptions | undefined, keys: Key[]): StorageListResult;
export declare abstract class LocalStorage extends Storage {
private readonly clock;
protected constructor(clock?: Clock);
abstract hasMaybeExpired(key: string): Awaitable;
abstract headMaybeExpired(key: string): Awaitable | undefined>;
abstract getMaybeExpired(key: string): Awaitable | undefined>;
abstract getRangeMaybeExpired(key: string, range: Range): Awaitable | undefined>;
abstract deleteMaybeExpired(key: string): Awaitable;
abstract listAllMaybeExpired(): Awaitable[]>;
private expired;
has(key: string): Promise;
head(key: string): Promise | undefined>;
get(key: string): Promise | undefined>;
getRange(key: string, range?: Range): Promise | undefined>;
delete(key: string): Promise;
list(options?: StorageListOptions): Promise>>;
}
export declare class MemoryStorage extends LocalStorage {
protected map: Map>;
protected sqliteDB?: SqliteDB;
constructor(map?: Map>, clock?: Clock);
hasMaybeExpired(key: string): StoredMeta | undefined;
headMaybeExpired(key: string): StoredMeta | undefined;
getMaybeExpired(key: string): StoredValueMeta | undefined;
getRangeMaybeExpired(key: string, range: Range): RangeStoredValueMeta | undefined;
put(key: string, value: StoredValueMeta): void;
deleteMaybeExpired(key: string): boolean;
private static entryToStoredKey;
listAllMaybeExpired(): StoredKeyMeta[];
getSqliteDatabase(): Promise;
}
export { }