import type {
    ReactNode
} from "react";
import type {
    ViewProps
} from "react-native";
import type ISiteLogoProps from "../siteLogo/type";

export type MainHeaderDynamicStyle = {
    customBackgroundColor?: keyof NCoreUIKit.ProjectColorPalette;
    backgroundColor?: keyof NCoreUIKit.ContainerContentColors;
    borders: NCoreUIKit.ActivePalette["borders"];
    colors: NCoreUIKit.ActivePalette["colors"];
    spaces: NCoreUIKit.ActivePalette["spaces"];
    isWorkWithSafeAreaView?: boolean;
    isWorkWithSeperator?: boolean;
    isWorkWithSticky?: boolean;
    glassEffect?: number;
};

interface IMainHeader extends ViewProps {
    customBackgroundColor?: keyof NCoreUIKit.ProjectColorPalette;
    backgroundColor?: keyof NCoreUIKit.ContainerContentColors;
    onContentHeight?: (contentHeight: number | null) => void;
    customTheme?: {
        gapPropagation?: keyof NCoreUIKit.GapPropagationKey;
        sharpness?: keyof NCoreUIKit.SharpnessKey;
        paletteKey?: keyof NCoreUIKit.PaletteKey;
        themeKey?: keyof NCoreUIKit.ThemeKey;
    };
    customLocalize?: {
        activeLocale?: keyof NCoreUIKit.LocaleKey;
    };
    isWorkWithSafeAreaView?: boolean;
    isWorkWithStickySpace?: boolean;
    isSetAutoHeaderSpace?: boolean;
    siteLogoProps?: ISiteLogoProps;
    isWorkWithSeperator?: boolean;
    renderRight?: () => ReactNode;
    renderLeft?: () => ReactNode;
    isWorkWithPortal?: boolean;
    isWorkWithSticky?: boolean;
    glassEffect?: number;
    children?: ReactNode;
    portalName?: string;
};

export type {
    IMainHeader as default
};
