import type { LazyValue } from '../fn/index.js'; import type { Guard } from '../guard/index.js'; import type { Result } from './result.js'; type Filter = { (guard: Fn, getErrValue: GetErr, res: Res): Result, Error>; (guard: Fn, getErrValue: GetErr): (res: Res) => Result, Error>; <_Res extends Result.Any, Fn extends Guard.Unary, _GetErr extends LazyValue>(guard: Fn): { (getErrValue: GetErr): (res: Res) => Result, Error>; (getErrValue: GetErr, res: Res): Result, Error>; }; }; /** * Keep an `Ok` if its value passes the guard function, or return an `Err` * containing the result of `getErrValue()`. * * @tags result, right-biased */ export declare const filter: Filter; export {};