import type { Transport } from './transport.js'; /** * Base configuration for all blocks */ export interface BlockConfig { /** API Key for authenticating with 23blocks services */ apiKey: string; /** Tenant ID (optional, for multi-tenant setups) */ tenantId?: string; } /** * Block factory function type */ export type BlockFactory = (transport: Transport, config: TConfig) => TBlock; /** * Block metadata */ export interface BlockMetadata { /** Block name */ name: string; /** Block version */ version: string; /** Block description */ description?: string; /** Resource types managed by this block */ resourceTypes: string[]; } /** * Block registration entry */ export interface BlockRegistration { /** Block metadata */ metadata: BlockMetadata; /** Block factory function */ factory: BlockFactory; } /** * Response from the /health endpoint exposed by every 23blocks API service. */ export interface HealthCheckResponse { service: string; status: string; version: string; timestamp: string; } //# sourceMappingURL=block.d.ts.map