import { BoxProps } from '@starasia/box';
import { PropsWithChildren, ReactNode, default as React } from 'react';
import { IBadges } from '@starasia/badges';
import { IconName } from '@starasia/icon/dist/types';
import { ButtonProps } from '@starasia/button/dist/types';

interface BackButtonProps {
    show?: boolean;
    title?: string | ReactNode;
    navigateTo?: string;
    onClick?: () => void;
    textColor?: React.CSSProperties["color"] | string;
    iconColor?: React.CSSProperties["color"] | string;
    iconName?: IconName;
}
interface ActionProps {
    title?: string | ReactNode;
    icon?: IconName;
    buttonProps?: ButtonProps;
    onClick?: () => void;
}
export interface PageLayoutProps extends PropsWithChildren {
    title?: string | ReactNode;
    titleTag?: string;
    header?: boolean;
    backButton?: BackButtonProps;
    action?: ActionProps[] | React.ReactNode;
    titleTagProps?: Omit<IBadges, "text" | "border" | "size">;
    containerProps?: Omit<BoxProps, "variant" | "gap">;
    headerProps?: Omit<BoxProps, "gap">;
}
export declare const PageLayout: React.MemoExoticComponent<({ backButton, title, titleTag, children, header, action, titleTagProps, containerProps, headerProps, }: PageLayoutProps) => React.JSX.Element>;
export {};
