import type { Policy } from './types.js'; /** * Composes multiple policies into a single policy. * Policies are applied **left-to-right** (outermost first). * * `pipe(a, b, c)(fn)` is equivalent to `a(()=> b(()=> c(fn)))`. * * @example * ```ts * const resilient = pipe( * timeout({ ms: 5000 }), * retry({ maxAttempts: 3 }), * ); * const result = await resilient(() => callApi()); * ``` */ export declare function pipe(...policies: Policy[]): Policy; /** * Wraps an inner policy with an outer policy. * `wrap(outer, inner)(fn)` is equivalent to `outer(() => inner(fn))`. * * @example * ```ts * const policy = wrap( * timeout({ ms: 5000 }), * retry({ maxAttempts: 3 }), * ); * const result = await policy(() => callApi()); * ``` */ export declare function wrap(outer: Policy, inner: Policy): Policy; //# sourceMappingURL=compose.d.ts.map