import type { Fn, Positive, UsingAble } from '../../mod.js'; declare class UsingClass> implements UsingAble { value: T; constructor(value: T, fn: Fn); /** ### `close` : 立即执行销毁函数 : 此操作完成后会直接销毁{@link Symbol.dispose},使得退出作用域执行功能不能再生效 */ close(): P; /** ### `delay_close` : 延迟执行销毁函数 : 此操作完成后会直接销毁{@link Symbol.dispose},使得退出作用域执行功能不能再生效 */ delay_close(ms: Positive): Promise; /** ### `cancel` : 取消{@link Symbol.dispose}函数执行 */ cancel(): void; } /** ## `Using` : 快速生成可供`using`使用的'资源'数据 @example Uasge : 自动控制状态`loading` ```ts const loading = Refer(true) const seq = assert.sequence('执行顺序') const loading_control = Using>((loading) => { seq(3) loading.update(false) }) assert(loading.value) let Status // entry code block { seq(1) Status = 'init' using us = loading_control(loading) Status = 'loading...' await sleep(188) seq(2) Status = 'finish!' } // exit code block assert.reverse(loading.value) ``` @category Function */ export declare function Using(dispose_fn: Fn>): Fn ? void : Promise>>; export declare function Using(value: T, dispose_fn: Fn>): UsingClass ? void : Promise>; export {}; //# sourceMappingURL=using.d.ts.map