import { IFSFlagMetadata, SerializedFlagMetadata } from '../types'; import { VisitorDelegate } from '../visitor/VisitorDelegate'; import { IFSFlagCollection } from './IFSFlagCollection'; import { IFSFlag } from './IFSFlag'; /** * Represents a collection of flags. */ export declare class FSFlagCollection implements IFSFlagCollection { private _visitor?; private _keys; private _flags; /** * Creates a new instance of FSFlagCollection. * @param param - The parameter object. * @param param.visitor - The visitor delegate. * @param param.flags - The initial flags. */ constructor(param: { visitor?: VisitorDelegate; flags?: Map; }); /** * @inheritdoc */ get size(): number; /** * @inheritdoc */ get(key: string): IFSFlag; /** * @inheritdoc */ has(key: string): boolean; /** * @inheritdoc */ keys(): Set; /** * @inheritdoc */ [Symbol.iterator](): Iterator<[string, IFSFlag]>; /** * @inheritdoc */ filter(predicate: (value: IFSFlag, key: string, collection: IFSFlagCollection) => boolean): IFSFlagCollection; /** * @inheritdoc */ exposeAll(): Promise; /** * @inheritdoc */ getMetadata(): Map; /** * @inheritdoc */ toJSON(): SerializedFlagMetadata[]; forEach(callbackfn: (value: IFSFlag, key: string, collection: IFSFlagCollection) => void): void; }