type ExtractParams<T extends string> = T extends `${infer _Start}:${infer Param}/${infer Rest}` ? Param | ExtractParams<Rest> : T extends `${infer _Start}:${infer Param}` ? Param : never;
type HasParams<T extends string> = ExtractParams<T> extends never ? false : true;
export type ParamsToFunction<T extends string> = HasParams<T> extends true ? (args: Record<ExtractParams<T>, string>) => string : () => string;
export declare function createUrlFunction<T extends string>(template: T): ParamsToFunction<T>;
export {};
