--- /dev/null
+export interface ParseResult {
+ size: number;
+ segments: Segment[];
+}
+export interface Segment {
+ kind: number;
+ literal: string;
+}
+export declare type Bindings = {
+ [index: string]: string;
+};
+export declare class PathTemplate {
+ private readonly parseResult;
+ readonly size: number;
+ readonly segments: Segment[];
+ /**
+ * @param {String} data the of the template
+ *
+ * @constructor
+ */
+ constructor(data: string);
+ /**
+ * Matches a fully-qualified path template string.
+ *
+ * @param {String} path a fully-qualified path template string
+ * @return {Object} contains const names matched to binding values
+ * @throws {TypeError} if path can't be matched to this template
+ */
+ match(path: string): Bindings;
+ /**
+ * Renders a path template using the provided bindings.
+ *
+ * @param {Object} bindings a mapping of const names to binding strings
+ * @return {String} a rendered representation of the path template
+ * @throws {TypeError} if a key is missing, or if a sub-template cannot be
+ * parsed
+ */
+ render(bindings: Bindings): string;
+ /**
+ * Renders the path template.
+ *
+ * @return {string} contains const names matched to binding values
+ */
+ inspect(): string;
+}