import { PlacementType } from "../Popover/popover";
export type RenderType = "page" | "range";
export interface ListItemProps {
    type: RenderType;
    pageNum: number;
    active: boolean;
}
export interface pageRangeProps {
    type: RenderType;
    pageRange: string;
}
export type PageListItemProps<T> = T extends "page" ? ListItemProps : pageRangeProps;
export type CalculatePageList = (total: number, current: number, pageSize: number, showPageRange: boolean) => Array<PageListItemProps<"page" | "range">>;
export interface PaginationProps {
    current?: number;
    defaultCurrent?: number;
    defaultPageSize?: number;
    pageSizeOptions?: number[];
    pageSize?: number;
    total: number;
    onChange?: (page: number, pageSize: number) => void;
    mini?: boolean;
    showTotal?: boolean;
    showQuickJumper?: boolean;
    showPageSizeOptions?: boolean;
    popoverPosition?: PlacementType;
    popoverZIndex?: number;
    isBigData?: boolean;
    showPageRange?: boolean;
    hideOnSinglePage?: boolean;
}
