/// <reference types="react" />
import { SmartBaseExternalClassName, SmartComponent, SmartEventHandler } from '../base';
export interface SmartNavBarProps {
    /**
     * 标题
     *
     * @default ''
     */
    title?: string;
    /**
     * 是否显示圆角
     *
     * @version 2.1.0
     * @default false
     */
    round?: boolean;
    /**
     * 左侧文案
     *
     * @default ''
     */
    leftText?: string;
    /**
     * 左侧文案样式类型，默认为 back
     *
     * @version v2.0.0
     * @default 'back'
     */
    leftTextType?: 'home' | 'title' | 'back';
    /**
     * 左侧 Icon
     *
     * @version v2.0.0
     * @default ''
     */
    leftIcon?: string;
    /**
     * 左侧 Icon 大小，默认为 32
     *
     * @version v2.0.0
     * @default 32
     */
    leftIconSize?: string | number;
    /**
     * 右侧文案
     *
     * @default ''
     */
    rightText?: string;
    /**
     * 右侧文案颜色
     *
     * @version v2.7.0
     * @default ''
     */
    rightTextColor?: string;
    /**
     * 是否显示左侧箭头
     *
     * @default false
     */
    leftArrow?: boolean;
    /**
     * 右侧 Icon
     *
     * @version v2.7.0
     * @default ''
     */
    rightIcon?: string;
    /**
     * 右侧 Icon 大小，默认为 32
     *
     * @version v2.7.0
     * @default 32
     */
    rightIconSize?: string | number;
    /**
     * 右侧 Icon 颜色
     *
     * @version v2.7.0
     * @default ''
     */
    rightIconColor?: string;
    /**
     * 是否固定在顶部
     *
     * @default false
     */
    fixed?: boolean;
    /**
     * 固定在顶部时是否开启占位
     *
     * @default false
     */
    placeholder?: boolean;
    /**
     * 是否显示下边框
     *
     * @default false
     */
    border?: boolean;
    /**
     * 元素 `z-index`
     *
     * @default 1
     */
    zIndex?: number;
    /**
     * 根节点自定义样式
     */
    customStyle?: React.CSSProperties;
    /**
     * 是否留出顶部安全距离（状态栏高度）
     *
     * @default true
     */
    safeAreaInsetTop?: boolean;
    /**
     * 左侧 Icon 颜色
     *
     * @version v2.7.0
     * @default ''
     */
    leftIconColor?: string;
    /**
     * @description 背景色
     * @version v2.7.0
     */
    background?: string;
    /**
     * @description 侧边栏宽度
     * @version v2.7.3
     */
    sideWidth?: string | number | 'min' | 'max' | 'mid';
    /**
     * 左侧返回箭头的无障碍读屏文案
     *
     * @version 2.13.0
     */
    leftArrowAriaLabel?: string;
    /**
     * 左侧图标的无障碍读屏文案
     *
     * @version 2.13.0
     */
    leftIconAriaLabel?: string;
    /**
     * 右侧图标的无障碍读屏文案
     *
     * @version 2.13.0
     */
    rightIconAriaLabel?: string;
}
export interface SmartNavBarEvents {
    /**
     * 点击左侧按钮时触发
     */
    onClickLeft?: SmartEventHandler;
    /**
     * 点击右侧按钮时触发
     */
    onClickRight?: SmartEventHandler;
    /**
     * 点击中央标题时触发
     *
     * @version v2.0.0
     */
    onClickTitle?: SmartEventHandler;
    /**
     * 点击左侧 icon 时触发
     *
     * @version v2.0.0
     */
    onClickLeftIcon?: SmartEventHandler;
    /**
     * 点击左侧文本时触发
     *
     * @version v2.0.0
     */
    onClickLeftText?: SmartEventHandler;
    /**
     * 点击右侧文本时触发
     *
     * @version v2.7.0
     */
    onClickRightText?: SmartEventHandler;
    /**
     * 点击右侧 icon 时触发
     *
     * @version v2.7.0
     */
    onClickRightIcon?: SmartEventHandler;
}
export interface SmartNavBarExternalClassName extends SmartBaseExternalClassName {
    /**
     * 标题样式类
     */
    titleClass?: string;
    /**
     * 左侧 Icon 样式类
     *
     * @version v2.0.0
     */
    leftIconClass?: string;
    /**
     * 右侧文字样式类
     *
     * @version 2.1.0
     */
    rightTextClass?: string;
    /**
     * 右侧图标样式类
     *
     * @version v2.7.0
     */
    rightIconClass?: string;
    /**
     * 左侧文字样式类
     *
     * @version v2.7.0
     */
    leftTextClass?: string;
}
export interface SmartNavBarSlot {
    /**
     * NavBar Slot
     */
    slot?: {
        /**
         * 自定义 title 显示内容，如果设置了 title 属性则不生效
         */
        title?: React.ReactNode;
        /**
         *  自定义左侧区域内容
         */
        left?: React.ReactNode;
        /**
         * 自定义右侧区域内容
         */
        right?: React.ReactNode;
    };
}
export type SmartNavBar = SmartComponent<SmartNavBarProps, SmartNavBarEvents, SmartNavBarExternalClassName, SmartNavBarSlot>;
