import * as Builder from './builder'; import type IDriver from '../driver/i-driver'; import { type ILeaseOptions, Lease } from './lease'; import { Lock } from './lock'; import { type Rangable, Range } from './range'; import * as RPC from './rpc'; import { type ISTMOptions, SoftwareTransaction } from './stm'; import { WatchBuilder } from './watch'; import type { IOptions } from '../base/options'; export declare class Namespace { readonly prefix: Buffer; protected readonly driver: IDriver; protected readonly options?: IOptions | undefined; readonly kv: RPC.KVClient; readonly leaseClient: RPC.LeaseClient; readonly watchClient: RPC.WatchClient; private readonly nsApplicator; private readonly watchManager; protected constructor(prefix: Buffer, driver: IDriver, options?: IOptions | undefined); get(key: string | Buffer): Builder.SingleRangeBuilder; getAll(): Builder.MultiRangeBuilder; put(key: string | Buffer): Builder.PutBuilder; delete(): Builder.DeleteBuilder; lease(ttl: number, options?: ILeaseOptions): Lease; lock(key: string | Buffer): Lock; stm(options?: Partial): SoftwareTransaction; if(key: string | Buffer, column: keyof typeof Builder.compareTarget, cmp: keyof typeof Builder.comparator, value: string | Buffer | number): Builder.ComparatorBuilder; watch(): WatchBuilder; range(r: Rangable): Range; namespace(prefix: string | Buffer): Namespace; }