import { IBlockState, ITextBlockOptions, IImageBLockOptions, IButtonBlockOptions, IDividerBlockOptions, ISpacerBlockOptions, ISocialBlockOptions, ISocialNetwork, ITableBlockOptions } from '../interfaces/interfaces'; export declare type TBlocksOptions = ITextBlockOptions | IImageBLockOptions | IButtonBlockOptions | IDividerBlockOptions | ISpacerBlockOptions | ISocialBlockOptions | ITableBlockOptions; export declare abstract class AIPBlock { readonly type: string; readonly icon: string; options: TBlocksOptions; state: IBlockState; } export declare class TextBlock implements AIPBlock { innerText?: string; state: IBlockState; readonly type = "text"; readonly icon = "text_format"; options: ITextBlockOptions; constructor(innerText?: string, options?: ITextBlockOptions, state?: IBlockState); } export declare class ImageBlock implements AIPBlock { src: string; state: IBlockState; readonly type = "image"; readonly icon = "image"; options: IImageBLockOptions; constructor(src?: string, options?: IImageBLockOptions, state?: IBlockState); } export declare class ButtonBlock implements AIPBlock { innerText: string; state: IBlockState; readonly type = "button"; readonly icon = "radio_button_checked"; options: IButtonBlockOptions; constructor(innerText?: string, options?: IButtonBlockOptions, state?: IBlockState); } export declare class DividerBlock implements AIPBlock { state: IBlockState; readonly type = "divider"; readonly icon = "remove"; options: IDividerBlockOptions; constructor(options?: IDividerBlockOptions, state?: IBlockState); } export declare class SpacerBlock implements AIPBlock { state: IBlockState; readonly type = "spacer"; readonly icon = "vertical_align_center"; options: ISpacerBlockOptions; constructor(options?: ISpacerBlockOptions, state?: IBlockState); } export declare class SocialBlock implements AIPBlock { networks: ISocialNetwork[]; state: IBlockState; readonly type = "social"; readonly icon = "share"; options: ISocialBlockOptions; constructor(networks?: ISocialNetwork[], options?: ISocialBlockOptions, state?: IBlockState); } export declare class TableBlock implements AIPBlock { dataSource?: string[][]; state: IBlockState; readonly type = "table"; readonly icon = "table_chart"; options: ITableBlockOptions; constructor(dataSource?: string[][], options?: ITableBlockOptions, state?: IBlockState); } export declare type TBlocks = TextBlock | ImageBlock | ButtonBlock | DividerBlock | SpacerBlock | SocialBlock | TableBlock;