import * as tm from "type-mapping"; import { RouteData } from "../route"; import { ParamNameOf } from "../query"; /** For now, a `Route`'s validity is just determined by its path param parts and param mapper. */ export declare type IsValid = (ParamNameOf extends never ? true : undefined extends DataT["param"] ? false : true); export declare type NonStringMappableKeys = ({ [k in Extract, string>]: (Extract[k], string> extends never ? k : never); }[Extract, string>]); /** For now, a `Route`'s validity is just determined by its path param parts and param mapper. */ export declare type AssertValid = (ParamNameOf extends never ? DataT : DataT["param"] extends tm.AnySafeMapper ? (NonStringMappableKeys extends never ? DataT : ["These params must also map string", NonStringMappableKeys]) : ["You must call .setParam() on the route declaration for params", ParamNameOf]); export declare function isValid(data: DataT): IsValid; export declare function assertValid(data: RouteData): void; //# sourceMappingURL=is-valid.d.ts.map