import type { Transport, BlockConfig, BlockMetadata, HealthCheckResponse } from '@23blocks/contracts'; import { type FormsService, type FormSchemasService, type FormSchemaVersionsService, type FormInstancesService, type FormSetsService, type LandingsService, type SubscriptionsService, type AppointmentsService, type SurveysService, type ReferralsService, type MailTemplatesService, type ApplicationFormsService, type CrmSyncService } from './services/index.js'; /** * Configuration for the Forms block. */ export interface FormsBlockConfig extends BlockConfig { } /** * Dynamic forms and submissions block interface. */ export interface FormsBlock { /** Form definitions (CRUD) */ forms: FormsService; /** Form schemas nested under forms */ schemas: FormSchemasService; /** Form schema versions nested under schemas */ schemaVersions: FormSchemaVersionsService; /** App form instances nested under forms */ instances: FormInstancesService; /** Form set templates for grouping forms */ sets: FormSetsService; /** Landing form instances */ landings: LandingsService; /** Subscription form instances */ subscriptions: SubscriptionsService; /** Appointment form instances */ appointments: AppointmentsService; /** Survey form instances */ surveys: SurveysService; /** Referral form instances */ referrals: ReferralsService; /** Mail templates */ mailTemplates: MailTemplatesService; /** Application forms (magic link access) */ applicationForms: ApplicationFormsService; /** CRM sync operations */ crmSync: CrmSyncService; /** Ping the service health endpoint */ health(): Promise; } /** * Create the Forms block. * * @example * ```typescript * const block = createFormsBlock(transport, { apiKey: 'xxx' }); * const forms = await block.forms.list({ page: 1 }); * ``` */ export declare function createFormsBlock(transport: Transport, config: FormsBlockConfig): FormsBlock; export declare const formsBlockMetadata: BlockMetadata; //# sourceMappingURL=forms.block.d.ts.map