import { type BlockInterface, type ElementInterface, type SurfaceType } from './types.js'; import type { Text } from './composition.js'; /** * Section block — the most versatile block type. */ export declare class Section implements BlockInterface { readonly type: "section"; blockId?: string; text?: Text; fields?: Text[]; accessory?: ElementInterface; getValidSurfaces(): SurfaceType[]; toJSON(): Record; } /** * Actions block — holds interactive elements. */ export declare class Actions implements BlockInterface { readonly type: "actions"; blockId?: string; elements: ElementInterface[]; getValidSurfaces(): SurfaceType[]; addElement(element: ElementInterface): void; toJSON(): Record; } /** * Context block — displays contextual info. */ export declare class ContextBlock implements BlockInterface { readonly type: "context"; blockId?: string; elements: (ElementInterface | Text)[]; getValidSurfaces(): SurfaceType[]; addElement(element: ElementInterface | Text): void; toJSON(): Record; } /** * Divider block — a visual separator. */ export declare class Divider implements BlockInterface { readonly type: "divider"; blockId?: string; getValidSurfaces(): SurfaceType[]; toJSON(): Record; } /** * File block — for displaying remote files. */ export declare class FileBlock implements BlockInterface { readonly type: "file"; blockId?: string; externalId: string; source: string; constructor(externalId: string); getValidSurfaces(): SurfaceType[]; toJSON(): Record; } /** * Image block — for displaying images. */ export declare class ImageBlock implements BlockInterface { readonly type: "image"; blockId?: string; imageUrl: string; altText: string; title?: Text; constructor(imageUrl: string, altText: string); getValidSurfaces(): SurfaceType[]; toJSON(): Record; } /** * Input block — collects user input (modal only). */ export declare class InputBlock implements BlockInterface { readonly type: "input"; blockId?: string; label: Text; element?: ElementInterface; hint?: Text; optional: boolean; dispatchAction: boolean; constructor(label: Text); getValidSurfaces(): SurfaceType[]; toJSON(): Record; } //# sourceMappingURL=blocks.d.ts.map