import { AbortOptions, MaybeAsyncIterableIterator, MaybePromise } from '@mithic/commons'; /** A readonly Set that may have async operations. */ export interface MaybeAsyncReadonlySet { /** Returns whether a value exists in the set. */ has(value: T, options?: AbortOptions): MaybePromise; } /** A Set that may have async operations. */ export interface MaybeAsyncSet extends MaybeAsyncAppendOnlySet { /** Deletes an entry from the set. */ delete(value: T, options?: AbortOptions): MaybePromise; } /** An append-only Set that may have async operations. */ export interface MaybeAsyncAppendOnlySet extends MaybeAsyncReadonlySet { /** Adds an entry to the set. Returns `MaybePromise` to be compatible with ES Set. */ add(value: T, options?: AbortOptions): MaybePromise; } /** Batch APIs for a {@link MaybeAsyncReadonlySet}. */ export interface MaybeAsyncReadonlySetBatch { /** Gets the list of data identified by given keys. */ hasMany(keys: Iterable, options?: AbortOptions): MaybeAsyncIterableIterator; } /** Batch delete API for a {@link MaybeAsyncSet}. */ export interface MaybeAsyncSetDeleteBatch { /** Deletes the values with given keys. */ deleteMany(keys: Iterable, options?: AbortOptions): MaybeAsyncIterableIterator; } /** Batch add API for a {@link MaybeAsyncSet}. */ export interface MaybeAsyncSetAddBatch { /** Deletes the values with given keys. */ addMany(keys: Iterable, options?: AbortOptions): MaybeAsyncIterableIterator; } /** Batch update API for a {@link MaybeAsyncSet}. */ export interface MaybeAsyncSetUpdateBatch { /** Sets or deletes given list of keys. */ updateMany(keys: Iterable<[key: T, isDelete?: boolean]>, options?: AbortOptions): MaybeAsyncIterableIterator; } /** Batch APIs for a {@link MaybeAsyncSet}. */ export interface MaybeAsyncSetBatch extends MaybeAsyncReadonlySetBatch, MaybeAsyncSetAddBatch, MaybeAsyncSetDeleteBatch, MaybeAsyncSetUpdateBatch { } //# sourceMappingURL=set.d.ts.map