import type { FunctionComponent, Ref, ReactNode, ReactElement } from 'react';
import type { BaseProps, ForwardProps, NoChildrenProp, AsProp, OmitStrict } from '../../types';
import Tabs, { TabPanel } from '../Tabs';
import type { TabsProps, Tab } from '../Tabs';
import type { BreadcrumbsProps } from '../Breadcrumbs';
export interface PageTemplateProps extends BaseProps, AsProp, NoChildrenProp {
    title: string;
    icon?: string;
    actions?: ReactNode;
    banners?: ReactNode;
    path?: BreadcrumbsProps['path'];
    header?: ReactNode;
    utilities?: ReactNode;
    scrollContent?: boolean;
    ref?: Ref<HTMLDivElement>;
}
export interface TabbedPageTab extends Tab {
    content: ReactNode;
}
export interface TabbedPageProps extends PageTemplateProps {
    tabs: OmitStrict<TabsProps, 'tabs' | 'currentTabId'> & {
        tabs: TabbedPageTab[];
        defaultTabId?: string;
    };
}
export interface OneColumnPageProps extends PageTemplateProps {
    a: ReactNode;
}
export interface TwoColumnPageProps extends PageTemplateProps {
    a: ReactNode;
    b: ReactNode;
}
export interface ThreeColumnPageProps extends PageTemplateProps {
    a: ReactNode;
    b: ReactNode;
    c: ReactNode;
}
export interface FourColumnPageProps extends PageTemplateProps {
    a: ReactNode;
    b: ReactNode;
    c: ReactNode;
    d: ReactNode;
}
export interface WideNarrowPageProps extends PageTemplateProps {
    a: ReactNode;
    b: ReactNode;
}
export interface NarrowWidePageProps extends PageTemplateProps {
    a: ReactNode;
    b: ReactNode;
}
export interface WideWideNarrowPageProps extends PageTemplateProps {
    a: ReactNode;
    b: ReactNode;
    c: ReactNode;
}
export interface NarrowWideWidePageProps extends PageTemplateProps {
    a: ReactNode;
    b: ReactNode;
    c: ReactNode;
}
export interface NarrowWideNarrowPageProps extends PageTemplateProps {
    a: ReactNode;
    b: ReactNode;
    c: ReactNode;
}
export interface PageLayoutProps extends PageTemplateProps {
    tabs?: ReactElement<typeof Tabs>;
    regions: ReactNode[];
    regionsRef?: Ref<HTMLDivElement>;
    cols?: string;
}
export declare const StyledPageIcon: import("styled-components").StyledComponent<FunctionComponent<import("../Flex").FlexProps & ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
export declare const StyledPageHeader: import("styled-components").StyledComponent<"header", import("styled-components").DefaultTheme, {}, never>;
export declare const StyledRegion: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
    renderSingleRegion?: boolean | undefined;
}, never>;
export declare const StyledRegions: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
    pad: boolean;
}, never>;
export declare const StyledContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
export declare const StyledScrollableTabPanel: typeof TabPanel;
export declare const StyledPageLayout: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
    scrollContent: PageLayoutProps['scrollContent'];
    minContentHeight?: number | undefined;
}, never>;
export declare const TabbedPage: FunctionComponent<TabbedPageProps & ForwardProps>;
export declare const OneColumnPage: FunctionComponent<OneColumnPageProps & ForwardProps>;
export declare const TwoColumnPage: FunctionComponent<TwoColumnPageProps & ForwardProps>;
export declare const ThreeColumnPage: FunctionComponent<ThreeColumnPageProps & ForwardProps>;
export declare const FourColumnPage: FunctionComponent<FourColumnPageProps & ForwardProps>;
export declare const WideNarrowPage: FunctionComponent<WideNarrowPageProps & ForwardProps>;
export declare const NarrowWidePage: FunctionComponent<WideNarrowPageProps & ForwardProps>;
export declare const WideWideNarrowPage: FunctionComponent<WideWideNarrowPageProps & ForwardProps>;
export declare const NarrowWideWidePage: FunctionComponent<NarrowWideWidePageProps & ForwardProps>;
export declare const NarrowWideNarrowPage: FunctionComponent<NarrowWideNarrowPageProps & ForwardProps>;
//# sourceMappingURL=PageTemplates.d.ts.map