/// <reference types="node" />
import { InspectOptions } from 'util';
import { IValue } from './IValue';
import { IEquatable, equals } from './Equality';
import { IInspectable, inspect } from './IInspectable';
import { JsonSerializable } from './Serialization/Json/JsonSerializable';
/**
 * A globally unique user identifer implementation
 * @see https://www.npmjs.com/package/uuid
 */
export declare class Guid extends JsonSerializable implements IValue<string>, IEquatable<Guid>, IInspectable {
    private readonly _guid;
    constructor(guid?: string);
    valueOf(): string;
    [equals](other: Guid): boolean;
    [inspect](_options?: InspectOptions): string;
    private isValid;
}
