import type { RefObjectType } from "../../../fd-toolbox/types/react-types";
import { ResourceFilterListComponent } from "../filtering/resource-filter-list/ResourceFilterList";
import { SetStateFunc, VoidFunc } from "../../../fd-toolbox/functions/internal-getter-setter-functions";
import { ResourceListViewMode } from "../../../fd-toolbox/enums/enums";
import { BaseODataFilter } from "../../../fd-toolbox/odata/filters/base-odata-filter";
import { ODataConfig } from "../../../fd-toolbox/odata/odataconfig";
import { UiResourceMeta } from "../ui-resource-meta";
import { ResourceMeta } from "../core/resource-meta";
import { WithId } from "../../../fd-toolbox-core/types/resource-with-id";
import { ResourceListComponentState } from "./resource-list-persist-state";
import { ResourceListConfig } from "../edit-resource/config/resource-list-config";
/** @monorepo-internal */
export interface ResourceListState {
    resourceListConfig: ResourceListConfig;
    setResourceListConfig: VoidFunc<ResourceListConfig>;
    componentState: ResourceListComponentState;
    setComponentState: VoidFunc<ResourceListComponentState>;
    resourcesState: WithId[];
    setResourcesState: VoidFunc<WithId[]>;
    resourceMeta: ResourceMeta;
    setResourceMeta: SetStateFunc<ResourceMeta>;
    resourceName: string;
    setResourceName: VoidFunc<string>;
    uiResourceMeta: UiResourceMeta;
    setUiResourceMeta: SetStateFunc<UiResourceMeta>;
    readonly: boolean;
    setReadonly: VoidFunc<boolean>;
    hasNeededAccess: boolean;
    setHasNeededAccess: VoidFunc<boolean>;
    oDataConfig: ODataConfig;
    setODataConfig: SetStateFunc<ODataConfig>;
    queryODataFilters: BaseODataFilter[];
    setQueryODataFilters: VoidFunc<BaseODataFilter[]>;
    viewMode: ResourceListViewMode;
    setViewMode: VoidFunc<ResourceListViewMode>;
    loading: boolean;
    setLoading: VoidFunc<boolean>;
    resourceFilterListComponentRef: RefObjectType<ResourceFilterListComponent>;
    shouldDisplayTable: boolean;
}
