Import
import type { GuardInput } from "@typed/router";This public exposure is a re-export. Its import path is supported; declaration documentation is shared with the other public exposures below.
Signatures
export type GuardInput<I, O, E = never, R = never> = Guard<I, O, E, R> | AsGuard<I, O, E, R>;Why
A single input contract lets every combinator accept direct functions and domain adapters consistently.
Ownership and lifetime
This union acquires no resources; normalization does not extend the lifetime of either alternative.
Examples
import type { GuardInput } from "@typed/guard"
import { liftPredicate } from "@typed/guard"
const input: GuardInput<unknown, string> = liftPredicate((value: unknown): value is string => typeof value === "string")Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.