import React from "react";
import { EditContextType } from "./client/editContext";
import { FieldDescriptor } from "../types";
import { Field, FullItem, ItemDescriptor } from "./pageModel";
export type Rect = {
    x: number;
    y: number;
    width: number;
    height: number;
};
export declare function useEventListenerExt(eventName: string, handler: any, element: HTMLElement | Window, capture?: boolean): void;
export declare const useLocalStorage: <T>(storageKey: string, fallbackState: T) => [T, React.Dispatch<React.SetStateAction<T>>];
export declare const useCollapsedSections: () => {
    isSectionCollapsed: (sectionTitle: string) => boolean;
    toggleSection: (sectionTitle: string) => void;
};
export declare const extractItemIdFromItemUri: (uri: string) => string;
export declare function isSitecoreCodeMarkerElement(element: Element | null | undefined): element is HTMLElement;
export declare function isChromeMarkerElement(element: Element | null | undefined): element is HTMLElement;
export declare function normalizeMarkerId(id: string | null | undefined): string;
export declare function findElementByNormalizedDataAttribute(root: ParentNode | null | undefined, attribute: string, value: string | null | undefined): HTMLElement | null;
export declare function getNextNonChromeMarkerElement(element: Element | null | undefined, stopAt?: Element | null): Element | null;
export declare function getPreviousNonChromeMarkerElement(element: Element | null | undefined, stopAt?: Element | null): Element | null;
export declare function isFieldActionExecuting(field: Field, editContext: EditContextType): boolean;
export declare function getItemDescriptor(item: FullItem | ItemDescriptor): ItemDescriptor;
export declare function getAbsoluteIconUrl(url: string): string;
export declare function findParentWithAttribute(element: HTMLElement, attr: string): HTMLElement | null;
export declare function parsePlaceholderKey(key: string): {
    name: string;
    componentId: string | undefined;
};
export declare function hasFieldLock(field: FieldDescriptor, editContext: EditContextType): boolean;
export declare function getSessionWithFieldLock(field: FieldDescriptor, editContext: EditContextType): import("..").EditSession | undefined;
export declare function getFieldDescriptorFromElement(element: Element): FieldDescriptor;
export declare function findNearestEditableComponentId(startElement: Element): string | undefined;
export declare function stripGuid(id: string): string;
export declare function normalizeGuid(id: string): string;
export declare function formatDate(date: Date, options?: Intl.DateTimeFormatOptions & {
    timeZone?: string;
}): string;
export declare function formatDateOnly(date: Date, options?: Intl.DateTimeFormatOptions & {
    timeZone?: string;
}): string;
export declare function formatTime(date: Date, options?: Intl.DateTimeFormatOptions & {
    timeZone?: string;
}): string;
export declare function formatDateTime(date: Date, options?: Intl.DateTimeFormatOptions & {
    timeZone?: string;
}): string;
export declare function findClosestFieldElement(node: Node | null): HTMLElement | null;
export declare const GUID_REGEX_GLOBAL: RegExp;
export declare const GUID_REGEX_EXACT: RegExp;
export declare const GUID_REGEX_CONTAINS: RegExp;
export declare function containsGuidInText(text: string | undefined | null): boolean;
export declare function findGuidsInText(text: string | undefined | null): string[];
