import React, { PureComponent } from 'react'; import { PageHeader, HeaderProps } from './components/Header'; import { SectionProps } from './components/Section'; import { ContentProps, PageProps, TailProps, FixedContentProps, FixedFooterProps } from './Page.types'; type DefaultProps = Required>; type Props = PageProps & DefaultProps; type State = { headerContainerHeight: number; headerWrapperHeight: number; minimizedHeaderWrapperHeight: number; tailHeight: number; footerHeight: number; pageHeight?: number; windowHeight?: number; minimized: boolean; }; type HeaderElement = React.ReactElement; type SectionElement = React.ReactElement; type ContentElement = React.ReactElement; type FixedContentElement = React.ReactElement; type TailElement = React.ReactElement; type FixedFooterElement = React.ReactElement; type ChildrenObject = { PageHeader?: HeaderElement; Section?: SectionElement; PageContent?: ContentElement; PageFixedContent?: FixedContentElement; PageTail?: TailElement; FixedFooter?: FixedFooterElement; }; declare class Page extends PureComponent { static displayName: string; static contextType: React.Context<{ newBrandingClass?: string; mobile?: boolean; contextClassName?: string; }>; static defaultProps: DefaultProps; static Header: typeof PageHeader; static Section: { ({ dataHook, showDivider, title, subtitle, actionsBar, className, }: SectionProps): React.JSX.Element; displayName: string; }; static Content: { ({ children, stickyStyle }: ContentProps): any; displayName: string; }; static FixedContent: { (props: { children: React.ReactNode; }): React.ReactNode; displayName: string; }; static Tail: { ({ children, minimized }: TailProps): React.ReactElement>; displayName: string; }; static FixedFooter: { ({ children }: FixedContentProps): React.ReactElement>; displayName: string; }; static Sticky: { ({ children, className, style, ...props }: import("./Page.types").StickyProps): React.JSX.Element; displayName: string; }; static Footer: { ({ divider, className, children, dataHook, ...props }: import("./components/Footer").FooterProps): React.JSX.Element; displayName: string; Start: typeof import("./components/Footer/components/Start/Start").Start; Center: typeof import("./components/Footer/components/Center/Center").Center; End: typeof import("./components/Footer/components/End/End").End; }; scrollableContainerRef: React.RefObject; headerWrapperRef: HTMLDivElement | null; headerContainerRef: HTMLDivElement | null; pageHeaderTailRef: HTMLDivElement | null; pageRef: HTMLDivElement | null; footerWrapperRef: HTMLDivElement | null; pageScrollContextValue: { scrollableContentRef: React.RefObject; }; headerResizeObserver: ResizeObserver | undefined; constructor(props: Props); componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; _getNamedChildren(): ChildrenObject; _calculateComponentsHeights(): void; _getScrollContainer(): HTMLDivElement | null; _measureMinimizedHeaderWrapperHeight(): number; _readPxProperty(property: string, fallback: number): number; _getMinimizedHeaderWrapperHeight(): number; _getMinimizationDiff(): number | null; _handleScroll(e: HTMLElement): void; _handleWindowResize(): void; _safeGetChildren(element?: ContentElement): string | number | true | React.ReactElement> | Iterable; _getPageDimensionsStyle(): React.CSSProperties | undefined; _getSidePaddingStyle(): React.CSSProperties | undefined; _hasBackgroundImage(): boolean; _hasGradientClassName(): boolean; _renderContentHorizontalLayout(props: React.HTMLAttributes & { horizontalScroll?: boolean; }): React.JSX.Element; _renderHeader(): React.JSX.Element | undefined; _renderHeaderContainer(): React.JSX.Element; _renderScrollableContainer(): React.JSX.Element; _hasTail(): boolean; _hasHeader(): boolean; _isContentStretched(): boolean; _getContentPaddingStyle(): React.CSSProperties; _renderScrollableBackground(): React.JSX.Element | null; _renderTail(): React.JSX.Element | undefined; _renderContentContainer(): React.JSX.Element; _renderFixedFooter: () => React.JSX.Element | null; render(): React.JSX.Element; /** * Scrolls the page to a particular set of coordinates. * @param {ScrollToOptions} scrollTo { left: number, top: number, behavior: 'smooth' | 'auto' } */ scrollTo(scrollTo?: ScrollToOptions): void; } export { Page }; //# sourceMappingURL=Page.d.ts.map