import { type Lock as LockInterface } from 'nephele'; import { Lock as NymphLock, LockData as NymphLockData } from './entities/Lock.js'; import Resource from './Resource.js'; export default class Lock implements LockInterface { resource: Resource; nymphLock: NymphLock & NymphLockData; get token(): string; set token(value: string); get date(): Date; set date(value: Date); get timeout(): number; set timeout(value: number); get scope(): "exclusive" | "shared"; set scope(value: 'exclusive' | 'shared'); get depth(): "0" | "infinity"; set depth(value: '0' | 'infinity'); get provisional(): boolean; set provisional(value: boolean); get owner(): any; set owner(value: any); get username(): string; set username(value: string); constructor({ resource, nymphLock, }: { resource: Resource; nymphLock: NymphLock & NymphLockData; }); save(): Promise; delete(): Promise; }