declare type ValueType = BitField | number | number[] | string; export declare const TYPE_AND = 0; export declare const TYPE_OR = 1; export declare const TYPE_NOT = 2; /** * */ export interface BitField { isAllSet: boolean; type: number; values: number[]; } /** * Creates a new Bitfield instance * * @param values */ export declare function create(values?: ValueType): BitField; /** * * @param value */ export declare function isBitField(value: any): boolean; /** * Returns a binary string representation of the BitField */ export declare function toString(bf: BitField): string; /** * Returns an array representation of each bit represented as a boolean */ export declare function toArray(bf: BitField): boolean[]; /** * Returns the number of bits set to true */ export declare function count(bf: BitField): number; /** * * @param a */ export declare function typeFn(a: BitField | number): typeof and; /** * Bitwise AND - returns false if one bit is true when the other is false */ export declare function and(a: BitField, b: BitField): boolean; /** * Bitwise OR - returns true if any matching bits are true * (previously aand) */ export declare function or(a: BitField, b: BitField): boolean; /** * Bitwise NOT - returns true if no bits match * @param a * @param b */ export declare function not(a: BitField, b: BitField): boolean; export declare function compare(a: BitField, b: BitField, type?: number): boolean; export declare function get(bf: BitField, index: number): boolean; /** * * @param bf * @param index * @param value */ export declare function set(bf: BitField, index: ValueType, value?: boolean): any; /** * * @param bf * @param values * @param value */ export declare function setValues(bf: BitField, values: number[], value?: boolean): BitField; /** * * @param bf */ export declare function toValues(bf: BitField): number[]; export {};