import { Scope } from "./abstractions";
import { UnaryTransformOp, UnaryTransformOpScoped } from "./transform";
export declare type TypeGuard = (value: A) => value is B;
export declare type Predicate = (value: A) => boolean;
export declare function filter(fn: TypeGuard): UnaryTransformOp;
export declare function filter(fn: Predicate): UnaryTransformOp;
export declare function filter(fn: TypeGuard, scope: Scope): UnaryTransformOpScoped;
export declare function filter(fn: Predicate, scope: Scope): UnaryTransformOpScoped;