import type { BorderType, ShadowType, ShapeType, Spacing } from ".."; import type { VerticalAlignment } from "../alignment"; import type { Background } from "../background"; import type { BaseComponent } from "../base"; import type { ColorScheme } from "../colors"; import type { Overrides } from "../overrides"; import type { StackProps } from "./stack"; export interface PageControlIndicator { width: number; height: number; color: ColorScheme; stroke_color?: ColorScheme | null; stroke_width?: number | null; } export interface PageControl { position: "top" | "bottom"; spacing: number; margin: Spacing; padding: Spacing; background_color?: ColorScheme | null; border?: BorderType | null; shape?: ShapeType | null; shadow?: ShadowType | null; active: PageControlIndicator; default: PageControlIndicator; } type AutoAdvanceTransitionType = "fade" | "slide"; interface AutoAdvance { ms_time_per_page: number; ms_transition_time: number; transition_type: AutoAdvanceTransitionType; } export interface CarouselProps extends BaseComponent { type: "carousel"; pages: StackProps[]; padding: Spacing; margin: Spacing; background?: Background | null; shape?: ShapeType | null; border?: BorderType | null; shadow?: ShadowType | null; page_alignment: VerticalAlignment; page_spacing: number; page_peek: number; page_control?: PageControl | null; initial_page_index: number; loop: boolean; auto_advance?: AutoAdvance | null; overrides?: Overrides; } export {};