import { ItemDescriptor, Page, PageSkeleton } from "../pageModel";
import { ItemsRepository } from "./itemsRepository";
import { ParheliaSettings } from "../../types";
import { LayoutMode } from "./editContext";
export declare function normalizeComponentId(id: string | null | undefined): string;
export declare function itemMatchesDescriptor(item: ItemDescriptor, descriptor: ItemDescriptor): boolean;
export declare function resolveComponentName({ skeletonName, renderingName, skeletonType, componentTypeItem, datasourceTemplateName, datasourceItem, primaryRenderedItem, }: {
    skeletonName?: string;
    renderingName?: string;
    skeletonType?: string;
    componentTypeItem?: Pick<ItemDescriptor, "displayName" | "name">;
    datasourceTemplateName?: string;
    datasourceItem?: Pick<ItemDescriptor, "displayName" | "name">;
    primaryRenderedItem?: Pick<ItemDescriptor, "displayName" | "name">;
}): string;
export declare function resolveComponentType({ skeletonType, renderingType, renderingItemName, componentTypeItem, datasourceTemplateName, fallbackName, }: {
    skeletonType?: string;
    renderingType?: string;
    renderingItemName?: string;
    componentTypeItem?: Pick<ItemDescriptor, "displayName" | "name">;
    datasourceTemplateName?: string;
    fallbackName: string;
}): string;
export declare function resolveRenderedPageItemDescriptor(skeletonItem: ItemDescriptor, pageItemDescriptor?: ItemDescriptor): ItemDescriptor;
export declare function usePageModel(itemsRepository: ItemsRepository | undefined, pageItemDescriptor?: ItemDescriptor, parheliaSettings?: ParheliaSettings, layoutMode?: LayoutMode): {
    setPageSkeleton: (skeleton: PageSkeleton | undefined) => void;
    page: Page | undefined;
    invalidateInsertOptionsCache: () => void;
};
