declare const FLAG_SET: unique symbol;
export type FlagSet = string[] & {
    readonly [FLAG_SET]: true;
};
export declare function createFlagSets(flags: (string | string[])[]): FlagSet[];
export declare function hasFlagSet(flagSets: FlagSet[], flagSet: FlagSet): boolean;
export declare function hasFlag(flagSet: FlagSet, flag: string): boolean;
export declare function hasFlags(flagSet: FlagSet, flags: string[]): boolean;
export declare function compareFlagSets(a: FlagSet, b: FlagSet): number;
export declare function normalizeFlagSets(rawFlagSets: string[][]): FlagSet[];
export declare function normalizeFlagSet(flags: string[]): FlagSet;
export declare function compareFlaggedObject(a: {
    flags: FlagSet;
}, b: {
    flags: FlagSet;
}): number;
export {};
