/** Represents an object that builds Uniform Resource Identifiers (URIs). */
export declare class UriBuilder {
    private segments;
    private queryParams;
    /**
     * Initializes a new instance of the UriBuilder.
     * @param uri The optional string or URL to initialize the builder from.
     */
    constructor(uri?: string | URL);
    /** Gets or sets the fragment portion of the URI. */
    fragment: string;
    /** Gets or sets the Domain Name System (DNS) host name or IP address of a server. */
    host: string;
    /** Gets the path to the resource referenced by the URI. */
    get path(): string;
    /** Sets the path to the resource referenced by the URI. */
    set path(value: string);
    /** Gets or sets the port number of the URI. */
    port: number;
    /** Gets any query information included in the URI. */
    get query(): string;
    /** Sets the query information included in the URI. */
    set query(value: string);
    /** Gets or sets the scheme name of the URI. */
    scheme: string;
    /** Gets the URL instance constructed by the builder. */
    get uri(): URL;
    private get usingDefaultPort();
    /**
     * Appends the specified segment to the path.
     * @param segment The segment to append.
     */
    appendSegment(segment: string): void;
    /**
     * Sets the specified name/value pair in the query string.
     * Duplicate query parameters are not supported.
     * @param name The name of the query parameter.
     * @param value The value of the query parameter.
     */
    setQueryParameter(name: string, value: string): void;
    /** Returns the string equivalent of the builder. */
    toString(): string;
    /** Creates and returns a deep copy of the current builder. */
    clone(): UriBuilder;
}
