import { Media, PluginContainerData } from './common.js';
import { AppEmbedData_AppType, AppEmbedData_ImageStyles_Position, AppEmbedData_ImageStyles_AspectRatio, AppEmbedData_ImageStyles_Resizing, AppEmbedData_RibbonStyles_Placement, AppEmbedData_CardStyles_Type, AppEmbedData_CardStyles_Alignment, AppEmbedData_CardStyles_Layout } from './plugin_app_embed.enums.js';
export interface AppEmbedData {
    /** The type of Wix App content being embedded. */
    type: AppEmbedData_AppType;
    /** The ID of the embedded content. */
    itemId?: string;
    /** The name of the embedded content. */
    name?: string;
    /**
     * Deprecated: Use `image` instead.
     *
     * @deprecated
     */
    imageSrc?: string;
    /** The URL for the embedded content. */
    url?: string;
    /** An image for the embedded content. */
    image?: Media;
    /** Data for embedded Wix Bookings content. */
    bookingData?: AppEmbedData_BookingData | undefined;
    /** Data for embedded Wix Events content. */
    eventData?: AppEmbedData_EventData | undefined;
    /** Whether to hide the image. */
    hideImage?: boolean;
    /** Whether to hide the title. */
    hideTitle?: boolean;
    /** Whether to hide the price. */
    hidePrice?: boolean;
    /** Whether to hide the description (Event and Booking). */
    hideDescription?: boolean;
    /** Whether to hide the date and time (Event). */
    hideDateTime?: boolean;
    /** Whether to hide the location (Event). */
    hideLocation?: boolean;
    /** Whether to hide the duration (Booking). */
    hideDuration?: boolean;
    /** Whether to hide the button. */
    hideButton?: boolean;
    /** Whether to hide the ribbon. */
    hideRibbon?: boolean;
    /** Button styling options. */
    buttonStyles?: AppEmbedData_ButtonStyles;
    /** Image styling options. */
    imageStyles?: AppEmbedData_ImageStyles;
    /** Ribbon styling options. */
    ribbonStyles?: AppEmbedData_RibbonStyles;
    /** Card styling options. */
    cardStyles?: AppEmbedData_CardStyles;
    /** Styling for the app embed's container. */
    containerData?: PluginContainerData;
    /** Pricing data for embedded Wix App content. */
    pricingData?: AppEmbedData_PricingData;
}
export declare function appEmbedData_AppTypeFromJSON(object: any): AppEmbedData_AppType;
export declare function appEmbedData_AppTypeToJSON(object: AppEmbedData_AppType): string;
export interface AppEmbedData_ButtonStyles {
    /** Text to display on the button. */
    buttonText?: string;
    /** Border width in pixels. */
    borderWidth?: number;
    /** Border radius in pixels. */
    borderRadius?: number;
    /** Border color as a hexadecimal value. */
    borderColor?: string;
    /** Text color as a hexadecimal value. */
    textColor?: string;
    /** Background color as a hexadecimal value. */
    backgroundColor?: string;
    /** Border color as a hexadecimal value (hover state). */
    borderColorHover?: string;
    /** Text color as a hexadecimal value (hover state). */
    textColorHover?: string;
    /** Background color as a hexadecimal value (hover state). */
    backgroundColorHover?: string;
    /** Button size option, one of `SMALL`, `MEDIUM` or `LARGE`. Defaults to `MEDIUM`. */
    buttonSize?: string;
}
export interface AppEmbedData_ImageStyles {
    /** Whether to hide the image. */
    hideImage?: boolean;
    /** Position of image. Defaults to `START`. */
    imagePosition: AppEmbedData_ImageStyles_Position;
    /** Aspect ratio for the image. Defaults to `SQUARE`. */
    aspectRatio: AppEmbedData_ImageStyles_AspectRatio;
    /** How the image should be resized. Defaults to `FILL`. */
    resizing: AppEmbedData_ImageStyles_Resizing;
    /** Image border color as a hexadecimal value. */
    borderColor?: string;
    /** Image border width in pixels. */
    borderWidth?: number;
    /** Image border radius in pixels. */
    borderRadius?: number;
}
export declare function appEmbedData_ImageStyles_PositionFromJSON(object: any): AppEmbedData_ImageStyles_Position;
export declare function appEmbedData_ImageStyles_PositionToJSON(object: AppEmbedData_ImageStyles_Position): string;
export declare function appEmbedData_ImageStyles_AspectRatioFromJSON(object: any): AppEmbedData_ImageStyles_AspectRatio;
export declare function appEmbedData_ImageStyles_AspectRatioToJSON(object: AppEmbedData_ImageStyles_AspectRatio): string;
export declare function appEmbedData_ImageStyles_ResizingFromJSON(object: any): AppEmbedData_ImageStyles_Resizing;
export declare function appEmbedData_ImageStyles_ResizingToJSON(object: AppEmbedData_ImageStyles_Resizing): string;
export interface AppEmbedData_RibbonStyles {
    /** Text to display on the ribbon. */
    ribbonText?: string;
    /** Ribbon background color as a hexadecimal value. */
    backgroundColor?: string;
    /** Ribbon text color as a hexadecimal value. */
    textColor?: string;
    /** Ribbon border color as a hexadecimal value. */
    borderColor?: string;
    /** Ribbon border width in pixels. */
    borderWidth?: number;
    /** Ribbon border radius in pixels. */
    borderRadius?: number;
    /** Placement of the ribbon. Defaults to `IMAGE`. */
    ribbonPlacement: AppEmbedData_RibbonStyles_Placement;
}
export declare function appEmbedData_RibbonStyles_PlacementFromJSON(object: any): AppEmbedData_RibbonStyles_Placement;
export declare function appEmbedData_RibbonStyles_PlacementToJSON(object: AppEmbedData_RibbonStyles_Placement): string;
export interface AppEmbedData_CardStyles {
    /** Card background color as a hexadecimal value. */
    backgroundColor?: string;
    /** Card border color as a hexadecimal value. */
    borderColor?: string;
    /** Card border width in pixels. */
    borderWidth?: number;
    /** Card border radius in pixels. */
    borderRadius?: number;
    /** Card type. Defaults to `CONTAINED`. */
    type: AppEmbedData_CardStyles_Type;
    /** Content alignment. Defaults to `START`. */
    alignment: AppEmbedData_CardStyles_Alignment;
    /** Layout for title and price. Defaults to `STACKED`. */
    titlePriceLayout: AppEmbedData_CardStyles_Layout;
    /** Title text color as a hexadecimal value. */
    titleColor?: string;
    /** Text color as a hexadecimal value. */
    textColor?: string;
}
export declare function appEmbedData_CardStyles_TypeFromJSON(object: any): AppEmbedData_CardStyles_Type;
export declare function appEmbedData_CardStyles_TypeToJSON(object: AppEmbedData_CardStyles_Type): string;
export declare function appEmbedData_CardStyles_AlignmentFromJSON(object: any): AppEmbedData_CardStyles_Alignment;
export declare function appEmbedData_CardStyles_AlignmentToJSON(object: AppEmbedData_CardStyles_Alignment): string;
export declare function appEmbedData_CardStyles_LayoutFromJSON(object: any): AppEmbedData_CardStyles_Layout;
export declare function appEmbedData_CardStyles_LayoutToJSON(object: AppEmbedData_CardStyles_Layout): string;
export interface AppEmbedData_BookingData {
    /** Booking duration in minutes. */
    durations?: string;
}
export interface AppEmbedData_EventData {
    /** Event schedule. */
    scheduling?: string;
    /** Event location. */
    location?: string;
}
export interface AppEmbedData_PricingData {
    /** Minimum numeric price value as string (e.g., "10.99"). */
    valueFrom?: string;
    /** Maximum numeric price value as string (e.g., "19.99"). */
    valueTo?: string;
    /** Numeric price value as string after discount application (e.g., "15.99"). */
    discountedValue?: string;
    /** Currency of the value in ISO 4217 format (e.g., "USD", "EUR"). */
    currency?: string;
    /** Pricing plan ID. */
    pricingPlanId?: string;
}
export declare const AppEmbedData: {
    fromJSON(object: any): AppEmbedData;
    toJSON(message: AppEmbedData): unknown;
};
export declare const AppEmbedData_ButtonStyles: {
    fromJSON(object: any): AppEmbedData_ButtonStyles;
    toJSON(message: AppEmbedData_ButtonStyles): unknown;
};
export declare const AppEmbedData_ImageStyles: {
    fromJSON(object: any): AppEmbedData_ImageStyles;
    toJSON(message: AppEmbedData_ImageStyles): unknown;
};
export declare const AppEmbedData_RibbonStyles: {
    fromJSON(object: any): AppEmbedData_RibbonStyles;
    toJSON(message: AppEmbedData_RibbonStyles): unknown;
};
export declare const AppEmbedData_CardStyles: {
    fromJSON(object: any): AppEmbedData_CardStyles;
    toJSON(message: AppEmbedData_CardStyles): unknown;
};
export declare const AppEmbedData_BookingData: {
    fromJSON(object: any): AppEmbedData_BookingData;
    toJSON(message: AppEmbedData_BookingData): unknown;
};
export declare const AppEmbedData_EventData: {
    fromJSON(object: any): AppEmbedData_EventData;
    toJSON(message: AppEmbedData_EventData): unknown;
};
export declare const AppEmbedData_PricingData: {
    fromJSON(object: any): AppEmbedData_PricingData;
    toJSON(message: AppEmbedData_PricingData): unknown;
};
//# sourceMappingURL=plugin_app_embed.d.ts.map