/**
 * Disposable is an interface for representing resources which can be synchronously
 * disposed of.
 * @since 0.9.2
 */
export * from '@most/disposable';
import * as types from '@most/types';
/**
 * A Disposable that works in a more imperative manner.
 * Can be useful when coercing external libraries or using promises.
 * @since 0.9.2
 * @category Model
 */
export interface SettableDisposable extends types.Disposable {
    readonly addDisposable: (disposable: types.Disposable) => types.Disposable;
    readonly isDisposed: () => boolean;
}
/**
 * Construct a SettableDisposable
 * @since 0.9.2
 * @category Constructor
 */
export declare function settable(): SettableDisposable;
import { FunctionN } from 'fp-ts/function';
import { ArgsOf } from './function';
/**
 * Wrap a non-Disposable function into a Disposable-returning function
 * @since 0.9.2
 * @category Combinator
 */
export declare const undisposable: <F extends FunctionN<readonly any[], any>>(fn: F) => (...args: ArgsOf<F>) => types.Disposable;
/**
 * Re-export of @most/core's Disposable interface
 * @since 0.11.0
 * @category Model
 */
export declare type Disposable = types.Disposable;
//# sourceMappingURL=Disposable.d.ts.map