import React from 'react';
import { NavigationProps } from '../../components/Navigation';
type HeaderForNone = {
    type: 'none';
};
type HeaderForGNB = {
    type: 'gnb';
};
type HeaderForNav = {
    type: 'nav';
} & NavigationProps;
export type GlobalLayoutHeaderPcProps = HeaderForNone | HeaderForGNB;
export type GlobalLayoutHeaderMobileProps = HeaderForNone | HeaderForGNB | HeaderForNav;
export type SetGlobalLayoutHeaderProps<P, M, GnbExtraType> = {
    pc: P extends 'gnb' ? HeaderForGNB & GnbExtraType : HeaderForNone;
    mobile: M extends 'gnb' ? HeaderForGNB & GnbExtraType : M extends 'nav' ? HeaderForNav : HeaderForNone;
};
interface GlobalLayoutHeaderContext {
    hideGnb: () => void;
    showGnb: () => void;
    setGlobalLayoutHeader: <P, M, GnbExtraType>(props: SetGlobalLayoutHeaderProps<P, M, GnbExtraType>) => void;
    hasGlobalLayoutHeaderInMobile: boolean;
    hasGlobalLayoutHeader: boolean;
}
export declare const GlobalLayoutHeaderContext: React.Context<GlobalLayoutHeaderContext>;
export {};
