constructor(cache: Cache, client: UsingClient);
filter(data: any, id: string, guild_id: string, from: CacheFrom): boolean;
parse(data: any, id: string, guild_id: string): any;
removeIfNI(intent: keyof typeof GatewayIntentBits, id: string | string[], guildId: string): Awaitable<void>;
setIfNI(from: CacheFrom, intent: keyof typeof GatewayIntentBits, id: string, guildId: string, data: S): void;
get(id: string): ReturnCache<(T & { guild_id: string;}) | undefined>;
bulk(ids: string[]): ReturnCache<(T & { guild_id: string;})[]>;
set(from: CacheFrom, __keys: string, guild: string, data: S): ReturnCache<void>;set(from: CacheFrom, __keys: [ string, S][], guild: string): ReturnCache<void>;
patch(from: CacheFrom, __keys: string, guild: string, data?: any): ReturnCache<void>;patch(from: CacheFrom, __keys: [ string, any][], guild: string): ReturnCache<void>;
remove(id: string | string[], guild: string): Awaitable<void>;
keys(guild: '*' | (string & {})): ReturnCache<string[]>;
values(guild: '*' | (string & {})): ReturnCache<(T & { guild_id: string;})[]>;
count(to: '*' | (string & {})): ReturnCache<number>;
contains(id: string, guild: string): ReturnCache<boolean>;
getToRelationship(guild: string): Awaitable<string[]>;
addToRelationship(id: string | string[], guild: string): Awaitable<void>;
removeToRelationship(id: string | string[], guild: string): Awaitable<void>;
removeRelationship(id: string | string[]): Awaitable<void>;
hashId(id: string): string;
flush(guild?: '*' | (string & {})): Awaitable<void>;