import { ElementRef } from '@angular/core';
import { ItAbstractComponent } from '../../../../abstracts/abstract.component';
import { TransferStore } from '../store/transfer.store';
import { SourceType, TransferItem } from '../transfer.model';
import * as i0 from "@angular/core";
interface SelectableTransferItem<T> extends TransferItem<T> {
    selected: boolean;
}
export declare class ItTransferListComponent<T> extends ItAbstractComponent {
    private readonly store;
    /**
     * Widget title
     */
    readonly title: string | null;
    readonly sourceType: SourceType;
    private readonly items;
    private readonly selected;
    readonly numberOfItems$: import("rxjs").Observable<{
        length: number;
    } | {
        length: number;
    }>;
    readonly selectAllDisabled: import("rxjs").Observable<boolean>;
    /**
     * Items of the list
     * @default []
     */
    readonly items$: import("rxjs").Observable<SelectableTransferItem<T>[]>;
    selectAllCheckboxRef: ElementRef<HTMLInputElement>;
    readonly instanceId: string;
    constructor(store: TransferStore<T>);
    /**
     * Checkbox selection click handler
     */
    checkboxSelectionHandler(item: TransferItem<T>): void;
    /**
     * Checkbox select all selection handler
     */
    checkboxSelectAllHandler(event: Event): void;
    /**
     * Items update subscription
     */
    private onItemsUpdate;
    private getInstanceId;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItTransferListComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ItTransferListComponent<any>, "it-transfer-list", never, {}, {}, never, never, true, never>;
}
export {};
