import { WithId } from "../../../fd-toolbox-core/types/resource-with-id";
import { ResourceListConfig } from "../edit-resource/config/resource-list-config";
import { TableComponent } from "../table/table-models";
import { VoidFuncNoParam } from "../../../fd-toolbox/functions/internal-getter-setter-functions";
import type { RefObjectType } from "../../../fd-toolbox/types/react-types";
/**
 * Props for {@link ResourceList}
 */
export interface ResourceListProps {
    /**
     * Config for {@link ResourceList}, defining ResourceList behavior and display
     */
    config: ResourceListConfig;
    /**
     * A promise that resolves to an array of resources to be displayed in the Table.
     * Can be added to increase the performance of the component.
     * This is useful when the resources are fetched from an API or database and you want to
     * avoid fetching them again when the view is rendered.
     */
    resources?: Promise<WithId[]> | WithId[];
    /**
     * Name of the parent context added to Id for forming more unique Identifiers.
     */
    parentContextName?: string;
}
export interface ResourceListContextType {
    tableComponentRef: RefObjectType<TableComponent>;
    closeActionMenu?: VoidFunction;
    refreshResources?: VoidFuncNoParam;
}
export declare const ResourceListContext: import("react").Context<ResourceListContextType>;
/**
 * Displays a list of resources with optional filtering and table display modes.
 *
 * @see {@link ResourceListProps} for component props
 * @see {@link ResourceListConfig} for configuration options
 */
export declare function ResourceList({ config: resourceListConfigProp, resources, parentContextName, }: ResourceListProps): import("react").JSX.Element;
export declare namespace ResourceList {
    var displayName: "ResourceList";
}
