Skip to main content
This page documents the shared TypeScript types that appear in method signatures and return values across the SDK. All types are exported from @abloatai/decks and can be imported directly for use in your own type annotations.

CommitReceipt

Every mutating method (create, update, delete) returns a CommitReceipt. It tells you whether the server has durably committed the operation.
string
The commit id. Stable across retries with the same idempotencyKey.
'queued' | 'confirmed'
The acknowledgement level reached before the call returned. 'confirmed' means the write is durable; 'queued' means the server accepted it but has not yet confirmed durability. Controlled by RequestOptions.wait.
number
The sync cursor after this commit. Present when status is 'confirmed'. You can use this to wait for a specific sync position in real-time clients.

RequestOptions

Pass RequestOptions as the last argument to any mutating method to control commit behaviour.
'queued' | 'confirmed'
default:"'confirmed'"
The acknowledgement level to wait for before the promise resolves. 'confirmed' (default) waits for a durable write — safe for scripts that must guarantee persistence before exiting. 'queued' returns as soon as the server accepts the operation, reducing latency at the cost of a weaker guarantee.
string | null
A unique key for safe retries. If you call the same method twice with the same key, the server returns the original CommitReceipt without creating a duplicate. Pass null to explicitly opt out of idempotency (rare). Omitting the field lets the server assign a key automatically.

DeckRecord

Returned by ablo.decks.retrieve(id).
string
The deck’s id.
string
The deck’s display title.
string | null
The layout container this deck uses for template inheritance. null if no layout container is assigned.
string | null
The theme applied to this deck. null if using the workspace default.

SlideRecord

Returned by ablo.slides.retrieve(id) and ablo.slides.list({ deckId }).
string
The slide’s id.
string
The deck this slide belongs to.
string
The slide’s title.
number
Zero-based position in the deck.
string | null
The SlideLayout id this slide is based on. null for slides without a layout.
string | null
Presenter notes attached to the slide.
SlideCompositionSettings | null
The slide’s canvas settings (background, size, grid, layout exclusions). null if all defaults apply.

LayerRecord

Returned by ablo.layers.retrieve(id) and ablo.layers.list({ slideId }).
string
The layer’s id.
string
The slide this layer belongs to.
LayerType
The layer’s type — 'text', 'shape', 'icon', 'path', 'table', or 'chart'.
LayerPosition
Geometry in 1920×1080 slide space.
unknown
Type-specific payload. Charts store { chartDocument }, tables store TableData, shapes store { shapeType, ... }.
unknown
Rich text content for text-bearing layers. null for non-text types.
Record<string, unknown> | null
Compiled style object (effects: opacity, corner radius, shadows).
number
Stacking order within the slide. Higher values render on top.
boolean
Whether the layer renders.
LayerImageFill | null
Image fill applied to a shape layer. Contains url, optional objectFit, and optional intrinsic width/height.
LayerCompositionMetadata | null
AI brief and placeholder metadata. Present on layout placeholder layers and layers with prompt/examples set.
string | null
When this is a filled placeholder layer, the id of the layout layer it fills.

LayoutRecord

Returned by ablo.layouts.retrieve(id).
string
The layout’s id.
string
The layout’s display name.
string
The layout container this template belongs to.
SlideCompositionSettings | null
Canvas settings (background, size) inherited by slides using this layout.

LayerPosition

Describes the geometry of a layer in the slide canvas. All values are in the 1920×1080 coordinate space regardless of the slide’s export size or display resolution.
number
Left edge of the layer box in pixels.
number
Top edge of the layer box in pixels.
number
Width of the layer box in pixels.
number
Height of the layer box in pixels.
number
Clockwise rotation in degrees around the layer’s center. Omitted (or 0) for no rotation.

LayerType

The type discriminant on a persisted layer. Note that some input types map to different stored types — bar/donut inputs compile to 'chart' layers, and image inputs compile to 'shape' layers with an imageFill.

SlideSettingsFields

Fields you can pass when creating or updating a slide to control canvas behaviour. All fields are optional — omitting them leaves the existing setting unchanged.
SlideBackgroundInput
Slide background. Accepts a color string, a background builder result, or a raw CSS string. Overrides the layout’s background for this slide.
SlideSizePreset
A size preset id that expands to width, height, and aspectRatio in one field. See SlideSizePreset below.
number
Canvas width in pixels (overrides the preset width when set directly).
number
Canvas height in pixels.
'16:9' | '16:10' | '4:3' | 'custom'
Aspect ratio hint used by the renderer for responsive scaling.
boolean
Show the alignment grid overlay in the editor.
number
Grid cell size in pixels (default 40).
string[]
A list of layout layer ids that this slide opts out of inheriting. Equivalent to hiding a master layer for just this slide (PowerPoint-style).
boolean
When false, this slide does not composite its layout’s master layers. Defaults to true.

SlideSizePreset

Pass one of these preset ids to size on a slide to set its canvas dimensions in one step.