import { WithId } from "../../../../../fd-toolbox-core/types/resource-with-id";
import type { MouseEventType, RefObjectType } from "../../../../../fd-toolbox/types/react-types";
import { ResourceMeta } from "../../../core/resource-meta";
import { VoidFunc, VoidFuncNoParam } from "../../../../../fd-toolbox/functions/internal-getter-setter-functions";
import { ODataConfig } from "../../../../../fd-toolbox/odata/odataconfig";
import { BaseMultiBrowserDialogConfig } from "../../../browser/base-multi-browser-dialog-config";
import { ResourceFilterListComponent } from "../../../filtering/resource-filter-list/ResourceFilterList";
import { TableRow, Paging, TableSort } from "../../../table/table-models";
import { UiResourceMeta } from "../../../ui-resource-meta";
export declare function getMultiBrowserLeftTableId(instanceNumber?: number): string;
/** @monorepo-internal */
export declare function getMultiBrowserRightTableId(instanceNumber?: number): string;
/** @monorepo-internal */
export declare function getMultiBrowserTableContextId(instanceNumber?: number): string;
export declare function getMultiBrowserTableId(instanceNumber?: number): string;
export declare function getMultiBrowserMoveResourcesToRightTableId(instanceNumber?: number): string;
export declare function getMultiBrowserMoveResourcesToLeftTableId(instanceNumber?: number): string;
/** @monorepo-internal */
export declare function getMultiBrowserOkButtonId(instanceNumber?: number): string;
export declare function initBaseMultiBrowserDialog(data: BaseMultiBrowserDialogConfig, setBrowserDialogTitle: VoidFunc<string>, setLeftResources: VoidFunc<WithId[]>, setResourceMeta: VoidFunc<ResourceMeta>, setUiResourceMeta: VoidFunc<UiResourceMeta>): Promise<void>;
export declare function moveResourcesFromRightTable(leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>, rightTableRows: TableRow[]): void;
export declare function moveAllResourcesFromRightTable(leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>): void;
export declare function moveResourceBetweenTables(resourcesToMove: WithId | WithId[], leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>): void;
export declare function moveMultipleResources(selectedLeftResources: WithId[], selectedRightResources: WithId[], leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>): void;
export declare function moveSingleResource(resource: WithId, leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>): void;
export declare function moveResourcesFromLeftTable(leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>, leftTableRows: TableRow[], data: BaseMultiBrowserDialogConfig): void;
export declare function moveAllResourcesFromLeftTable(leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>): void;
export declare function refreshRightResources(data: BaseMultiBrowserDialogConfig, leftResources: WithId[], setRightResources: VoidFunc<WithId[]>, oDataConfig: ODataConfig, resourceMeta?: ResourceMeta, setIsRightResourcesLoading?: VoidFunc<boolean>, resourceFilterListComponentRef?: ResourceFilterListComponent, tableSort?: TableSort): Promise<void>;
export declare function onBrowserTablePaging(oDataConfig: ODataConfig, setODataConfig: VoidFunc<ODataConfig>, setPageSize: VoidFunc<number>, fdTablePaging: Paging, resourceMeta?: ResourceMeta, updateResources?: (data: BaseMultiBrowserDialogConfig, resources: WithId[], setResources: VoidFunc<WithId[]>, oDataConfig: ODataConfig, resourceMeta: ResourceMeta, setIsRightResourcesLoading?: VoidFunc<boolean>) => Promise<void>, dialogConfig?: BaseMultiBrowserDialogConfig, resources?: WithId[], setResources?: VoidFunc<WithId[]>, resourceFilterListComponent?: ResourceFilterListComponent): Promise<void>;
export declare function getFilledODataConfigWithUserFilters(rightODataConfig: ODataConfig, resourceFilterListComponent?: ResourceFilterListComponent): ODataConfig;
export declare function onMultiBrowserDialogOpenChange(value: boolean, leftResources: WithId[], closeDialog: VoidFunc<WithId[]>, setDialogOpened: VoidFunc<boolean>): void;
export declare function onResourceClickFunc(resource: WithId, leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>, leftTable?: {
    getSelectedRows: () => TableRow[];
}, rightTable?: {
    getSelectedRows: () => TableRow[];
}): void;
export declare function setResourceFilterListRef(component: ResourceFilterListComponent, resourceFilterListComponentRef: RefObjectType<ResourceFilterListComponent | undefined>, setIsComponentRefSet: VoidFunc<boolean>): void;
export declare function onSortCallbackFunc(tableSort: TableSort, data: BaseMultiBrowserDialogConfig, leftResources: WithId[], setRightResources: VoidFunc<WithId[]>, rightODataConfig: ODataConfig, setIsRightResourcesLoading: VoidFunc<boolean>, resourceMeta?: ResourceMeta, resourceFilterListComponent?: ResourceFilterListComponent): Promise<void>;
export declare function onMoveResourcesFromLeftToRightFunc(leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>, data: BaseMultiBrowserDialogConfig, leftTable?: {
    getSelectedRows: () => TableRow[];
}): void;
export declare function onMoveResourcesFromRightToLeftFunc(leftResources: WithId[], setLeftResources: VoidFunc<WithId[]>, rightResources: WithId[], setRightResources: VoidFunc<WithId[]>, rightTable?: {
    getSelectedRows: () => TableRow[];
}): void;
export declare function onTriggerClickHandler(event: MouseEventType, propsOnClick?: (event: MouseEventType) => void, onTriggerClick?: VoidFuncNoParam): void;
