/*
* Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3 as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see .
*/
import { TransferListItem } from '../TransferListColumn';
import { LookupTable } from '../../models';
export interface useTransferListStateReturn {
sourceItems: TransferListItem[];
setSourceItems(items: TransferListItem[]): void;
sourceFilterKeyword: string;
setSourceFilterKeyword(keyword: string): void;
filteredSourceItems: TransferListItem[];
filteredTargetItems: TransferListItem[];
targetItems: TransferListItem[];
setTargetItems(items: TransferListItem[]): void;
targetFilterKeyword: string;
setTargetFilterKeyword(keyword: string): void;
checkedList: LookupTable;
setCheckedList(list: LookupTable): void;
onItemClicked(item: TransferListItem): void;
isAllChecked(items: TransferListItem[]): boolean;
onCheckAllClicked(items: TransferListItem[], checked: boolean): void;
getChecked(items: TransferListItem[]): TransferListItem[];
disableAdd: boolean;
disableRemove: boolean;
sourceItemsAllChecked: boolean;
targetItemsAllChecked: boolean;
addToTarget(): void;
removeFromTarget(): void;
}
export declare function excludeCommonItems(
listItemsA: TransferListItem[],
listItemsB: TransferListItem[]
): TransferListItem[];
export declare const filterTransferListItemsByKeyword: (
items: TransferListItem[],
keyword: string
) => TransferListItem[];
export declare const useTransferListState: () => useTransferListStateReturn;