import React, { PropsWithChildren, ReactNode } from "react";
/**
 * @description 테마 레이아웃 옵션 인터페이스
 */
export interface DThemeLayoutOptionInterface {
    /**
     * @description 폰트 비율 (기본값 1, 0.5 ~ 2 사이의 값)
     * @returns number
     */
    fontRatio: number;
    /**
     * @description 컨테이너 타입 ("fluid" 또는 "container")
     * @returns "fluid" | "container"
     */
    container: "fluid" | "container";
    /**
     * @description 헤더 고정 여부 (스크롤 시 헤더가 고정되는지 설정)
     * @returns boolean
     */
    headerSticky: boolean;
    /**
     * @description 아이콘 클래스 (optional)
     * @returns string | undefined
     */
    icon?: string;
}
/**
 * @description 테마 레이아웃 컴포넌트의 인터페이스 정의
 */
interface DThemeLayoutInterface extends PropsWithChildren {
    /**
     * @description 메뉴 영역을 렌더링할 요소 또는 함수
     * @returns ReactNode | (options: DThemeLayoutOptionInterface) => ReactNode
     */
    MenuElement?: ReactNode | ((options: DThemeLayoutOptionInterface) => ReactNode);
    /**
     * @description 헤더 영역을 렌더링할 요소 또는 함수
     * @returns ReactNode | (options: DThemeLayoutOptionInterface) => ReactNode
     */
    HeaderElement?: ReactNode | ((options: DThemeLayoutOptionInterface) => ReactNode);
    /**
     * @description 바디 컨테이너의 추가적인 CSS 클래스명
     * @returns string | undefined
     */
    bodyContainerClassName?: string;
    /**
     * @description 바디 래퍼의 추가적인 CSS 클래스명
     * @returns string | undefined
     */
    bodyWrapperClassName?: string;
    /**
     * @description 헤더 래퍼의 추가적인 CSS 클래스명
     * @returns string | undefined
     */
    headerWrapperClassName?: string;
    /**
     * @description 메뉴 래퍼의 추가적인 CSS 클래스명
     * @returns string | undefined
     */
    menuWrapperClassName?: string;
}
/**
 * @description 메뉴영역 / 바디영역의 theme layout 을 제공 한다.
 * 또한 font-size 증가 및 감소를 시킬 수 있다. 0.5 ~ 2 default 1
 * @param props
 * @returns
 */
export declare const DThemeLayout: React.FC<DThemeLayoutInterface>;
export default DThemeLayout;
