using System;
namespace Implab {
///
/// Deferred result, usually used by asynchronous services as the service part of the promise.
///
public interface IResolvable {
void Resolve();
void Resolve(IPromise thenable);
///
/// Reject the promise with the specified error.
///
/// The reason why the promise is rejected.
///
/// Some exceptions are treated in a special case:
/// is interpreted as call to method,
/// and is always unwrapped and its
/// is used as the reason to reject promise.
///
void Reject(Exception error);
}
}