export interface UriComponents {
    scheme: string;
    authority?: string;
    path?: string;
    query?: string;
    fragment?: string;
}
export declare class Uri implements UriComponents {
    private static readonly regexp;
    readonly scheme: string;
    readonly authority: string;
    readonly path: string;
    readonly query: string;
    readonly fragment: string;
    protected constructor(scheme: string, authority?: string, path?: string, query?: string, fragment?: string);
    equalsTo(uri: Uri): boolean;
    toString(): string;
    static parse(value: string): Uri;
    static from(components: UriComponents): Uri;
}
