import { PluginContainerData, Media, Gradient } from './common.js';
import { LayoutData_ImagePosition, LayoutData_ResponsivenessBehaviour, LayoutData_DesignTarget, LayoutData_VerticalAlignment_Alignment, LayoutData_ImageScaling_Scaling, LayoutData_Banner_Position, LayoutData_Banner_Origin, LayoutData_Background_Type, LayoutData_Backdrop_Type } from './node_layout.enums.js';
/**
 * flynt-disable missing-string-validations
 * flynt-disable missing-deprecated-field-annotation
 */
export interface LayoutData {
    /**
     * Deprecated: Use `background` instead.
     *
     * @deprecated
     */
    backgroundColor?: string;
    /** Background image. */
    backgroundImage?: LayoutData_BackgroundImage;
    /** Border color as a hexadecimal value. */
    borderColor?: string;
    /** Border width in pixels. */
    borderWidth?: number;
    /** Border radius in pixels. */
    borderRadius?: number;
    /**
     * Deprecated: Use `backdrop` instead.
     *
     * @deprecated
     */
    backdropColor?: string;
    /** Backdrop image. */
    backdropImage?: LayoutData_BackgroundImage;
    /** Backdrop top padding. */
    backdropPaddingTop?: number;
    /** Backdrop bottom padding */
    backdropPaddingBottom?: number;
    /** Horizontal and vertical gap between columns */
    gap?: number;
    /** Padding in pixels for cells. Follows CSS order: top, right, bottom, left */
    cellPadding: number[];
    /** Vertical alignment for the cell's items. */
    cellVerticalAlignment: LayoutData_VerticalAlignment_Alignment;
    /** Responsiveness behaviour of columns when responsiveness applies. Either stacks or wrappers. */
    responsivenessBehaviour: LayoutData_ResponsivenessBehaviour;
    /** Size in pixels when responsiveness_behaviour applies */
    responsivenessBreakpoint?: number;
    /** Styling for the layout's container. */
    containerData?: PluginContainerData;
    /** Defines where selected design propertied applies to */
    designTarget: LayoutData_DesignTarget;
    /** Banner configuration. When present, this layout is attached to a document edge (top or bottom). */
    banner?: LayoutData_Banner;
    /** Background styling (color or gradient). */
    background?: LayoutData_Background;
    /** Backdrop styling (color or gradient). */
    backdrop?: LayoutData_Backdrop;
}
export declare function layoutData_ImagePositionFromJSON(object: any): LayoutData_ImagePosition;
export declare function layoutData_ImagePositionToJSON(object: LayoutData_ImagePosition): string;
export declare function layoutData_ResponsivenessBehaviourFromJSON(object: any): LayoutData_ResponsivenessBehaviour;
export declare function layoutData_ResponsivenessBehaviourToJSON(object: LayoutData_ResponsivenessBehaviour): string;
export declare function layoutData_DesignTargetFromJSON(object: any): LayoutData_DesignTarget;
export declare function layoutData_DesignTargetToJSON(object: LayoutData_DesignTarget): string;
export interface LayoutData_VerticalAlignment {
}
export declare function layoutData_VerticalAlignment_AlignmentFromJSON(object: any): LayoutData_VerticalAlignment_Alignment;
export declare function layoutData_VerticalAlignment_AlignmentToJSON(object: LayoutData_VerticalAlignment_Alignment): string;
export interface LayoutData_ImageScaling {
}
export declare function layoutData_ImageScaling_ScalingFromJSON(object: any): LayoutData_ImageScaling_Scaling;
export declare function layoutData_ImageScaling_ScalingToJSON(object: LayoutData_ImageScaling_Scaling): string;
export interface LayoutData_BackgroundImage {
    /** Background image. */
    media?: Media;
    /** Background image opacity. */
    opacity?: number;
    /** Background image scaling. */
    scaling: LayoutData_ImageScaling_Scaling;
    /** Position of background. Defaults to `CENTER`. */
    position: LayoutData_ImagePosition;
    /** Blur radius in pixels applied to the image layer. `0` (default) leaves the image unblurred; blur is independent of any color overlay and the two stack. */
    blur?: number;
}
export interface LayoutData_Banner {
    /** Origin of the banner */
    origin: LayoutData_Banner_Origin;
    /** Position of the banner */
    position: LayoutData_Banner_Position;
}
export declare function layoutData_Banner_PositionFromJSON(object: any): LayoutData_Banner_Position;
export declare function layoutData_Banner_PositionToJSON(object: LayoutData_Banner_Position): string;
export declare function layoutData_Banner_OriginFromJSON(object: any): LayoutData_Banner_Origin;
export declare function layoutData_Banner_OriginToJSON(object: LayoutData_Banner_Origin): string;
/** Background styling (color or gradient) */
export interface LayoutData_Background {
    /** Background type. */
    type: LayoutData_Background_Type;
    /** Background color as a hexadecimal value. */
    color?: string;
    /** Gradient configuration. */
    gradient?: Gradient;
}
export declare function layoutData_Background_TypeFromJSON(object: any): LayoutData_Background_Type;
export declare function layoutData_Background_TypeToJSON(object: LayoutData_Background_Type): string;
/** Backdrop styling (color or gradient) */
export interface LayoutData_Backdrop {
    /** Backdrop type. */
    type: LayoutData_Backdrop_Type;
    /** Backdrop color as a hexadecimal value. */
    color?: string;
    /** Gradient configuration. */
    gradient?: Gradient;
}
export declare function layoutData_Backdrop_TypeFromJSON(object: any): LayoutData_Backdrop_Type;
export declare function layoutData_Backdrop_TypeToJSON(object: LayoutData_Backdrop_Type): string;
export declare const LayoutData: {
    fromJSON(object: any): LayoutData;
    toJSON(message: LayoutData): unknown;
};
export declare const LayoutData_VerticalAlignment: {
    fromJSON(_: any): LayoutData_VerticalAlignment;
    toJSON(_: LayoutData_VerticalAlignment): unknown;
};
export declare const LayoutData_ImageScaling: {
    fromJSON(_: any): LayoutData_ImageScaling;
    toJSON(_: LayoutData_ImageScaling): unknown;
};
export declare const LayoutData_BackgroundImage: {
    fromJSON(object: any): LayoutData_BackgroundImage;
    toJSON(message: LayoutData_BackgroundImage): unknown;
};
export declare const LayoutData_Banner: {
    fromJSON(object: any): LayoutData_Banner;
    toJSON(message: LayoutData_Banner): unknown;
};
export declare const LayoutData_Background: {
    fromJSON(object: any): LayoutData_Background;
    toJSON(message: LayoutData_Background): unknown;
};
export declare const LayoutData_Backdrop: {
    fromJSON(object: any): LayoutData_Backdrop;
    toJSON(message: LayoutData_Backdrop): unknown;
};
//# sourceMappingURL=node_layout.d.ts.map