export namespace SerializationFlags {
    let Transient: number;
}
export class SerializationMetadata {
    /**
     *
     * @type {number}
     */
    flags: number;
    /**
     *
     * @param {number|SerializationFlags} flag
     * @returns {void}
     */
    setFlag(flag: number | {
        Transient: number;
    }): void;
    /**
     *
     * @param {number|SerializationFlags} flag
     * @returns {void}
     */
    clearFlag(flag: number | {
        Transient: number;
    }): void;
    /**
     *
     * @param {number|SerializationFlags} flag
     * @param {boolean} value
     */
    writeFlag(flag: number | {
        Transient: number;
    }, value: boolean): void;
    /**
     *
     * @param {number|SerializationFlags} flag
     * @returns {boolean}
     */
    getFlag(flag: number | {
        Transient: number;
    }): boolean;
    toJSON(): {
        flags: number;
    };
    fromJSON({ flags }: {
        flags?: number;
    }): void;
}
export namespace SerializationMetadata {
    let Transient_1: Readonly<SerializationMetadata>;
    export { Transient_1 as Transient };
    export let typeName: string;
}
//# sourceMappingURL=SerializationMetadata.d.ts.map