export type ElementType = 'heading' | 'heading-2' | 'heading-3' | 'heading-4' | 'text' | 'image' | 'buttons' | 'divider' | 'table' | 'signature' | 'qr-code' | 'bar-code';
export interface TextStyles {
    color?: string;
    fontSize?: number;
    fontWeight?: string;
    fontFamily?: string;
    textAlign?: string;
    lineHeight?: number;
}
export interface HeadingStyles extends TextStyles {
    margin?: string;
}
export interface ButtonStyles {
    backgroundColor?: string;
    color?: string;
    padding?: string;
    border?: string;
    borderRadius?: number;
    fontSize?: number;
    text?: string;
    display?: string;
    margin?: string;
}
export interface ImageStyles {
    src?: string;
    alt?: string;
    width?: string;
    height?: string;
    objectFit?: string;
    alignment?: string;
    fullWidth?: boolean;
    display?: string;
    margin?: string;
}
export interface DividerStyles {
    borderWidth?: number;
    borderStyle?: string;
    borderColor?: string;
}
export interface TableCellStyles {
    padding?: number;
}
export interface TableHeadStyles extends TextStyles {
    backgroundColor?: string;
    margin?: string;
}
export interface TableBodyStyles extends TextStyles {
    backgroundColor?: string;
}
export interface TableStyles {
    is_bordered?: boolean;
    border?: number;
    borderStyle?: string;
    borderColor?: string;
    borderCollapse?: string;
    width?: string;
    thCells?: TableCellStyles;
    tbCells?: TableCellStyles;
    tHead?: TableHeadStyles;
    tBody?: TableBodyStyles;
}
export interface SignatureStyles {
    fontSize?: number;
    fontFamily?: string;
    color?: string;
}
export interface CodeStyles {
    fontSize?: number;
    placeholder?: string;
    backgroundColor?: string;
    padding?: number;
    textAlign?: string;
}
export type SectionStyles = TextStyles | HeadingStyles | ButtonStyles | ImageStyles | DividerStyles | TableStyles | SignatureStyles | CodeStyles;
export interface SectionAttributes {
    styles?: SectionStyles;
    [key: string]: any;
}
export interface SectionData {
    id: string;
    content: string;
    type: ElementType;
    isSplitPair?: boolean;
    splitGroupId?: string;
    splitWidth?: number;
    attributes?: SectionAttributes;
    is_edited_from_source: boolean;
    scopeId?: string;
}
export interface Placeholder {
    name: string;
    value: string;
}
declare module '@mui/material/styles' {
    interface Theme {
        status: {
            danger: string;
        };
    }
    interface ThemeOptions {
        status?: {
            danger?: string;
        };
    }
}
export interface EnhancedSectionData extends SectionData {
    isSplitPair?: boolean;
    splitGroupId?: string;
    splitWidth?: number;
}
