type ValueFunction = (name: string) => any;
declare class UriTemplate {
    readonly template: string;
    private static readonly uriTemplateGlobalModifiers;
    private static readonly uriTemplateSuffices;
    private readonly textParts;
    private readonly substitutions;
    private readonly unSubstitutions;
    private readonly prefixes;
    constructor(template: string);
    fill(valueFunction?: Record<string, any> | ValueFunction): string;
    fillFromObject(obj?: Record<string, any>): string;
    fromUri(substituted: string): Record<string, any> | undefined;
    toString(): string;
    private uriTemplateSubstitution;
    private static notReallyPercentEncode;
}

export { UriTemplate };
