export type UmbPathPatternParamsType = { [key: string]: any; }; type ReplaceNull = T extends null ? 'null' : T; export type UmbPathPatternTypeAsEncodedParamsType = { [P in keyof T]: T[P] extends (infer R)[] ? ReplaceNull[] : ReplaceNull; }; export declare class UmbPathPattern { #private; /** * Get the params type of the path pattern * @public * @type {T} * @memberOf UmbPathPattern * @example `typeof MyPathPattern.PARAMS` */ readonly PARAMS: LocalParamsType; /** * Get absolute params type of the path pattern * @public * @type {T} * @memberOf UmbPathPattern * @example `typeof MyPathPattern.ABSOLUTE_PARAMS` */ readonly ABSOLUTE_PARAMS: LocalParamsType & BaseParamsType; constructor(localPattern: string, basePath?: UmbPathPattern | string); generateLocal(params: LocalParamsType): string; /** * generate an absolute path from the path pattern * @param params * @param baseParams * @returns */ generateAbsolute(params: LocalParamsType & BaseParamsType): string; /** * Get the full absolute pattern string including base path. * Use this when chaining patterns to preserve the full path. * @returns The complete pattern string (base + local) */ toAbsolutePatternString(): string; toString(): string; } export {};