import { Color, Size } from '../../types'; import { ThemeTypesModel } from '../../Themes/theme_types'; type availableSizes = Size.s | Size.m; type availableColors = Color.green | Color.blue | Color.dark; export interface PaginationProps { size: availableSizes; color: availableColors; pageLength: number; value?: number; pageNumberInSection?: number; customClass?: string; buttonsMode: 'text' | 'icon'; theme?: ThemeTypesModel; ariaLabel?: string; isIndefinitePageLength?: boolean; nextBtnIcon?: string; prevBtnIcon?: string; isInverse?: boolean; isDisabled?: boolean; isResponsive?: boolean; pageChanged?: (page: number) => void; } export interface InfinitePaginationOptions { value: number; isInverse: boolean; theme: ThemeTypesModel; state: PaginationContextStateOptions; pageLength: number; buttonsMode: 'text' | 'icon'; prevBtnIcon?: string; nextBtnIcon?: string; pageChanged: (page: number) => void; } export interface LimitedPaginationStateOptions { value: number; theme: ThemeTypesModel; state: PaginationContextStateOptions; buttonsMode: 'text' | 'icon'; prevBtnIcon?: string; nextBtnIcon?: string; isInverse: boolean; pageLength: number; pageNumberInSection: number; pageChanged: (page: number) => void; } export interface ResponsivePaginationProps { currentPage: number; pageLength: number; state: PaginationContextStateOptions; onNextPage: () => void; onPrevPage: () => void; } export interface PaginationContextStateOptions { size: availableSizes; color: availableColors; dayTime: 'light' | 'dark'; isDisabled: boolean; isInverse: boolean; responsiveVersion: boolean; } export interface PaginationContainerProps { state: PaginationContextStateOptions; } export interface Page { title: number; } export {};