import * as React from 'react'; import type { ImageViewerItem } from './types.js'; import type { ChangeDetails } from '../../contracts/components.js'; import { Popup } from './parts/Popup.js'; import { Stage } from './parts/Stage.js'; import { Toolbar } from './parts/Toolbar.js'; import { Caption } from './parts/Caption.js'; import { Inspector } from './parts/Inspector.js'; import { Prev } from './parts/Prev.js'; import { Next } from './parts/Next.js'; import { Counter } from './parts/Counter.js'; import { ZoomIn } from './parts/ZoomIn.js'; import { ZoomOut } from './parts/ZoomOut.js'; import { ZoomReset } from './parts/ZoomReset.js'; export type { ImageViewerItem } from './types.js'; export type { ImageViewerPopupProps } from './parts/Popup.js'; export interface ImageViewerRootProps { /** Images to view, in order. */ items: ImageViewerItem[]; /** Controlled value. Pair with `onValueChange`. */ value?: string | undefined; /** Initial value when uncontrolled. */ defaultValue?: string | undefined; /** Called with the new value whenever it changes. */ onValueChange?: ((id: string, details: ChangeDetails) => void) | undefined; /** Controlled open state. Pair with `onOpenChange`. */ open?: boolean | undefined; /** Initial open state when uncontrolled. */ defaultOpen?: boolean | undefined; /** Called with the next open state when it changes. */ onOpenChange?: ((open: boolean, details: ChangeDetails) => void) | undefined; /** Wraps keyboard focus from the last item back to the first. */ loop?: boolean | undefined; /** Sample the current image's tone (after decode) into the Stage's * data-ag-media-tone. Cross-origin images need `crossOrigin` on the item * plus CORS headers; otherwise no tone is written. Default true. */ sampleTone?: boolean | undefined; /** Content rendered inside the component. */ children?: React.ReactNode; } declare function Root(props: ImageViewerRootProps): React.ReactElement; export declare const ImageViewer: { readonly Root: typeof Root; readonly Trigger: ({ id, className, children, ref }: { id: string; className?: string; children?: React.ReactNode; } & { ref?: React.Ref; }) => React.JSX.Element; readonly Popup: typeof Popup; readonly Stage: typeof Stage; readonly Toolbar: typeof Toolbar; readonly Caption: typeof Caption; readonly Inspector: typeof Inspector; readonly Prev: typeof Prev; readonly Next: typeof Next; readonly Counter: typeof Counter; readonly ZoomIn: typeof ZoomIn; readonly ZoomOut: typeof ZoomOut; readonly ZoomReset: typeof ZoomReset; readonly Close: ({ className, ref }: { className?: string; } & { ref?: React.Ref; }) => React.JSX.Element; }; export type ImageViewer = typeof ImageViewer; //# sourceMappingURL=ImageViewer.d.ts.map