import { type ReactNode } from "react"; import { type MeasureProps, type WidthKey } from "../../style/index.js"; import { type AppFrameSkin } from "./app-frame.styles.js"; /** The page measure when no step is passed: `widest` (1152), the app-page reading width. */ export declare const PAGE_MEASURE: WidthKey; export interface AppFrameProps { /** The app's top chrome (a Navbar), rendered in a `role="banner"` region above the body. */ header?: ReactNode; /** The body, typically a router's Stack: it fills the height the header leaves. */ children?: ReactNode; /** E2E hook forwarded to the frame. */ testID?: string; } export interface PageProps extends MeasureProps { /** The page content, stacked in a Column at the loose (24) rhythm. */ children?: ReactNode; /** No cap: the content spans the page between its gutters. Wins over every step. */ fluid?: boolean; /** * A plain content box instead of the page's own overlay host, so overlays opened in * the page go to an enclosing host (a viewport-measured OverlayProvider around the page). */ inheritOverlays?: boolean; /** E2E hook forwarded to the page's scroller. */ testID?: string; } /** The measure a Page's props resolve to: `fluid`, else the narrowest step passed, else `widest`. */ export declare function pageMeasureOf(p: PageProps): WidthKey | "fluid"; /** Build AppFrame from a platform skin (the shared frame fill). */ export declare function createAppFrame(skin: AppFrameSkin): ({ header, children, testID }: AppFrameProps) => import("react").JSX.Element; /** Build Page from a platform skin (the shared gutter). */ export declare function createPage(skin: AppFrameSkin): (props: PageProps) => import("react").JSX.Element; //# sourceMappingURL=app-frame.shared.d.ts.map