import React, { type ReactNode, type HTMLAttributes, type CSSProperties } from 'react'; import type { PagiflowInstance, PagiflowOptions } from './types'; export interface PagiflowSlideProps extends HTMLAttributes { children?: ReactNode; /** * If true, changes the element rendered to the direct child element, * merging their props and behavior. */ asChild?: boolean; } /** * Wrapper for individual slides. Each direct child of `` becomes * a slide. By default (`asChild: true`), this acts as a Slot and merges * its props into the child element to avoid an extra wrapper `
`. * Pass `asChild={false}` to explicitly render a wrapper `
`. */ export declare const PagiflowSlide: React.ForwardRefExoticComponent>; export interface PagiflowHandle { instance: PagiflowInstance | null; next(): void; prev(): void; goTo(index: number, opts?: { silent?: boolean; instant?: boolean; }): void; play(): void; pause(): void; resume(): void; togglePlayPause(): void; setOptions(opts: Partial, rebuild?: boolean): void; reInit(opts?: Partial): void; } export interface PagiflowProps extends PagiflowOptions { /** Slide content — accepts any React children */ children?: ReactNode; /** CSS class applied to the track element */ className?: string; /** Inline style for the track element */ style?: CSSProperties; /** Called when the active slide changes (real index, 0-based) */ onSlideChange?: (index: number) => void; /** * Render prop for custom navigation. * Receives `{ next, prev, currentIndex, instance }`. */ renderNav?: (props: { next: () => void; prev: () => void; currentIndex: number; instance: PagiflowInstance | null; }) => ReactNode; /** * Render prop for custom pagination. * Receives `{ goTo, currentIndex, total, instance }`. */ renderPagination?: (props: { goTo: (i: number) => void; currentIndex: number; total: number; instance: PagiflowInstance | null; }) => ReactNode; /** ID applied to the underlying track element */ id?: string; } /** * Drop-in React component wrapping the Pagiflow core. * * @example * * * * */ export declare const Pagiflow: React.ForwardRefExoticComponent>;