import { SourceType, TransferItem } from '../transfer.model';
import { SelectionState } from './transfer.state';
import * as i0 from "@angular/core";
export declare class TransferStore<T> {
    private readonly _state;
    private readonly sourceItems;
    private readonly targetItems;
    readonly valueChanged: import("rxjs").Observable<TransferItem<T>[]>;
    readonly selectItems: (sourceType: SourceType) => import("rxjs").Observable<TransferItem<T>[]>;
    readonly selectSelectedItems: (sourceType: SourceType) => import("rxjs").Observable<Set<TransferItem<T>>>;
    readonly transferEnabled: import("rxjs").Observable<boolean>;
    readonly backtransferEnabled: import("rxjs").Observable<boolean>;
    readonly resetEnabled: import("rxjs").Observable<boolean>;
    init({ source, target }: SelectionState<T>): void;
    transfer(): void;
    backtransfer(): void;
    reset(): void;
    checkboxSelection(item: TransferItem<T>, sourceType: SourceType): void;
    selectAllSelection(checked: boolean, sourceType: SourceType): void;
    private updateState;
    static ɵfac: i0.ɵɵFactoryDeclaration<TransferStore<any>, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TransferStore<any>>;
}
