```js // @noErrors import { defineParams } from '@sveltejs/kit/params'; ``` ## defineParams Define [parameter matchers](/docs/kit/advanced-routing#Matching) for your app.
```dts function defineParams< T extends Record >(definitions: T): DefinedParams; ```
## DefinedParams The return type of [`defineParams`](/docs/kit/@sveltejs-kit-params#defineParams).
```dts type DefinedParams< T extends Record > = { readonly [K in keyof T]: ParamEntry; }; ```
## MatcherParam Extracts the param type from a matcher.
```dts type MatcherParam> = M extends StandardSchemaV1 ? Inner extends ParamValue ? Inner : Inner extends StandardSchemaV1 ? StandardSchemaV1.InferOutput extends ParamValue ? StandardSchemaV1.InferOutput : never : never : never; ```
## ParamDefinition A param matcher definition passed to [`defineParams`](/docs/kit/@sveltejs-kit-params#defineParams).
```dts type ParamDefinition = | ((param: string) => ParamValue | undefined) | StandardSchemaV1; ```
## ParamMatcher The shape of a param matcher. See [matching](/docs/kit/advanced-routing#Matching) for more info.
```dts type ParamMatcher = StandardSchemaV1< string, Output >; ```
## ParamValue A value that can be parsed from a URL param and losslessly encoded with `String(...)`.
```dts type ParamValue = string | number | boolean | bigint; ```