Options for the BigtableAdapter — the 'bigtable' arm.
A union of two arms, so supplying neither a projectId nor a client
is a compile error rather than a connect() throw. Both members stay
readable on either arm, so the adapter reads options.client and
options.projectId without narrowing first.
(BigtableAdapterOptionsBase
& { readonly projectId: string; readonly apiEndpoint?: string; readonly client?: IBigtableClient; })
| (BigtableAdapterOptionsBase
& { readonly client: IBigtableClient; readonly projectId?: string; readonly apiEndpoint?: string; })