import { EventEmitter } from '@angular/core';
import { CurrentSelectionStatus, TwoListItem } from './two-list-utilities';
import * as i0 from "@angular/core";
export declare class TwoListComponent {
    _available: Array<TwoListItem>;
    get available(): Array<TwoListItem>;
    set available(list: Array<TwoListItem>);
    _visible: Array<TwoListItem>;
    get visible(): Array<TwoListItem>;
    set visible(list: Array<TwoListItem>);
    visibleChange: EventEmitter<TwoListItem[]>;
    availableChange: EventEmitter<TwoListItem[]>;
    initialAvailableColumns: Array<TwoListItem>;
    defaultVisibleColumns: Array<TwoListItem>;
    defaultHiddenColumns: Array<TwoListItem>;
    dragAndDropEnabled: boolean;
    firstListSearch: string;
    secondListSearch: string;
    currentSelectionStatus: CurrentSelectionStatus;
    constructor();
    add(): void;
    addAll(): void;
    removeAll(): void;
    remove(): void;
    private refresh;
    private sort;
    setDefaultColumnValues(): void;
    removeItemsFromList(list: Array<any>, itemsToRemove: Array<any>): Array<any>;
    selectAvailableItem(element: TwoListItem, ev: KeyboardEvent): void;
    moveSelectedItemsFromAvailableToVisible(element: TwoListItem, ev: Event): void;
    moveSelectedItemsFromVisibleToAvailable(element: TwoListItem): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TwoListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TwoListComponent, "systelab-two-list", never, { "available": { "alias": "available"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "initialAvailableColumns": { "alias": "initialAvailableColumns"; "required": false; }; "defaultVisibleColumns": { "alias": "defaultVisibleColumns"; "required": false; }; "defaultHiddenColumns": { "alias": "defaultHiddenColumns"; "required": false; }; "dragAndDropEnabled": { "alias": "dragAndDropEnabled"; "required": false; }; }, { "visibleChange": "visibleChange"; "availableChange": "availableChange"; }, never, never, false, never>;
}
