import type { RendererProps, SchemaClassName } from 'jamis-core';
import type { BaseSchema, BasicPaginationProps, SchemaCollection } from '../types';
import type { IPaginationStore } from './PaginationStore';
export * from './Pagination.types';
export interface PaginationSchema extends BaseSchema, Partial<BasicPaginationProps> {
    type: 'pagination';
}
export interface PaginationProps extends RendererProps, Omit<PaginationSchema, 'type' | 'className'> {
    popOverContainer?: any;
}
/**
 * 分页容器功能性渲染器
 */
export interface PaginationWrapperSchema extends Omit<PaginationSchema, 'type'> {
    /**
     * 指定为分页容器功能性渲染器
     */
    type: 'pagination-wrapper';
    /**
     * 输入字段名
     *
     * @default items
     */
    inputName?: string;
    /**
     * 输出字段名
     *
     * @default items
     */
    outputName?: string;
    /**
     * 分页显示位置，如果配置为 none 则需要自己在内容区域配置 pagination 组件，否则不显示。
     */
    position?: 'top' | 'bottom' | 'none';
    /**
     * 内容区域
     */
    body?: SchemaCollection;
    bodyClassName?: SchemaClassName;
}
export interface PaginationWrapProps extends RendererProps, Omit<PaginationWrapperSchema, 'type' | 'className'> {
    inputName: string;
    outputName: string;
    perPage: number;
    store: IPaginationStore;
}
