import { Layer } from "@effect/core/io/Layer/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Schedule } from "@effect/core/io/Schedule/definition";
import { Tag } from "@tsplus/stdlib/service/Tag";
/**
 * Retries constructing this layer according to the specified schedule.
 * @tsplus fluent ets/Layer retry
 * @tsplus location "@effect/core/io/Layer/operations/retry"
 */
export declare function retry_<RIn, E, ROut, S, RIn1, X>(self: Layer<RIn, E, ROut>, schedule: LazyArg<Schedule<S, RIn1, E, X>>): Layer<RIn | RIn1, E, ROut>;
/**
 * Retries constructing this layer according to the specified schedule.
 * @tsplus static ets/Layer/Aspects retry
 * @tsplus pipeable ets/Layer retry
 * @tsplus location "@effect/core/io/Layer/operations/retry"
 */
export declare const retry: <E, S, RIn1, X>(schedule: import("@tsplus/stdlib/data/Function").LazyArg<import("../../Schedule").Schedule<S, RIn1, E, X>>) => <RIn, ROut>(self: import("../definition").Layer<RIn, E, ROut>) => import("../definition").Layer<RIn | RIn1, E, ROut>;
//# sourceMappingURL=retry.d.ts.map