Public Camunda client type: the base class augmented with .paginate(...) on
every search* operation. The .paginate methods are installed at runtime by
the constructor (via installSearchPagination), so both construction paths —
the createCamundaClient factory and direct new CamundaClient() — yield a
value whose static type matches the runtime shape.
This is expressed as a separate type + value pair rather than
declaration-merging an interface onto the class because
SearchPaginationApi<CamundaClient> is self-referential (it maps over
keyof CamundaClient), which TypeScript rejects as an interface extends
clause ("recursively references itself as a base type").
Public Camunda client type: the base class augmented with
.paginate(...)on everysearch*operation. The.paginatemethods are installed at runtime by the constructor (viainstallSearchPagination), so both construction paths — thecreateCamundaClientfactory and directnew CamundaClient()— yield a value whose static type matches the runtime shape.This is expressed as a separate type + value pair rather than declaration-merging an interface onto the class because
SearchPaginationApi<CamundaClient>is self-referential (it maps overkeyof CamundaClient), which TypeScript rejects as an interfaceextendsclause ("recursively references itself as a base type").