import type { CacheFrom, ReturnCache } from '../..';
import { PermissionsBitField } from '../../structures/extra/Permissions';
import type { APIOverwrite } from '../../types';
import { GuildRelatedResource } from './default/guild-related';
export declare class Overwrites extends GuildRelatedResource<any, APIOverwrite[]> {
    namespace: string;
    filter(data: APIOverwrite[], id: string, guild_id: string, from: CacheFrom): boolean;
    parse(data: any[], _id: string, guild_id: string): any[];
    raw(id: string): ReturnCache<(APIOverwrite & {
        guild_id: string;
    })[] | undefined>;
    get(id: string): ReturnCache<{
        type: number;
        id: string;
        deny: PermissionsBitField;
        allow: PermissionsBitField;
        guildId: string;
    }[] | undefined>;
    values(guild: string): ReturnCache<{
        type: number;
        id: string;
        deny: PermissionsBitField;
        allow: PermissionsBitField;
        guildId: string;
    }[][]>;
    valuesRaw(guild: string): ReturnCache<(APIOverwrite & {
        guild_id: string;
    })[][]>;
    bulk(ids: string[]): ReturnCache<{
        type: number;
        id: string;
        deny: PermissionsBitField;
        allow: PermissionsBitField;
    }[][]>;
    bulkRaw(ids: string[]): ReturnCache<(APIOverwrite & {
        guild_id: string;
    })[][]>;
}
