import * as $protobuf from "protobufjs";
import Long = require("long");
/** ColorPrizeArea enum. */
export enum ColorPrizeArea {
    CPA_Single_0 = 0,
    CPA_Single_1 = 1,
    CPA_Single_2 = 2,
    CPA_Double = 3,
    CPA_Three = 4
}

/** Represents a ColorPrizeAreaRange. */
export class ColorPrizeAreaRange implements IColorPrizeAreaRange {

    /**
     * Constructs a new ColorPrizeAreaRange.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorPrizeAreaRange);

    /** ColorPrizeAreaRange pos. */
    public pos: ColorPrizeArea;

    /** ColorPrizeAreaRange minMul. */
    public minMul: Long;

    /** ColorPrizeAreaRange maxMul. */
    public maxMul: Long;

    /**
     * Creates a new ColorPrizeAreaRange instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorPrizeAreaRange instance
     */
    public static create(properties?: IColorPrizeAreaRange): ColorPrizeAreaRange;

    /**
     * Encodes the specified ColorPrizeAreaRange message. Does not implicitly {@link ColorPrizeAreaRange.verify|verify} messages.
     * @param message ColorPrizeAreaRange message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorPrizeAreaRange, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorPrizeAreaRange message, length delimited. Does not implicitly {@link ColorPrizeAreaRange.verify|verify} messages.
     * @param message ColorPrizeAreaRange message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorPrizeAreaRange, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorPrizeAreaRange message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorPrizeAreaRange
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorPrizeAreaRange;

    /**
     * Decodes a ColorPrizeAreaRange message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorPrizeAreaRange
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorPrizeAreaRange;

    /**
     * Verifies a ColorPrizeAreaRange message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorPrizeAreaRange message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorPrizeAreaRange
     */
    public static fromObject(object: { [k: string]: any }): ColorPrizeAreaRange;

    /**
     * Creates a plain object from a ColorPrizeAreaRange message. Also converts values to other types if specified.
     * @param message ColorPrizeAreaRange
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorPrizeAreaRange, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorPrizeAreaRange to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorPrizeAreaRange
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a ColorRoomConfig. */
export class ColorRoomConfig implements IColorRoomConfig {

    /**
     * Constructs a new ColorRoomConfig.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorRoomConfig);

    /** ColorRoomConfig betList. */
    public betList: Long[];

    /** ColorRoomConfig mulRangeConfig. */
    public mulRangeConfig: IColorPrizeAreaRange[];

    /**
     * Creates a new ColorRoomConfig instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorRoomConfig instance
     */
    public static create(properties?: IColorRoomConfig): ColorRoomConfig;

    /**
     * Encodes the specified ColorRoomConfig message. Does not implicitly {@link ColorRoomConfig.verify|verify} messages.
     * @param message ColorRoomConfig message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorRoomConfig, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorRoomConfig message, length delimited. Does not implicitly {@link ColorRoomConfig.verify|verify} messages.
     * @param message ColorRoomConfig message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorRoomConfig, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorRoomConfig message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorRoomConfig
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorRoomConfig;

    /**
     * Decodes a ColorRoomConfig message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorRoomConfig
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorRoomConfig;

    /**
     * Verifies a ColorRoomConfig message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorRoomConfig message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorRoomConfig
     */
    public static fromObject(object: { [k: string]: any }): ColorRoomConfig;

    /**
     * Creates a plain object from a ColorRoomConfig message. Also converts values to other types if specified.
     * @param message ColorRoomConfig
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorRoomConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorRoomConfig to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorRoomConfig
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** ColorType enum. */
export enum ColorType {
    CT_Yellow = 0,
    CT_White = 1,
    CT_Pink = 2,
    CT_Blue = 3,
    CT_Red = 4,
    CT_Green = 5
}

/** ColorBetArea enum. */
export enum ColorBetArea {
    CBA_Yellow = 0,
    CBA_White = 1,
    CBA_Pink = 2,
    CBA_Blue = 3,
    CBA_Red = 4,
    CBA_Green = 5,
    CBA_Yellow2 = 6,
    CBA_White2 = 7,
    CBA_Pink2 = 8,
    CBA_Blue2 = 9,
    CBA_Red2 = 10,
    CBA_Green2 = 11,
    CBA_Yellow3 = 12,
    CBA_White3 = 13,
    CBA_Pink3 = 14,
    CBA_Blue3 = 15,
    CBA_Red3 = 16,
    CBA_Green3 = 17
}

/** ColorGameStatus enum. */
export enum ColorGameStatus {
    CGS_WaitStart = 0,
    CGS_Start = 1,
    CGS_Betting = 2,
    CGS_BetEnd = 3,
    CGS_OpenThreeDice = 4,
    CGS_Settle = 5
}

/** Represents a ColorRoomWaitStart. */
export class ColorRoomWaitStart implements IColorRoomWaitStart {

    /**
     * Constructs a new ColorRoomWaitStart.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorRoomWaitStart);

    /** ColorRoomWaitStart Trends. */
    public Trends?: (INtfColorTrend|null);

    /**
     * Creates a new ColorRoomWaitStart instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorRoomWaitStart instance
     */
    public static create(properties?: IColorRoomWaitStart): ColorRoomWaitStart;

    /**
     * Encodes the specified ColorRoomWaitStart message. Does not implicitly {@link ColorRoomWaitStart.verify|verify} messages.
     * @param message ColorRoomWaitStart message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorRoomWaitStart, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorRoomWaitStart message, length delimited. Does not implicitly {@link ColorRoomWaitStart.verify|verify} messages.
     * @param message ColorRoomWaitStart message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorRoomWaitStart, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorRoomWaitStart message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorRoomWaitStart
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorRoomWaitStart;

    /**
     * Decodes a ColorRoomWaitStart message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorRoomWaitStart
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorRoomWaitStart;

    /**
     * Verifies a ColorRoomWaitStart message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorRoomWaitStart message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorRoomWaitStart
     */
    public static fromObject(object: { [k: string]: any }): ColorRoomWaitStart;

    /**
     * Creates a plain object from a ColorRoomWaitStart message. Also converts values to other types if specified.
     * @param message ColorRoomWaitStart
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorRoomWaitStart, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorRoomWaitStart to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorRoomWaitStart
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a ColorRoomStart. */
export class ColorRoomStart implements IColorRoomStart {

    /**
     * Constructs a new ColorRoomStart.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorRoomStart);

    /** ColorRoomStart start. */
    public start?: (INtfColorGameStart|null);

    /** ColorRoomStart Trends. */
    public Trends?: (INtfColorTrend|null);

    /**
     * Creates a new ColorRoomStart instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorRoomStart instance
     */
    public static create(properties?: IColorRoomStart): ColorRoomStart;

    /**
     * Encodes the specified ColorRoomStart message. Does not implicitly {@link ColorRoomStart.verify|verify} messages.
     * @param message ColorRoomStart message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorRoomStart, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorRoomStart message, length delimited. Does not implicitly {@link ColorRoomStart.verify|verify} messages.
     * @param message ColorRoomStart message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorRoomStart, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorRoomStart message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorRoomStart
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorRoomStart;

    /**
     * Decodes a ColorRoomStart message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorRoomStart
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorRoomStart;

    /**
     * Verifies a ColorRoomStart message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorRoomStart message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorRoomStart
     */
    public static fromObject(object: { [k: string]: any }): ColorRoomStart;

    /**
     * Creates a plain object from a ColorRoomStart message. Also converts values to other types if specified.
     * @param message ColorRoomStart
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorRoomStart, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorRoomStart to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorRoomStart
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a ColorRoomBetting. */
export class ColorRoomBetting implements IColorRoomBetting {

    /**
     * Constructs a new ColorRoomBetting.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorRoomBetting);

    /** ColorRoomBetting betAreaInfo. */
    public betAreaInfo?: (INtfColorBetAreaInfo|null);

    /**
     * Creates a new ColorRoomBetting instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorRoomBetting instance
     */
    public static create(properties?: IColorRoomBetting): ColorRoomBetting;

    /**
     * Encodes the specified ColorRoomBetting message. Does not implicitly {@link ColorRoomBetting.verify|verify} messages.
     * @param message ColorRoomBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorRoomBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorRoomBetting message, length delimited. Does not implicitly {@link ColorRoomBetting.verify|verify} messages.
     * @param message ColorRoomBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorRoomBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorRoomBetting message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorRoomBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorRoomBetting;

    /**
     * Decodes a ColorRoomBetting message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorRoomBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorRoomBetting;

    /**
     * Verifies a ColorRoomBetting message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorRoomBetting message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorRoomBetting
     */
    public static fromObject(object: { [k: string]: any }): ColorRoomBetting;

    /**
     * Creates a plain object from a ColorRoomBetting message. Also converts values to other types if specified.
     * @param message ColorRoomBetting
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorRoomBetting, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorRoomBetting to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorRoomBetting
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a ColorRoomEndBet. */
export class ColorRoomEndBet implements IColorRoomEndBet {

    /**
     * Constructs a new ColorRoomEndBet.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorRoomEndBet);

    /** ColorRoomEndBet areaMul. */
    public areaMul?: (INtfColorEndBetting|null);

    /** ColorRoomEndBet betAreaInfo. */
    public betAreaInfo?: (INtfColorBetAreaInfo|null);

    /** ColorRoomEndBet bigUser. */
    public bigUser?: (INtfColorBigUser|null);

    /**
     * Creates a new ColorRoomEndBet instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorRoomEndBet instance
     */
    public static create(properties?: IColorRoomEndBet): ColorRoomEndBet;

    /**
     * Encodes the specified ColorRoomEndBet message. Does not implicitly {@link ColorRoomEndBet.verify|verify} messages.
     * @param message ColorRoomEndBet message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorRoomEndBet, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorRoomEndBet message, length delimited. Does not implicitly {@link ColorRoomEndBet.verify|verify} messages.
     * @param message ColorRoomEndBet message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorRoomEndBet, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorRoomEndBet message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorRoomEndBet
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorRoomEndBet;

    /**
     * Decodes a ColorRoomEndBet message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorRoomEndBet
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorRoomEndBet;

    /**
     * Verifies a ColorRoomEndBet message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorRoomEndBet message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorRoomEndBet
     */
    public static fromObject(object: { [k: string]: any }): ColorRoomEndBet;

    /**
     * Creates a plain object from a ColorRoomEndBet message. Also converts values to other types if specified.
     * @param message ColorRoomEndBet
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorRoomEndBet, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorRoomEndBet to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorRoomEndBet
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a ColorRoomOpenThreeDice. */
export class ColorRoomOpenThreeDice implements IColorRoomOpenThreeDice {

    /**
     * Constructs a new ColorRoomOpenThreeDice.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorRoomOpenThreeDice);

    /** ColorRoomOpenThreeDice dices. */
    public dices?: (INtfColorOpenThreeDice|null);

    /**
     * Creates a new ColorRoomOpenThreeDice instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorRoomOpenThreeDice instance
     */
    public static create(properties?: IColorRoomOpenThreeDice): ColorRoomOpenThreeDice;

    /**
     * Encodes the specified ColorRoomOpenThreeDice message. Does not implicitly {@link ColorRoomOpenThreeDice.verify|verify} messages.
     * @param message ColorRoomOpenThreeDice message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorRoomOpenThreeDice, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorRoomOpenThreeDice message, length delimited. Does not implicitly {@link ColorRoomOpenThreeDice.verify|verify} messages.
     * @param message ColorRoomOpenThreeDice message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorRoomOpenThreeDice, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorRoomOpenThreeDice message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorRoomOpenThreeDice
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorRoomOpenThreeDice;

    /**
     * Decodes a ColorRoomOpenThreeDice message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorRoomOpenThreeDice
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorRoomOpenThreeDice;

    /**
     * Verifies a ColorRoomOpenThreeDice message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorRoomOpenThreeDice message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorRoomOpenThreeDice
     */
    public static fromObject(object: { [k: string]: any }): ColorRoomOpenThreeDice;

    /**
     * Creates a plain object from a ColorRoomOpenThreeDice message. Also converts values to other types if specified.
     * @param message ColorRoomOpenThreeDice
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorRoomOpenThreeDice, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorRoomOpenThreeDice to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorRoomOpenThreeDice
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a ColorRoomSettle. */
export class ColorRoomSettle implements IColorRoomSettle {

    /**
     * Constructs a new ColorRoomSettle.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorRoomSettle);

    /** ColorRoomSettle settle. */
    public settle?: (INtfColorSettle|null);

    /**
     * Creates a new ColorRoomSettle instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorRoomSettle instance
     */
    public static create(properties?: IColorRoomSettle): ColorRoomSettle;

    /**
     * Encodes the specified ColorRoomSettle message. Does not implicitly {@link ColorRoomSettle.verify|verify} messages.
     * @param message ColorRoomSettle message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorRoomSettle, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorRoomSettle message, length delimited. Does not implicitly {@link ColorRoomSettle.verify|verify} messages.
     * @param message ColorRoomSettle message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorRoomSettle, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorRoomSettle message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorRoomSettle
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorRoomSettle;

    /**
     * Decodes a ColorRoomSettle message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorRoomSettle
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorRoomSettle;

    /**
     * Verifies a ColorRoomSettle message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorRoomSettle message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorRoomSettle
     */
    public static fromObject(object: { [k: string]: any }): ColorRoomSettle;

    /**
     * Creates a plain object from a ColorRoomSettle message. Also converts values to other types if specified.
     * @param message ColorRoomSettle
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorRoomSettle, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorRoomSettle to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorRoomSettle
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorRoomInfo. */
export class NtfColorRoomInfo implements INtfColorRoomInfo {

    /**
     * Constructs a new NtfColorRoomInfo.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorRoomInfo);

    /** NtfColorRoomInfo status. */
    public status: ColorGameStatus;

    /** NtfColorRoomInfo endTime. */
    public endTime: Long;

    /** NtfColorRoomInfo config. */
    public config?: (IColorRoomConfig|null);

    /** NtfColorRoomInfo user. */
    public user?: (IColorUser|null);

    /** NtfColorRoomInfo waitStart. */
    public waitStart?: (IColorRoomWaitStart|null);

    /** NtfColorRoomInfo start. */
    public start?: (IColorRoomStart|null);

    /** NtfColorRoomInfo betting. */
    public betting?: (IColorRoomBetting|null);

    /** NtfColorRoomInfo endBet. */
    public endBet?: (IColorRoomEndBet|null);

    /** NtfColorRoomInfo openThreeDice. */
    public openThreeDice?: (IColorRoomOpenThreeDice|null);

    /** NtfColorRoomInfo settle. */
    public settle?: (IColorRoomSettle|null);

    /**
     * Creates a new NtfColorRoomInfo instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorRoomInfo instance
     */
    public static create(properties?: INtfColorRoomInfo): NtfColorRoomInfo;

    /**
     * Encodes the specified NtfColorRoomInfo message. Does not implicitly {@link NtfColorRoomInfo.verify|verify} messages.
     * @param message NtfColorRoomInfo message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorRoomInfo, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorRoomInfo message, length delimited. Does not implicitly {@link NtfColorRoomInfo.verify|verify} messages.
     * @param message NtfColorRoomInfo message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorRoomInfo, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorRoomInfo message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorRoomInfo
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorRoomInfo;

    /**
     * Decodes a NtfColorRoomInfo message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorRoomInfo
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorRoomInfo;

    /**
     * Verifies a NtfColorRoomInfo message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorRoomInfo message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorRoomInfo
     */
    public static fromObject(object: { [k: string]: any }): NtfColorRoomInfo;

    /**
     * Creates a plain object from a NtfColorRoomInfo message. Also converts values to other types if specified.
     * @param message NtfColorRoomInfo
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorRoomInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorRoomInfo to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorRoomInfo
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorGameStart. */
export class NtfColorGameStart implements INtfColorGameStart {

    /**
     * Constructs a new NtfColorGameStart.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorGameStart);

    /** NtfColorGameStart endTime. */
    public endTime: Long;

    /** NtfColorGameStart jackpot. */
    public jackpot: Long;

    /**
     * Creates a new NtfColorGameStart instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorGameStart instance
     */
    public static create(properties?: INtfColorGameStart): NtfColorGameStart;

    /**
     * Encodes the specified NtfColorGameStart message. Does not implicitly {@link NtfColorGameStart.verify|verify} messages.
     * @param message NtfColorGameStart message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorGameStart, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorGameStart message, length delimited. Does not implicitly {@link NtfColorGameStart.verify|verify} messages.
     * @param message NtfColorGameStart message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorGameStart, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorGameStart message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorGameStart
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorGameStart;

    /**
     * Decodes a NtfColorGameStart message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorGameStart
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorGameStart;

    /**
     * Verifies a NtfColorGameStart message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorGameStart message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorGameStart
     */
    public static fromObject(object: { [k: string]: any }): NtfColorGameStart;

    /**
     * Creates a plain object from a NtfColorGameStart message. Also converts values to other types if specified.
     * @param message NtfColorGameStart
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorGameStart, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorGameStart to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorGameStart
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorBetting. */
export class NtfColorBetting implements INtfColorBetting {

    /**
     * Constructs a new NtfColorBetting.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorBetting);

    /** NtfColorBetting endTime. */
    public endTime: Long;

    /**
     * Creates a new NtfColorBetting instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorBetting instance
     */
    public static create(properties?: INtfColorBetting): NtfColorBetting;

    /**
     * Encodes the specified NtfColorBetting message. Does not implicitly {@link NtfColorBetting.verify|verify} messages.
     * @param message NtfColorBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorBetting message, length delimited. Does not implicitly {@link NtfColorBetting.verify|verify} messages.
     * @param message NtfColorBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorBetting message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorBetting;

    /**
     * Decodes a NtfColorBetting message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorBetting;

    /**
     * Verifies a NtfColorBetting message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorBetting message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorBetting
     */
    public static fromObject(object: { [k: string]: any }): NtfColorBetting;

    /**
     * Creates a plain object from a NtfColorBetting message. Also converts values to other types if specified.
     * @param message NtfColorBetting
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorBetting, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorBetting to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorBetting
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a ReqColorBetting. */
export class ReqColorBetting implements IReqColorBetting {

    /**
     * Constructs a new ReqColorBetting.
     * @param [properties] Properties to set
     */
    constructor(properties?: IReqColorBetting);

    /** ReqColorBetting area. */
    public area: ColorBetArea;

    /** ReqColorBetting bet. */
    public bet: Long;

    /**
     * Creates a new ReqColorBetting instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ReqColorBetting instance
     */
    public static create(properties?: IReqColorBetting): ReqColorBetting;

    /**
     * Encodes the specified ReqColorBetting message. Does not implicitly {@link ReqColorBetting.verify|verify} messages.
     * @param message ReqColorBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IReqColorBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ReqColorBetting message, length delimited. Does not implicitly {@link ReqColorBetting.verify|verify} messages.
     * @param message ReqColorBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IReqColorBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ReqColorBetting message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ReqColorBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ReqColorBetting;

    /**
     * Decodes a ReqColorBetting message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ReqColorBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ReqColorBetting;

    /**
     * Verifies a ReqColorBetting message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ReqColorBetting message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ReqColorBetting
     */
    public static fromObject(object: { [k: string]: any }): ReqColorBetting;

    /**
     * Creates a plain object from a ReqColorBetting message. Also converts values to other types if specified.
     * @param message ReqColorBetting
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ReqColorBetting, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ReqColorBetting to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ReqColorBetting
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a RspColorBetting. */
export class RspColorBetting implements IRspColorBetting {

    /**
     * Constructs a new RspColorBetting.
     * @param [properties] Properties to set
     */
    constructor(properties?: IRspColorBetting);

    /** RspColorBetting code. */
    public code: ErrCode;

    /** RspColorBetting areaInfo. */
    public areaInfo?: (IColorBetAreaInfo|null);

    /**
     * Creates a new RspColorBetting instance using the specified properties.
     * @param [properties] Properties to set
     * @returns RspColorBetting instance
     */
    public static create(properties?: IRspColorBetting): RspColorBetting;

    /**
     * Encodes the specified RspColorBetting message. Does not implicitly {@link RspColorBetting.verify|verify} messages.
     * @param message RspColorBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IRspColorBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified RspColorBetting message, length delimited. Does not implicitly {@link RspColorBetting.verify|verify} messages.
     * @param message RspColorBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IRspColorBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a RspColorBetting message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns RspColorBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): RspColorBetting;

    /**
     * Decodes a RspColorBetting message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns RspColorBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): RspColorBetting;

    /**
     * Verifies a RspColorBetting message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a RspColorBetting message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns RspColorBetting
     */
    public static fromObject(object: { [k: string]: any }): RspColorBetting;

    /**
     * Creates a plain object from a RspColorBetting message. Also converts values to other types if specified.
     * @param message RspColorBetting
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: RspColorBetting, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this RspColorBetting to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for RspColorBetting
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a ColorBetAreaInfo. */
export class ColorBetAreaInfo implements IColorBetAreaInfo {

    /**
     * Constructs a new ColorBetAreaInfo.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorBetAreaInfo);

    /** ColorBetAreaInfo area. */
    public area: ColorBetArea;

    /** ColorBetAreaInfo totalBet. */
    public totalBet: Long;

    /** ColorBetAreaInfo playerNum. */
    public playerNum: number;

    /** ColorBetAreaInfo myBet. */
    public myBet: Long;

    /**
     * Creates a new ColorBetAreaInfo instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorBetAreaInfo instance
     */
    public static create(properties?: IColorBetAreaInfo): ColorBetAreaInfo;

    /**
     * Encodes the specified ColorBetAreaInfo message. Does not implicitly {@link ColorBetAreaInfo.verify|verify} messages.
     * @param message ColorBetAreaInfo message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorBetAreaInfo, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorBetAreaInfo message, length delimited. Does not implicitly {@link ColorBetAreaInfo.verify|verify} messages.
     * @param message ColorBetAreaInfo message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorBetAreaInfo, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorBetAreaInfo message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorBetAreaInfo
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorBetAreaInfo;

    /**
     * Decodes a ColorBetAreaInfo message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorBetAreaInfo
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorBetAreaInfo;

    /**
     * Verifies a ColorBetAreaInfo message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorBetAreaInfo message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorBetAreaInfo
     */
    public static fromObject(object: { [k: string]: any }): ColorBetAreaInfo;

    /**
     * Creates a plain object from a ColorBetAreaInfo message. Also converts values to other types if specified.
     * @param message ColorBetAreaInfo
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorBetAreaInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorBetAreaInfo to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorBetAreaInfo
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorBetAreaInfo. */
export class NtfColorBetAreaInfo implements INtfColorBetAreaInfo {

    /**
     * Constructs a new NtfColorBetAreaInfo.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorBetAreaInfo);

    /** NtfColorBetAreaInfo areaInfos. */
    public areaInfos: IColorBetAreaInfo[];

    /**
     * Creates a new NtfColorBetAreaInfo instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorBetAreaInfo instance
     */
    public static create(properties?: INtfColorBetAreaInfo): NtfColorBetAreaInfo;

    /**
     * Encodes the specified NtfColorBetAreaInfo message. Does not implicitly {@link NtfColorBetAreaInfo.verify|verify} messages.
     * @param message NtfColorBetAreaInfo message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorBetAreaInfo, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorBetAreaInfo message, length delimited. Does not implicitly {@link NtfColorBetAreaInfo.verify|verify} messages.
     * @param message NtfColorBetAreaInfo message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorBetAreaInfo, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorBetAreaInfo message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorBetAreaInfo
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorBetAreaInfo;

    /**
     * Decodes a NtfColorBetAreaInfo message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorBetAreaInfo
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorBetAreaInfo;

    /**
     * Verifies a NtfColorBetAreaInfo message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorBetAreaInfo message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorBetAreaInfo
     */
    public static fromObject(object: { [k: string]: any }): NtfColorBetAreaInfo;

    /**
     * Creates a plain object from a NtfColorBetAreaInfo message. Also converts values to other types if specified.
     * @param message NtfColorBetAreaInfo
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorBetAreaInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorBetAreaInfo to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorBetAreaInfo
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** ColorPrizeType enum. */
export enum ColorPrizeType {
    CPT_Normal = 0,
    CPT_Big = 1,
    CPT_Jackpot = 2
}

/** Represents a ColorBetAreaMul. */
export class ColorBetAreaMul implements IColorBetAreaMul {

    /**
     * Constructs a new ColorBetAreaMul.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorBetAreaMul);

    /** ColorBetAreaMul area. */
    public area: ColorBetArea;

    /** ColorBetAreaMul prizeArea. */
    public prizeArea: ColorPrizeArea;

    /** ColorBetAreaMul prizeType. */
    public prizeType: ColorPrizeType;

    /** ColorBetAreaMul mul. */
    public mul: Long;

    /**
     * Creates a new ColorBetAreaMul instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorBetAreaMul instance
     */
    public static create(properties?: IColorBetAreaMul): ColorBetAreaMul;

    /**
     * Encodes the specified ColorBetAreaMul message. Does not implicitly {@link ColorBetAreaMul.verify|verify} messages.
     * @param message ColorBetAreaMul message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorBetAreaMul, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorBetAreaMul message, length delimited. Does not implicitly {@link ColorBetAreaMul.verify|verify} messages.
     * @param message ColorBetAreaMul message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorBetAreaMul, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorBetAreaMul message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorBetAreaMul
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorBetAreaMul;

    /**
     * Decodes a ColorBetAreaMul message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorBetAreaMul
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorBetAreaMul;

    /**
     * Verifies a ColorBetAreaMul message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorBetAreaMul message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorBetAreaMul
     */
    public static fromObject(object: { [k: string]: any }): ColorBetAreaMul;

    /**
     * Creates a plain object from a ColorBetAreaMul message. Also converts values to other types if specified.
     * @param message ColorBetAreaMul
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorBetAreaMul, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorBetAreaMul to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorBetAreaMul
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorEndBetting. */
export class NtfColorEndBetting implements INtfColorEndBetting {

    /**
     * Constructs a new NtfColorEndBetting.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorEndBetting);

    /** NtfColorEndBetting endTime. */
    public endTime: Long;

    /** NtfColorEndBetting areaMul. */
    public areaMul: IColorBetAreaMul[];

    /** NtfColorEndBetting jackpot. */
    public jackpot: Long;

    /**
     * Creates a new NtfColorEndBetting instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorEndBetting instance
     */
    public static create(properties?: INtfColorEndBetting): NtfColorEndBetting;

    /**
     * Encodes the specified NtfColorEndBetting message. Does not implicitly {@link NtfColorEndBetting.verify|verify} messages.
     * @param message NtfColorEndBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorEndBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorEndBetting message, length delimited. Does not implicitly {@link NtfColorEndBetting.verify|verify} messages.
     * @param message NtfColorEndBetting message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorEndBetting, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorEndBetting message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorEndBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorEndBetting;

    /**
     * Decodes a NtfColorEndBetting message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorEndBetting
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorEndBetting;

    /**
     * Verifies a NtfColorEndBetting message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorEndBetting message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorEndBetting
     */
    public static fromObject(object: { [k: string]: any }): NtfColorEndBetting;

    /**
     * Creates a plain object from a NtfColorEndBetting message. Also converts values to other types if specified.
     * @param message NtfColorEndBetting
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorEndBetting, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorEndBetting to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorEndBetting
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorOpenThreeDice. */
export class NtfColorOpenThreeDice implements INtfColorOpenThreeDice {

    /**
     * Constructs a new NtfColorOpenThreeDice.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorOpenThreeDice);

    /** NtfColorOpenThreeDice color. */
    public color: ColorType[];

    /** NtfColorOpenThreeDice aniRouteIndex. */
    public aniRouteIndex: number;

    /** NtfColorOpenThreeDice winArea. */
    public winArea: ColorBetArea[];

    /**
     * Creates a new NtfColorOpenThreeDice instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorOpenThreeDice instance
     */
    public static create(properties?: INtfColorOpenThreeDice): NtfColorOpenThreeDice;

    /**
     * Encodes the specified NtfColorOpenThreeDice message. Does not implicitly {@link NtfColorOpenThreeDice.verify|verify} messages.
     * @param message NtfColorOpenThreeDice message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorOpenThreeDice, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorOpenThreeDice message, length delimited. Does not implicitly {@link NtfColorOpenThreeDice.verify|verify} messages.
     * @param message NtfColorOpenThreeDice message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorOpenThreeDice, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorOpenThreeDice message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorOpenThreeDice
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorOpenThreeDice;

    /**
     * Decodes a NtfColorOpenThreeDice message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorOpenThreeDice
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorOpenThreeDice;

    /**
     * Verifies a NtfColorOpenThreeDice message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorOpenThreeDice message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorOpenThreeDice
     */
    public static fromObject(object: { [k: string]: any }): NtfColorOpenThreeDice;

    /**
     * Creates a plain object from a NtfColorOpenThreeDice message. Also converts values to other types if specified.
     * @param message NtfColorOpenThreeDice
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorOpenThreeDice, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorOpenThreeDice to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorOpenThreeDice
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorSettle. */
export class NtfColorSettle implements INtfColorSettle {

    /**
     * Constructs a new NtfColorSettle.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorSettle);

    /** NtfColorSettle userAreaWin. */
    public userAreaWin: NtfColorSettle.IUserBetAreaMul[];

    /** NtfColorSettle threeDice. */
    public threeDice: ColorType[];

    /** NtfColorSettle totalWin. */
    public totalWin: Long;

    /** NtfColorSettle totalBet. */
    public totalBet: Long;

    /** NtfColorSettle totalWinBaseBet. */
    public totalWinBaseBet: Long;

    /** NtfColorSettle tax. */
    public tax: Long;

    /**
     * Creates a new NtfColorSettle instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorSettle instance
     */
    public static create(properties?: INtfColorSettle): NtfColorSettle;

    /**
     * Encodes the specified NtfColorSettle message. Does not implicitly {@link NtfColorSettle.verify|verify} messages.
     * @param message NtfColorSettle message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorSettle, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorSettle message, length delimited. Does not implicitly {@link NtfColorSettle.verify|verify} messages.
     * @param message NtfColorSettle message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorSettle, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorSettle message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorSettle
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorSettle;

    /**
     * Decodes a NtfColorSettle message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorSettle
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorSettle;

    /**
     * Verifies a NtfColorSettle message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorSettle message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorSettle
     */
    public static fromObject(object: { [k: string]: any }): NtfColorSettle;

    /**
     * Creates a plain object from a NtfColorSettle message. Also converts values to other types if specified.
     * @param message NtfColorSettle
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorSettle, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorSettle to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorSettle
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

export namespace NtfColorSettle {

    /** Properties of a UserBetAreaMul. */
    interface IUserBetAreaMul {

        /** UserBetAreaMul areaMul */
        areaMul?: (IColorBetAreaMul|null);

        /** UserBetAreaMul bet */
        bet?: (Long|null);

        /** UserBetAreaMul win */
        win?: (Long|null);

        /** UserBetAreaMul realWin */
        realWin?: (Long|null);
    }

    /** Represents a UserBetAreaMul. */
    class UserBetAreaMul implements IUserBetAreaMul {

        /**
         * Constructs a new UserBetAreaMul.
         * @param [properties] Properties to set
         */
        constructor(properties?: NtfColorSettle.IUserBetAreaMul);

        /** UserBetAreaMul areaMul. */
        public areaMul?: (IColorBetAreaMul|null);

        /** UserBetAreaMul bet. */
        public bet: Long;

        /** UserBetAreaMul win. */
        public win: Long;

        /** UserBetAreaMul realWin. */
        public realWin: Long;

        /**
         * Creates a new UserBetAreaMul instance using the specified properties.
         * @param [properties] Properties to set
         * @returns UserBetAreaMul instance
         */
        public static create(properties?: NtfColorSettle.IUserBetAreaMul): NtfColorSettle.UserBetAreaMul;

        /**
         * Encodes the specified UserBetAreaMul message. Does not implicitly {@link NtfColorSettle.UserBetAreaMul.verify|verify} messages.
         * @param message UserBetAreaMul message or plain object to encode
         * @param [writer] Writer to encode to
         * @returns Writer
         */
        public static encode(message: NtfColorSettle.IUserBetAreaMul, writer?: $protobuf.Writer): $protobuf.Writer;

        /**
         * Encodes the specified UserBetAreaMul message, length delimited. Does not implicitly {@link NtfColorSettle.UserBetAreaMul.verify|verify} messages.
         * @param message UserBetAreaMul message or plain object to encode
         * @param [writer] Writer to encode to
         * @returns Writer
         */
        public static encodeDelimited(message: NtfColorSettle.IUserBetAreaMul, writer?: $protobuf.Writer): $protobuf.Writer;

        /**
         * Decodes a UserBetAreaMul message from the specified reader or buffer.
         * @param reader Reader or buffer to decode from
         * @param [length] Message length if known beforehand
         * @returns UserBetAreaMul
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorSettle.UserBetAreaMul;

        /**
         * Decodes a UserBetAreaMul message from the specified reader or buffer, length delimited.
         * @param reader Reader or buffer to decode from
         * @returns UserBetAreaMul
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorSettle.UserBetAreaMul;

        /**
         * Verifies a UserBetAreaMul message.
         * @param message Plain object to verify
         * @returns `null` if valid, otherwise the reason why it is not
         */
        public static verify(message: { [k: string]: any }): (string|null);

        /**
         * Creates a UserBetAreaMul message from a plain object. Also converts values to their respective internal types.
         * @param object Plain object
         * @returns UserBetAreaMul
         */
        public static fromObject(object: { [k: string]: any }): NtfColorSettle.UserBetAreaMul;

        /**
         * Creates a plain object from a UserBetAreaMul message. Also converts values to other types if specified.
         * @param message UserBetAreaMul
         * @param [options] Conversion options
         * @returns Plain object
         */
        public static toObject(message: NtfColorSettle.UserBetAreaMul, options?: $protobuf.IConversionOptions): { [k: string]: any };

        /**
         * Converts this UserBetAreaMul to JSON.
         * @returns JSON object
         */
        public toJSON(): { [k: string]: any };

        /**
         * Gets the default type url for UserBetAreaMul
         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
         * @returns The default type url
         */
        public static getTypeUrl(typeUrlPrefix?: string): string;
    }
}

/** Represents a ColorUser. */
export class ColorUser implements IColorUser {

    /**
     * Constructs a new ColorUser.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorUser);

    /** ColorUser Nick. */
    public Nick: string;

    /** ColorUser Head. */
    public Head: string;

    /** ColorUser Score. */
    public Score: Long;

    /** ColorUser SeatId. */
    public SeatId: number;

    /** ColorUser UserID. */
    public UserID: Long;

    /**
     * Creates a new ColorUser instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorUser instance
     */
    public static create(properties?: IColorUser): ColorUser;

    /**
     * Encodes the specified ColorUser message. Does not implicitly {@link ColorUser.verify|verify} messages.
     * @param message ColorUser message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorUser, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorUser message, length delimited. Does not implicitly {@link ColorUser.verify|verify} messages.
     * @param message ColorUser message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorUser, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorUser message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorUser
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorUser;

    /**
     * Decodes a ColorUser message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorUser
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorUser;

    /**
     * Verifies a ColorUser message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorUser message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorUser
     */
    public static fromObject(object: { [k: string]: any }): ColorUser;

    /**
     * Creates a plain object from a ColorUser message. Also converts values to other types if specified.
     * @param message ColorUser
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorUser, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorUser to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorUser
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorBigUser. */
export class NtfColorBigUser implements INtfColorBigUser {

    /**
     * Constructs a new NtfColorBigUser.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorBigUser);

    /** NtfColorBigUser bigUser. */
    public bigUser: IColorBigUser[];

    /**
     * Creates a new NtfColorBigUser instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorBigUser instance
     */
    public static create(properties?: INtfColorBigUser): NtfColorBigUser;

    /**
     * Encodes the specified NtfColorBigUser message. Does not implicitly {@link NtfColorBigUser.verify|verify} messages.
     * @param message NtfColorBigUser message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorBigUser, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorBigUser message, length delimited. Does not implicitly {@link NtfColorBigUser.verify|verify} messages.
     * @param message NtfColorBigUser message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorBigUser, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorBigUser message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorBigUser
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorBigUser;

    /**
     * Decodes a NtfColorBigUser message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorBigUser
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorBigUser;

    /**
     * Verifies a NtfColorBigUser message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorBigUser message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorBigUser
     */
    public static fromObject(object: { [k: string]: any }): NtfColorBigUser;

    /**
     * Creates a plain object from a NtfColorBigUser message. Also converts values to other types if specified.
     * @param message NtfColorBigUser
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorBigUser, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorBigUser to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorBigUser
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorTrend. */
export class NtfColorTrend implements INtfColorTrend {

    /**
     * Constructs a new NtfColorTrend.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorTrend);

    /** NtfColorTrend colorRate. */
    public colorRate: NtfColorTrend.IColorRate[];

    /**
     * Creates a new NtfColorTrend instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorTrend instance
     */
    public static create(properties?: INtfColorTrend): NtfColorTrend;

    /**
     * Encodes the specified NtfColorTrend message. Does not implicitly {@link NtfColorTrend.verify|verify} messages.
     * @param message NtfColorTrend message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorTrend, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorTrend message, length delimited. Does not implicitly {@link NtfColorTrend.verify|verify} messages.
     * @param message NtfColorTrend message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorTrend, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorTrend message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorTrend
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorTrend;

    /**
     * Decodes a NtfColorTrend message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorTrend
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorTrend;

    /**
     * Verifies a NtfColorTrend message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorTrend message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorTrend
     */
    public static fromObject(object: { [k: string]: any }): NtfColorTrend;

    /**
     * Creates a plain object from a NtfColorTrend message. Also converts values to other types if specified.
     * @param message NtfColorTrend
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorTrend, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorTrend to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorTrend
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

export namespace NtfColorTrend {

    /** Properties of a ColorRate. */
    interface IColorRate {

        /** ColorRate color */
        color?: (ColorType|null);

        /** ColorRate rate */
        rate?: (number|null);
    }

    /** Represents a ColorRate. */
    class ColorRate implements IColorRate {

        /**
         * Constructs a new ColorRate.
         * @param [properties] Properties to set
         */
        constructor(properties?: NtfColorTrend.IColorRate);

        /** ColorRate color. */
        public color: ColorType;

        /** ColorRate rate. */
        public rate: number;

        /**
         * Creates a new ColorRate instance using the specified properties.
         * @param [properties] Properties to set
         * @returns ColorRate instance
         */
        public static create(properties?: NtfColorTrend.IColorRate): NtfColorTrend.ColorRate;

        /**
         * Encodes the specified ColorRate message. Does not implicitly {@link NtfColorTrend.ColorRate.verify|verify} messages.
         * @param message ColorRate message or plain object to encode
         * @param [writer] Writer to encode to
         * @returns Writer
         */
        public static encode(message: NtfColorTrend.IColorRate, writer?: $protobuf.Writer): $protobuf.Writer;

        /**
         * Encodes the specified ColorRate message, length delimited. Does not implicitly {@link NtfColorTrend.ColorRate.verify|verify} messages.
         * @param message ColorRate message or plain object to encode
         * @param [writer] Writer to encode to
         * @returns Writer
         */
        public static encodeDelimited(message: NtfColorTrend.IColorRate, writer?: $protobuf.Writer): $protobuf.Writer;

        /**
         * Decodes a ColorRate message from the specified reader or buffer.
         * @param reader Reader or buffer to decode from
         * @param [length] Message length if known beforehand
         * @returns ColorRate
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorTrend.ColorRate;

        /**
         * Decodes a ColorRate message from the specified reader or buffer, length delimited.
         * @param reader Reader or buffer to decode from
         * @returns ColorRate
         * @throws {Error} If the payload is not a reader or valid buffer
         * @throws {$protobuf.util.ProtocolError} If required fields are missing
         */
        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorTrend.ColorRate;

        /**
         * Verifies a ColorRate message.
         * @param message Plain object to verify
         * @returns `null` if valid, otherwise the reason why it is not
         */
        public static verify(message: { [k: string]: any }): (string|null);

        /**
         * Creates a ColorRate message from a plain object. Also converts values to their respective internal types.
         * @param object Plain object
         * @returns ColorRate
         */
        public static fromObject(object: { [k: string]: any }): NtfColorTrend.ColorRate;

        /**
         * Creates a plain object from a ColorRate message. Also converts values to other types if specified.
         * @param message ColorRate
         * @param [options] Conversion options
         * @returns Plain object
         */
        public static toObject(message: NtfColorTrend.ColorRate, options?: $protobuf.IConversionOptions): { [k: string]: any };

        /**
         * Converts this ColorRate to JSON.
         * @returns JSON object
         */
        public toJSON(): { [k: string]: any };

        /**
         * Gets the default type url for ColorRate
         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
         * @returns The default type url
         */
        public static getTypeUrl(typeUrlPrefix?: string): string;
    }
}

/** Represents a ColorBigUser. */
export class ColorBigUser implements IColorBigUser {

    /**
     * Constructs a new ColorBigUser.
     * @param [properties] Properties to set
     */
    constructor(properties?: IColorBigUser);

    /** ColorBigUser nickName. */
    public nickName: string;

    /** ColorBigUser avatar. */
    public avatar: string;

    /** ColorBigUser winChips. */
    public winChips: Long;

    /** ColorBigUser areaId. */
    public areaId: Long[];

    /**
     * Creates a new ColorBigUser instance using the specified properties.
     * @param [properties] Properties to set
     * @returns ColorBigUser instance
     */
    public static create(properties?: IColorBigUser): ColorBigUser;

    /**
     * Encodes the specified ColorBigUser message. Does not implicitly {@link ColorBigUser.verify|verify} messages.
     * @param message ColorBigUser message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: IColorBigUser, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified ColorBigUser message, length delimited. Does not implicitly {@link ColorBigUser.verify|verify} messages.
     * @param message ColorBigUser message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: IColorBigUser, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a ColorBigUser message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns ColorBigUser
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): ColorBigUser;

    /**
     * Decodes a ColorBigUser message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns ColorBigUser
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): ColorBigUser;

    /**
     * Verifies a ColorBigUser message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a ColorBigUser message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns ColorBigUser
     */
    public static fromObject(object: { [k: string]: any }): ColorBigUser;

    /**
     * Creates a plain object from a ColorBigUser message. Also converts values to other types if specified.
     * @param message ColorBigUser
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: ColorBigUser, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this ColorBigUser to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for ColorBigUser
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** Represents a NtfColorMaintain. */
export class NtfColorMaintain implements INtfColorMaintain {

    /**
     * Constructs a new NtfColorMaintain.
     * @param [properties] Properties to set
     */
    constructor(properties?: INtfColorMaintain);

    /** NtfColorMaintain msg. */
    public msg: string;

    /** NtfColorMaintain gold. */
    public gold: Long;

    /**
     * Creates a new NtfColorMaintain instance using the specified properties.
     * @param [properties] Properties to set
     * @returns NtfColorMaintain instance
     */
    public static create(properties?: INtfColorMaintain): NtfColorMaintain;

    /**
     * Encodes the specified NtfColorMaintain message. Does not implicitly {@link NtfColorMaintain.verify|verify} messages.
     * @param message NtfColorMaintain message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encode(message: INtfColorMaintain, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Encodes the specified NtfColorMaintain message, length delimited. Does not implicitly {@link NtfColorMaintain.verify|verify} messages.
     * @param message NtfColorMaintain message or plain object to encode
     * @param [writer] Writer to encode to
     * @returns Writer
     */
    public static encodeDelimited(message: INtfColorMaintain, writer?: $protobuf.Writer): $protobuf.Writer;

    /**
     * Decodes a NtfColorMaintain message from the specified reader or buffer.
     * @param reader Reader or buffer to decode from
     * @param [length] Message length if known beforehand
     * @returns NtfColorMaintain
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): NtfColorMaintain;

    /**
     * Decodes a NtfColorMaintain message from the specified reader or buffer, length delimited.
     * @param reader Reader or buffer to decode from
     * @returns NtfColorMaintain
     * @throws {Error} If the payload is not a reader or valid buffer
     * @throws {$protobuf.util.ProtocolError} If required fields are missing
     */
    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): NtfColorMaintain;

    /**
     * Verifies a NtfColorMaintain message.
     * @param message Plain object to verify
     * @returns `null` if valid, otherwise the reason why it is not
     */
    public static verify(message: { [k: string]: any }): (string|null);

    /**
     * Creates a NtfColorMaintain message from a plain object. Also converts values to their respective internal types.
     * @param object Plain object
     * @returns NtfColorMaintain
     */
    public static fromObject(object: { [k: string]: any }): NtfColorMaintain;

    /**
     * Creates a plain object from a NtfColorMaintain message. Also converts values to other types if specified.
     * @param message NtfColorMaintain
     * @param [options] Conversion options
     * @returns Plain object
     */
    public static toObject(message: NtfColorMaintain, options?: $protobuf.IConversionOptions): { [k: string]: any };

    /**
     * Converts this NtfColorMaintain to JSON.
     * @returns JSON object
     */
    public toJSON(): { [k: string]: any };

    /**
     * Gets the default type url for NtfColorMaintain
     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
     * @returns The default type url
     */
    public static getTypeUrl(typeUrlPrefix?: string): string;
}

/** ErrCode enum. */
export enum ErrCode {
    OK = 0,
    SystemErr = 1,
    ParamErr = 2,
    LoginDiffLoc = 100,
    LoginUserOrPwdErr = 102,
    AccountFrozen = 103,
    AccountBanned = 104,
    RegisterUserExist = 110,
    VersionTooLow = 115,
    Maintain = 120,
    GoldNotEnough = 125,
    NotBetCount = 126,
    NotLeaveRoom = 127,
    TotalBetExceedsLimit = 500,
    AreaBetExceedsLimit = 505
}
