export type PaginationMenuProps = { className?: string; /** Defaults to "large" if not supplied */ type?: "small" | "large" | "cursor"; /** @deprecated use type instead */ small?: boolean; pageSize?: PageSize; } & (PaginationMenuPropsSmall | PaginationMenuPropsLarge | PaginationMenuPropsCursor); type PaginationMenuPropsSmall = ({ type: "small"; small?: never; } | { small: true; type?: never; }) & PaginationMenuSmallProps; type PaginationMenuPropsLarge = ({ type: "large"; small?: never; } | { small?: false | undefined; type?: never; }) & PaginationMenuLargeProps; type PaginationMenuPropsCursor = { type: "cursor"; small?: never; } & PaginationMenuCursorProps; export interface PaginationMenuSmallProps { pageCount: number; currentPageNumber: number; onChange: OnPaginationChange; pageSize?: PageSize; } export interface PaginationMenuLargeProps { pageCount: number; currentPageNumber: number; onChange: OnPaginationChange; pageSize?: PageSize; localization: Localization; resultCount?: number; } export interface PaginationMenuCursorProps { previousCursor?: string | null; nextCursor?: string | null; onChange: OnPaginationCursorChange; pageSize?: number; localization: Pick; } export type OnPaginationChange = (pageNumber: number, pageSize?: PageSize) => void; export type OnPaginationCursorChange = (newCursor: string) => void; export type PageSize = 25 | 50 | 75 | 100; export interface Localization { display: string; page: string; previous: string; next: string; of: string; } export type Option = { value: number; label: string; }; export {};