/** * https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Locks_API */ import "./_dnt.polyfills.js"; export type LockMode = "exclusive" | "shared"; export interface LockOptions { mode?: LockMode; signal?: AbortSignal; } export declare class LockManger { #private; /**等到可以执行的时候,返回lock对象 */ request(name: string, options?: LockOptions): Promise; run(name: string, options: LockOptions, callback: (lock: Lock) => Promise): Promise; query(name: string): { held: Lock[]; pending: Lock[]; }; } declare class Lock { #private; readonly name: string; readonly mode: LockMode; readonly signal: AbortSignal | undefined; private onRelease; /** 是否正在等待 */ pending: boolean; constructor(name: string, mode: LockMode, signal: AbortSignal | undefined, onRelease: () => void); release(): void; get promise(): Promise; [Symbol.dispose](): void; } export declare const locks: LockManger; export {}; //# sourceMappingURL=locks.d.ts.map