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<CarouselProps>;
}
export {};
