import * as React from 'react'; import { type NavIdProps } from '../../lib/getNavId'; import type { HasPlatform, HTMLAttributesWithRootRef } from '../../types'; import { type ScrollContextInterface } from '../AppRoot/ScrollContext'; import { type ConfigProviderContextInterface } from '../ConfigProvider/ConfigProviderContext'; import { type SplitColContextProps } from '../SplitCol/SplitColContext'; interface Scrolls { [index: string]: Array; } interface ViewsScrolls { [index: string]: Scrolls; } export declare let scrollsCache: ViewsScrolls; export type TransitionParams = { from: string | null; to: string | null; }; export interface ViewInfiniteProps extends HTMLAttributesWithRootRef, HasPlatform, NavIdProps { /** * `id` активной панели. */ activePanel: string; /** * Обработчик, который вызывается при завершении анимации смены активной панели. */ onTransition?: (params: TransitionParams & { isBack: boolean; }) => void; /** * Обработчик свайпа назад. */ onSwipeBack?: () => void; /** * Обработчик начала анимации свайпа назад. */ onSwipeBackStart?: (activePanel: string | null) => void | 'prevent'; /** * Обработчик завершения анимации отмененного пользователем свайпа. */ onSwipeBackCancel?: () => void; /** * Массив из id панелей в порядке открытия. */ history?: string[]; /** * Функция проверки перехода назад. */ isBackCheck?: (params: TransitionParams) => boolean; /** * @ignore */ splitCol?: SplitColContextProps; /** * @ignore */ configProvider?: ConfigProviderContextInterface; /** * @ignore */ scroll?: ScrollContextInterface; } export interface ViewInfiniteState { animated: boolean; visiblePanels: Array; activePanel: string | null; isBack?: boolean; prevPanel: string | null; nextPanel: string | null; swipingBack?: boolean; swipeBackStartX: number; swipeBackShift: number; swipeBackNextPanel: string | null; swipeBackPrevPanel: string | null; swipeBackResult: 'success' | 'fail' | null; browserSwipe: boolean; } export declare const ViewInfinite: React.FC; export {}; //# sourceMappingURL=ViewInfinite.d.ts.map