import { ReactNode } from 'react'
import State from './state'
interface HandlerArgs {
event: Event
}
interface PaginationEventHandler extends Function {
(args: HandlerArgs): void
}
interface OptionRenderProp extends Function {
(page: string | number, index?: number)
}
interface PaginationRenderProp extends Function {
(props: PaginationProps, state: State): ReactNode
}
interface PaginationProps {
className?: string
children?: ReactNode
state?: State
value?: any
nowrap?: boolean
// state values
maxValue?: number
minValue?: number
delta?: number
adaptive?: boolean
isMobile?: boolean
total?: number
// event handler, not used...
onClick?: PaginationEventHandler
// @note this is removed now
render?: PaginationRenderProp
// render...
renderArrows?: PaginationRenderProp
renderLimit?: PaginationRenderProp
renderOption?: OptionRenderProp
renderSelector?: PaginationRenderProp
}
export {
HandlerArgs,
OptionRenderProp,
PaginationEventHandler,
PaginationRenderProp,
PaginationProps,
PaginationProps as Props,
State as PaginationState,
State,
}