Import
import { GuardType } from "@typed/router/Matcher";Access GuardType.Services through the imported GuardType export. Its declaration below describes the member.
This public exposure is a re-export. Its import path is supported; declaration documentation is shared with the other public exposures below.
Signatures
type Services<T> = [
T
] extends [
Guard<infer _I, infer _O, infer _E, infer R>
] ? R : [
T
] extends [
AsGuard<infer _I, infer _O, infer _E, infer R>
] ? R : never;Why
Service extraction makes environment composition visible in combinator signatures.
Ownership and lifetime
This compile-time type acquires no resources; service lifetime is governed by the resulting Effect or Layer.
Examples
import type { Guard } from "@typed/guard"
type Services = Guard.Services<Guard<string, number, never, { readonly Db: unique symbol }>>Other public imports
These import paths expose the same declaration. Each page retains its own public name and signature.