import * as t from "io-ts"; declare const CustomParam: t.TypeC<{ isOptional: t.BooleanC; name: t.StringC; type: t.LiteralC<"custom">; }>; export type CustomParam = t.TypeOf; declare const UIDParam: t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"uid">; }>; export type UIDParam = t.TypeOf; declare const LangParam: t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"lang">; }>; export type LangParam = t.TypeOf; declare const DynamicParam: t.UnionC<[t.TypeC<{ isOptional: t.BooleanC; name: t.StringC; type: t.LiteralC<"custom">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"uid">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"lang">; }>]>; export type DynamicParam = t.TypeOf; declare const StaticParam: t.TypeC<{ value: t.StringC; type: t.LiteralC<"static">; }>; export type StaticParam = t.TypeOf; declare const URLParam: t.UnionC<[t.TypeC<{ value: t.StringC; type: t.LiteralC<"static">; }>, t.UnionC<[t.TypeC<{ isOptional: t.BooleanC; name: t.StringC; type: t.LiteralC<"custom">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"uid">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"lang">; }>]>]>; export type URLParam = t.TypeOf; declare const URLPattern: t.TypeC<{ trailingSlash: t.BooleanC; params: t.ArrayC; }>, t.UnionC<[t.TypeC<{ isOptional: t.BooleanC; name: t.StringC; type: t.LiteralC<"custom">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"uid">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"lang">; }>]>]>>; }>; export type URLPattern = t.TypeOf; declare const CustomTypeObject: t.TypeC<{ id: t.StringC; }>; export type CustomTypeObject = t.TypeOf; declare const URLResolver: t.RecordC; }>>>; export type URLResolver = t.TypeOf; export declare const Rule: t.TypeC<{ pattern: t.TypeC<{ trailingSlash: t.BooleanC; params: t.ArrayC; }>, t.UnionC<[t.TypeC<{ isOptional: t.BooleanC; name: t.StringC; type: t.LiteralC<"custom">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"uid">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"lang">; }>]>]>>; }>; resolvers: t.RecordC; }>>>; }>; export type Rule = t.TypeOf; export declare const LinkResolver: t.RecordC; }>, t.UnionC<[t.TypeC<{ isOptional: t.BooleanC; name: t.StringC; type: t.LiteralC<"custom">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"uid">; }>, t.TypeC<{ isOptional: t.BooleanC; type: t.LiteralC<"lang">; }>]>]>>; }>; resolvers: t.RecordC; }>>>; }>>>>; export type LinkResolver = t.TypeOf; export type URLPart = { value: string; withSeparator: boolean; }; export declare function staticParam(value: string): StaticParam; export declare function uidParam(isOptional: boolean): UIDParam; export declare function langParam(isOptional: boolean): LangParam; export declare function customParam(name: string, isOptional: boolean): CustomParam; export {};