import { ISerializable } from "./type-serialization";
export declare class GxGuid implements ISerializable {
    private value;
    private static emptyValue;
    private static emptyGUID;
    constructor(val?: string);
    serialize(): string;
    deserialize(x: any): GxGuid;
    private normalizeValue;
    /**
     * Returns true if the GUID is the emtpy GUID
     * @returns boolean
     */
    isEmpty(): boolean;
    /**
     * Sets the given string as the GUID's value
     * @param {string} str The new GUID's value
     */
    fromString(str: string): void;
    /**
     * Returns the string representation of the GUID object
     * @param {string} format The desired format of the output string
     * @returns {string} The string representation of the GUID
     */
    toString(format?: string): string;
    /**
     * Returns the empty GUID
     * @returns {GxGuid} The empty GUID
     */
    static empty(): GxGuid;
    /**
     * Creates a new GUID object from the given string
     * @param {string} str The string representing the GUID object to be created
     * @returns {GxGuid} The GUID object with representing the given string
     */
    static fromString(str: string): GxGuid;
    /**
     * Creates a new GUID object with a randomly-generated value
     * @returns {GxGuid} The newly created GUID object
     */
    static newGuid(): GxGuid;
    static compare(guid1: GxGuid, guid2: GxGuid): boolean;
}
