/**
 * @template T
 */
export class StorageBackedSet<T> {
    /**
     *
     * @type {string}
     */
    key: string;
    /**
     *
     * @type {Storage}
     */
    storage: Storage;
    /**
     * @private
     * @type {Promise}
     */
    private lastPromise;
    /**
     *
     * @param {string} key
     * @param {Storage} storage
     */
    initialize({ key, storage }: string): void;
    /**
     *
     * @return {Promise<T[]>}
     */
    read(): Promise<T[]>;
    /**
     *
     * @param {T} value
     * @return {Promise<T[]>}
     */
    add(value: T): Promise<T[]>;
    /**
     *
     * @param {T} value
     * @return {Promise<boolean>}
     */
    contains(value: T): Promise<boolean>;
    /**
     * @param {T} value
     * @returns {Promise<boolean>}
     */
    remove(value: T): Promise<boolean>;
}
//# sourceMappingURL=StorageBackedList.d.ts.map