import type { ReactNode, CSSProperties } from 'react';
/**
 * 滚动配置：为 true 时使用默认滚动；为对象时传入样式或 scroll 相关配置。
 */
export declare type PisellShellFrameScrollConfig = boolean | {
    style?: CSSProperties;
    className?: string;
};
/**
 * PisellShellFrame 配置：控制各区域的展示与行为。
 * 不同展示类型（表格/看板/日历等）复用同一壳层，通过配置控制显隐。
 */
export interface PisellShellFrameConfig {
    /** 是否展示顶部标题区（标题/副标题/辅助信息） */
    showTitle?: boolean;
    /** 是否展示顶部工具区（Toolbar） */
    showToolbar?: boolean;
    /** 是否展示顶部统计区（Statistic List） */
    showStatistic?: boolean;
    /** 统计区是否支持折叠，仅 showStatistic 为 true 时有效 */
    statisticCollapsible?: boolean;
    /** 中间内容区是否使用滚动承载包裹；为 true 时默认 overflow auto */
    scroll?: PisellShellFrameScrollConfig;
    /** 是否展示底部批量操作条（按选中状态出现由调用方控制，此处仅控制是否渲染该槽位） */
    showBatchActionBar?: boolean;
    /** 是否展示底部状态提示区（加载/错误/同步提示等） */
    showStatusArea?: boolean;
}
/**
 * PisellShellFrame 组件 Props。
 * 通过 config 控制各区域显隐，通过 slot props 传入各区域内容。
 */
export interface PisellShellFrameProps {
    /** 类名 */
    className?: string;
    /** 内联样式 */
    style?: CSSProperties;
    /** 区域显隐与行为配置，未传则默认不展示可选区域 */
    config?: PisellShellFrameConfig;
    /** 标题 */
    title?: ReactNode;
    /** 副标题 */
    subtitle?: ReactNode;
    /** 标题区右侧辅助信息 */
    titleExtra?: ReactNode;
    /** 工具栏内容 */
    toolbar?: ReactNode;
    /** 统计列表内容（如 PisellStatisticList 或自定义） */
    statisticList?: ReactNode;
    /** 主内容（表格/看板/日历/楼层图等），当 config.scroll 为 true 时会被滚动容器包裹 */
    children?: ReactNode;
    /** 批量操作条，通常按选中状态显隐由调用方控制 */
    batchActionBar?: ReactNode;
    /** 状态提示（加载/错误/同步提示等） */
    statusArea?: ReactNode;
}
