import { BaseContext } from './BaseContext'; import { Link } from '../types/objects'; import { IRouterContext } from '../types/contexts'; export declare class Lock { tryRelease?: () => Promise; constructor(tryRelease?: () => Promise); } export declare class LockContext extends BaseContext { private router; private currentLock; private unblock; constructor(router: IRouterContext); destroyContext(): void; acquire(tryRelease?: () => Promise): Promise; getCurrentLock(): Lock | null; tryRelease(): Promise; withLock(action: () => Promise): Promise; routerWillLeave(nextLocation: Link): void; private clearLock; release(lock: Lock): void; } //# sourceMappingURL=LockContext.d.ts.map