import { ItemDescriptor, Page, PageSkeleton } from "../pageModel";
import { ItemsRepository } from "../client/itemsRepository";
import { EditorConfiguration } from "../../config/types";
import { ComponentsProviderSettings } from "../services/contentService";
import { ParheliaSettings, Site } from "../../types";
import { LayoutMode } from "../client/editContext";
export declare const DEVICE_CHANGE_EVENT = "parhelia:device-change";
export declare function useViewportChangeSignal(): void;
export type PageViewContext = {
    device: string;
    setDevice: React.Dispatch<React.SetStateAction<string>>;
    zoom: number;
    setZoom: React.Dispatch<React.SetStateAction<number>>;
    scroll: number;
    setScroll: React.Dispatch<React.SetStateAction<number>>;
    fullscreen: boolean;
    setFullscreen: React.Dispatch<React.SetStateAction<boolean>>;
    editorIframe: HTMLIFrameElement | null;
    setEditorIframe: React.Dispatch<React.SetStateAction<HTMLIFrameElement | null>>;
    deviceWidth?: number;
    deviceHeight?: number;
    setDeviceWidth: React.Dispatch<React.SetStateAction<number | undefined>>;
    setDeviceHeight: React.Dispatch<React.SetStateAction<number | undefined>>;
    lockHeight: boolean;
    setLockHeight: React.Dispatch<React.SetStateAction<boolean>>;
    rotate: boolean;
    setRotate: React.Dispatch<React.SetStateAction<boolean>>;
    page?: Page;
    pageItemDescriptor?: ItemDescriptor;
    setPageSkeleton: React.Dispatch<React.SetStateAction<PageSkeleton | undefined>>;
    viewport: {
        width: number;
        height: number;
    };
    site?: Site;
    editUrl?: string;
    previewUrl?: string;
    componentsProviderSettings?: ComponentsProviderSettings;
};
export declare function usePageViewContext({ pageItemDescriptor, itemsRepository, configuration, parheliaSettings, layoutMode, }: {
    pageItemDescriptor?: ItemDescriptor;
    itemsRepository?: ItemsRepository;
    configuration?: EditorConfiguration;
    parheliaSettings?: ParheliaSettings;
    layoutMode?: LayoutMode;
}): PageViewContext;
