import React from 'react';
import type { CommonProps } from '../../internal/CommonWrapper';
import type { TGetRootNode } from '../../lib/rootNode';
import type { SidePageContextType } from './SidePageContext';
export interface SidePageHeaderProps extends Omit<CommonProps, 'children'> {
    children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);
    /** Закрепляет хедер сверху сайдпейджа. */
    sticky?: boolean;
    /** Определяет, нужно ли показывать ModalSeparator. */
    hasSeparator?: boolean;
    /**
     * Обрезает длинный заголовок при «залипании» шапки.
     * @default true. Если включить флаг sidePageNotCutTitleOnStuckByDefault, дефолтное значение - false
     */
    cutTitleOnStuck?: boolean;
}
export interface SidePageHeaderState {
    isNativeStuck: boolean;
    isReadyToStuck: boolean;
}
export declare const SidePageHeaderDataTids: {
    readonly root: "SidePageHeader__root";
    readonly close: "SidePage__close";
};
/**
 * Шапка сайдпейджа
 *
 * @visibleName SidePage.Header
 */
export declare class SidePageHeader extends React.Component<SidePageHeaderProps, SidePageHeaderState> {
    static __KONTUR_REACT_UI__: string;
    static displayName: string;
    static contextType: React.Context<SidePageContextType>;
    context: SidePageContextType;
    private isMobileLayout;
    state: SidePageHeaderState;
    static defaultProps: Partial<SidePageHeaderProps>;
    private theme;
    private wrapper;
    private sticky;
    private lastRegularHeight;
    getRootNode: TGetRootNode;
    private setRootNode;
    private featureFlags;
    get regularHeight(): number;
    get fixedHeaderHeight(): number;
    componentDidMount: () => void;
    componentWillUnmount: () => void;
    private throttleHandleScroll;
    update: () => void;
    render(): JSX.Element;
    getStickyProp(): boolean;
    private renderMain;
    private renderHeader;
    private renderClose;
    private updateReadyToStuck;
    private wrapperRef;
    private stickyRef;
}
