TypeScript Support

Full type definitions for all models, requests, and responses.

Type Imports

import type {
  // Client & config
  Simplio3DConfig,

  // Core models
  Project, ProjectData, Material, Asset, Category,
  ProjectType, AssetType, CategoryType,

  // Request types
  CreateProjectRequest, UpdateProjectRequest,
  CreateMaterialRequest, UpdateMaterialRequest,
  CreateAssetRequest, CreateCategoryRequest,

  // Option blocks (Headless Configurator)
  OptionBlock, OptionBlockType, DropdownVariant,
  CreateOptionBlockRequest, UpdateOptionBlockRequest,
  ReorderBlocksRequest,

  // Conditional logic
  ConditionalRule, ConditionalCondition,
  EvaluateConditionsRequest, BlockVisibilityResult,
  EvaluatedSceneModelRef,

  // Pricing & CPQ
  PricingBlock, PricingBlockType, PriceTableRow, PriceTableColumn,
  FormulaToken, CalculatePriceRequest, CalculatePriceResponse,

  // Contact forms
  FormField, FormFieldType, FormFieldOption,
  CreateFormFieldRequest,

  // Quote submissions
  QuoteSubmission, SubmitQuoteRequest,

  // 3D Viewer
  ViewerEmbedConfig, ViewerState, SceneManipulation,

  // Animations
  AnimationBlock, AnimationBlockType, AnimationAxis,
  AnimationEasing, AnimationLoopMode,

  // Project settings
  ProjectSettingsUpdate,

  // Team & sharing
  TeamMember, InviteMemberRequest, UpdateMemberRequest,
  TeamRole, TeamMemberStatus,
  ShareConfig, UpdateShareRequest,

  // Email & auth
  EmailLogEntry, UserProfile,
  ApiTokenInfo, ApiTokenResponse,

  // Errors (see the note below — import these as VALUES for instanceof)
  Simplio3DError, AuthenticationError,
  ValidationError, NotFoundError, ConflictError,
} from '@simplio3d/sdk';

Notes on a few of these names

  • TeamRole and TeamMemberStatus are the member role / status unions. There are no MemberRole or MemberStatus types — those names were listed here in error and would fail to compile.
  • ProjectData is the project payload type — the shape of Project['data'], carrying the scene, option blocks and settings.
  • ApiTokenInfo is the metadata returned by getApiTokenInfo() (prefix, createdAt, regeneratedAt, exists). It holds no token material.
  • EvaluatedSceneModelRef is one row of the model id ↔ name join table returned by evaluateConditionsWithModels().
  • • The four error classes are runtime values, not just types. Import them with a plain import { … } when you need instanceof — an import type is erased at compile time and the check will not work.

Continue reading