import { Supervisor } from "@effect/core/io/Supervisor/definition"; import { List } from "@tsplus/stdlib/collections/List/definition"; import { HashSet } from "@tsplus/stdlib/collections/HashSet/definition"; export type Patch = AddSupervisor | RemoveSupervisor | AndThen | Empty; export declare class AddSupervisor { readonly supervisor: Supervisor; readonly _tag = "AddSupervisor"; constructor(supervisor: Supervisor); } export declare class Empty { readonly _tag = "Empty"; } export declare class RemoveSupervisor { readonly supervisor: Supervisor; readonly _tag = "RemoveSupervisor"; constructor(supervisor: Supervisor); } export declare class AndThen { readonly first: Patch; readonly second: Patch; readonly _tag = "AndThen"; constructor(first: Patch, second: Patch); } /** * Combines two patches to produce a new patch that describes applying the * updates from this patch and then the updates from the specified patch. * @tsplus static effect/core/io/Supervisor.Ops combinePatch * @tsplus location "@effect/core/io/Supervisor/patch" */ export declare function combinePatch(self: Patch, that: Patch): Patch; /** * An empty patch * @tsplus static effect/core/io/Supervisor.Ops emptyPatch * @tsplus location "@effect/core/io/Supervisor/patch" */ export declare const emptyPatch: Patch; /** * Applies an update to the supervisor to produce a new supervisor. * @tsplus static effect/core/io/Supervisor.Ops applyPatch * @tsplus location "@effect/core/io/Supervisor/patch" */ export declare function applyPatch(self: Patch, supervisor: Supervisor): Supervisor; /** * @tsplus static effect/core/io/Supervisor.Ops diff * @tsplus location "@effect/core/io/Supervisor/patch" */ export declare function diff(oldValue: Supervisor, newValue: Supervisor): Patch; /** * @tsplus static effect/core/io/Supervisor.Ops differ * @tsplus location "@effect/core/io/Supervisor/patch" */ export declare const differ: import("@tsplus/stdlib/data/Differ").Differ, Patch>; //# sourceMappingURL=patch.d.ts.map