import Collection from "@discordjs/collection"; import { Snowflake } from "@wilsonjs/constants"; import { WilsonClient } from "../Client"; import { Identifiable } from "../structures"; export declare type Resolvable = Snowflake | V; export declare class MaskedCache { protected client: WilsonClient; readonly cache: Cache; readonly mask: Set; constructor(client: WilsonClient, cache: Cache, mask: Set); resolve(resolvable: Resolvable): V | undefined; resolveID(resolvable: Resolvable): Snowflake | undefined; } export declare type GetBasic = V extends Identifiable ? U : never; export declare class Cache extends Collection { protected client: WilsonClient; constructor(client: WilsonClient, entries?: ReadonlyArray | null); createMask(mask: Set): MaskedCache; resolve(resolvable: Resolvable): V | undefined; resolveID(resolvable: Resolvable): Snowflake; patch(basic: Partial>): V | undefined; add(...args: any[]): V | undefined; update(...args: any[]): [V | undefined, V | undefined]; remove(basic: Partial>): V | null | undefined; }