/** * Copyright 2019, SumUp Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type ReactNode } from 'react'; import type { ImageProps } from '../Image/index.js'; import type { Actions, State } from '../Step/types.js'; export interface CarouselProps { /** * List of slides to be rendered in a carousel. */ slides: Item[]; /** * Indicates duration of animation between slides (in milliseconds). */ animationDuration?: number; /** * Indicates time how long each slide will stay visible (in milliseconds). */ slideDuration?: number; /** * Slide image aspect ratio. */ aspectRatio?: number; /** * Indicates if carousel should start again after last slide. */ cycle?: boolean; /** * Make carousel playing immediately after load. */ autoPlay?: boolean; /** * Optionally remove carousel controls bar under a slide. */ hideControls?: boolean; /** * Label slide image by returning id string value of a label component (required for accessibility). */ getAriaLabelledBy?: (slide: Item, index: number) => string; /** * Label for the play action */ playButtonLabel: string; /** * Label for the pause action */ pauseButtonLabel: string; /** * Label for the previous action */ prevButtonLabel: string; /** * Label for the next action */ nextButtonLabel: string; /** * Add additional components inside a carousel. */ children?: ReactNode | ((props: { state: State; actions: Actions; }) => ReactNode); } type Item = { image: ImageProps; }; export declare function Carousel({ slides, slideDuration, animationDuration, aspectRatio, cycle, autoPlay, hideControls, getAriaLabelledBy, playButtonLabel, pauseButtonLabel, prevButtonLabel, nextButtonLabel, children, ...props }: CarouselProps): import("react/jsx-runtime").JSX.Element | null; export {};