import type { ReactElement, ReactNode, Ref } from 'react';
import type { AsProp, BaseProps, ForwardRefForwardPropsComponent, NoChildrenProp, OmitStrict } from '../../types';
import type { BreadcrumbsProps } from '../Breadcrumbs';
import type { Tab, TabsProps } from '../Tabs';
import Tabs, { TabPanel } from '../Tabs';
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;
    /**
     * Determines layout spacing.
     * @default 'standard'
     */
    layout?: 'standard' | 'full-size';
}
export interface TabbedPageProps extends OmitStrict<PageTemplateProps, 'forwardedAs'> {
    tabs: OmitStrict<TabsProps, 'tabs' | 'currentTabId'> & {
        tabs: TabbedPageTab[];
        defaultTabId?: string;
    };
}
export interface DynamicLayoutPageProps extends OmitStrict<PageTemplateProps, 'scrollContent'> {
    a: ReactNode;
}
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;
    padContent?: boolean;
}
export declare const StyledPageIcon: import("styled-components").StyledComponent<ForwardRefForwardPropsComponent<import("../Flex").FlexProps>, 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;
}, 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;
}, never>;
export declare const TabbedPage: ForwardRefForwardPropsComponent<TabbedPageProps>;
export declare const DynamicLayoutPage: ForwardRefForwardPropsComponent<DynamicLayoutPageProps>;
export declare const OneColumnPage: ForwardRefForwardPropsComponent<OneColumnPageProps>;
export declare const TwoColumnPage: ForwardRefForwardPropsComponent<TwoColumnPageProps>;
export declare const ThreeColumnPage: ForwardRefForwardPropsComponent<ThreeColumnPageProps>;
export declare const FourColumnPage: ForwardRefForwardPropsComponent<FourColumnPageProps>;
export declare const WideNarrowPage: ForwardRefForwardPropsComponent<WideNarrowPageProps>;
export declare const NarrowWidePage: ForwardRefForwardPropsComponent<WideNarrowPageProps>;
export declare const WideWideNarrowPage: ForwardRefForwardPropsComponent<WideWideNarrowPageProps>;
export declare const NarrowWideWidePage: ForwardRefForwardPropsComponent<NarrowWideWidePageProps>;
export declare const NarrowWideNarrowPage: ForwardRefForwardPropsComponent<NarrowWideNarrowPageProps>;
//# sourceMappingURL=PageTemplates.d.ts.map