import type { AnyAtom, AtomValue, SetAtomValue } from '../utils/types.js'; type Predicate> = ((value: AtomValue) => value is S) | ((value: AtomValue) => unknown); type FilteredValue> = P extends ((value: AtomValue) => value is infer S extends AtomValue) ? S : AtomValue; type ResultAtom> = SetAtomValue>; export default function filter, P extends Predicate>(atom: A, predicate: P): ResultAtom; export {};