import Component from '@glimmer/component';
import type { EuiButtomBarArgs } from './eui-bottom-bar';
import type { EuiPageBodySignature } from './eui-page-body';
import type { EuiPageContentSignature } from './eui-page-content';
import type { EuiPageContentBodySignature } from './eui-page-content-body';
import type { EuiPageHeaderSignature } from './eui-page-header';
import type { EuiPageSideBarSignature } from './eui-page-side-bar';
export declare const TEMPLATES: readonly ["default", "centeredBody", "centeredContent", "empty"];
interface NormalProps {
    className?: string;
}
export type EuiPageTemplateProps = {
    template?: (typeof TEMPLATES)[number];
    pageBodyProps: NormalProps & EuiPageBodySignature['Args'];
    pageContentProps: NormalProps & EuiPageContentSignature['Args'];
    pageContentBodyProps: NormalProps & EuiPageContentBodySignature['Args'];
    pageHeader: NormalProps & EuiPageHeaderSignature['Args'];
    pageSideBarProps: NormalProps & EuiPageSideBarSignature['Args'];
    /**
     * Adds a bottom bar to the page template
     */
    bottomBar?: any;
    /**
     * Adds a bottom bar to the page template
     */
    hasBottomBarBlock?: boolean;
    /**
     * Gets passed along to the #EuiBottomBar component if `bottomBar` has contents
     */
    bottomBarProps?: EuiButtomBarArgs;
    fullHeight?: boolean;
    /**
     * Minimum height in which to enforce scrolling
     */
    minHeight?: number;
    restrictWidth?: boolean | number | string;
    grow?: boolean;
    paddingSize?: EuiPageSideBarSignature['Args']['paddingSize'];
    hasPageSideBarBlock?: boolean;
    hasPageHeaderPageTitleBlock?: boolean;
    hasPageHeaderDefaultBlock?: boolean;
    hasPageHeaderRightSideItemsBlock?: boolean;
    hasPageHeaderDescriptionBlock?: boolean;
    hasPageHeader?: boolean;
    hasPageContent?: boolean;
    hasPageContentBody?: boolean;
};
export interface EuiPageTemplateSignature {
    Element: HTMLElement;
    Args: EuiPageTemplateProps;
    Blocks: {
        default: [];
        pageSideBar: [];
        pageHeaderPageTitle: [];
        pageHeaderDefault: [];
        pageHeaderDescription: [];
        pageHeaderRightSideItems: EuiPageHeaderSignature['Blocks']['rightSideItems'];
        bottomBar: [];
    };
}
export default class EuiPageTemplate extends Component<EuiPageTemplateSignature> {
    fullHeight: boolean;
    template: (typeof TEMPLATES)[number];
    isWithinBreakpoints: boolean;
    setIsWithinBreakpoints: (value: boolean) => void;
    get minHeight(): string | number;
    get restrictWidth(): string | number | boolean;
    get classes(): string;
    get fullHeightClass(): "" | "eui-fullHeight ";
    get yScrollClass(): "" | "eui-yScroll ";
    get canFullHeight(): boolean;
    get pageBodyPropsClass(): string;
    get pageContentPropsClass(): string;
    get pageContentBodyPropsClass(): string;
}
export {};
//# sourceMappingURL=eui-page-template.d.ts.map