import { INovaFilteringOutputs } from "./data-source/public-api";
import { RepeatSelectionMode } from "../lib/repeat/types";
import { SelectionType } from "../lib/selector/public-api";
import { SelectorService } from "../lib/selector/selector.service";
import * as i0 from "@angular/core";
export declare class ListService {
    private selectorService;
    constructor(selectorService: SelectorService);
    /**
     * Updates the selector checkbox status, selector menu items, and the repeat selected items.
     *
     * @param {INovaFilteringOutputs} state The filtering outputs state
     *
     * @returns {INovaFilteringOutputs} The updated state
     */
    updateSelectionState(state: INovaFilteringOutputs): INovaFilteringOutputs;
    /**
     * Updates the selector selection state, selector checkbox status, selector menu items, and the
     * selected items in the repeat based on the items in the provided list and the specified selection
     * mode.
     *
     * @param {any[]} selectedItems The items to select
     * @param {RepeatSelectionMode} selectionMode The mode to use for selection
     * @param {INovaFilteringOutputs} state The filtering outputs state
     *
     * @returns {INovaFilteringOutputs} The updated state
     */
    selectItems(selectedItems: any[], selectionMode: RepeatSelectionMode, state: INovaFilteringOutputs): INovaFilteringOutputs;
    /**
     * Updates the selector selection state, selector checkbox status, selector menu items, and the
     * selected items in the repeat based on the selection type.
     *
     * @param {SelectionType} selectionType The selection type to apply
     * @param {INovaFilteringOutputs} state The filtering outputs state
     *
     * @returns {INovaFilteringOutputs} The updated state
     */
    applySelector(selectionType: SelectionType, state: INovaFilteringOutputs): INovaFilteringOutputs;
    static ɵfac: i0.ɵɵFactoryDeclaration<ListService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ListService>;
}
