export class FilteredListProjection {
    /**
     * @template T
     * @param {List<T>} input
     * @param {List<MutableFilter<T>>} filters
     * @returns {List<T>}
     */
    constructor(input: List<T>, filters: List<MutableFilter<T>>);
    /**
     *
     * @type {List<T>}
     */
    input: List<T>;
    /**
     *
     * @type {List<T>}
     */
    output: List<T>;
    /**
     *
     * @type {List<MutableFilter<T>>}
     */
    filters: List<MutableFilter<T>>;
    /**
     *
     * @type {boolean}
     */
    deferred: boolean;
    deferredApply: Function;
    update(): void;
    /**
     * @private
     * @param {MutableFilter} f
     */
    private watchFilter;
    /**
     * @private
     * @param {MutableFilter} f
     */
    private unwatchFilter;
    /**
     * @private
     * @param {MutableFilter} f
     */
    private handleFilterAdded;
    /**
     * @private
     * @param {MutableFilter} f
     */
    private handleFilterRemoved;
    link(): void;
    unlink(): void;
    apply(): void;
}
import List from "./List.js";
//# sourceMappingURL=FilteredListProjection.d.ts.map