import { ActionModel, AnimationModel, BackgroundModel, BorderModel, DeviderModel, Image, ImageStyle, InputTextModel, ListItemModal, PositionLayoutModal, TextSize } from './../../styles/style.model';
import { Corners, AlignContent } from "./../../styles/index";
import { ALIGN, FIT, SPACING_TYPE, BANNER_TRANSITION } from './../../styles/types';
export interface BannerSectionModel {
    id: string;
    sectionType: string;
    sectionName: string;
    content: CarouselBannerContentModel;
    styles: CarouselBannerStyelsModel;
}
export interface CarouselBannerContentModel {
    listItem: ListItemModal<BannerItemModel>;
}
export interface BannerItemModel {
    id: string;
    inputText: InputTextModel[];
    image: ImageModel;
    additionalData: AdditionalData[];
    action: ActionModel;
    styles: BannerItemStylesModel;
}
export interface BannerItemStylesModel {
    contentAlignment: AlignContent;
    background: BackgroundModel;
    border: BorderModel;
    image: ImageStyle;
    corners: Corners;
}
export interface AdditionalData {
    content: string;
}
export interface ImageModel extends Image {
    showImage: boolean;
}
export interface CarouselBannerStyelsModel {
    layout: CarouselBannerLayoutModel;
    borderLessImage: boolean;
    positionLayout: PositionLayoutModal;
    animation: AnimationModel;
    textSize: TextSize;
    merge?: boolean;
    transition: BANNER_TRANSITION;
    devider: DeviderModel;
    image: ImageStyle;
}
export interface CarouselBannerLayoutModel {
    fit: FIT;
    spacing: SpacingModel;
    align: ALIGN;
}
export interface SpacingModel {
    top: SPACING_TYPE;
    bottom: SPACING_TYPE;
}
export interface actionsModel {
    label: string;
    value: string;
    types: ["Horizontal", "Animated"];
}
