export type BitFieldResolvable<T extends object> = keyof T | bigint;
export declare class BitField<T extends object> {
    static None: bigint;
    Flags: Record<string, bigint>;
    protected bit: bigint;
    constructor(bitfields?: BitFieldResolvable<T>);
    set bits(bits: BitFieldResolvable<T>);
    get bits(): bigint;
    has(bits: BitFieldResolvable<T>[]): boolean;
    missings(bits: BitFieldResolvable<T>[]): bigint[];
    equals(other: BitFieldResolvable<T>[]): boolean;
    keys(bits?: BitFieldResolvable<T>[]): string[];
    values(bits?: BitFieldResolvable<T>[]): bigint[];
    add(bits: BitFieldResolvable<T>[]): bigint;
    remove(bits: BitFieldResolvable<T>[]): bigint;
    resolve(bits: BitFieldResolvable<T> | BitFieldResolvable<T>[]): bigint;
}
