import * as mongoDB from "mongodb";
import { MongoObject } from "./MongoObject";
import { DataValueType } from "./type/DataValueType";
import { MatchmakingTicketMember } from "./MatchmakingTicketMember";
export declare class MatchmakingTicket extends MongoObject {
    private static readonly _ticketId;
    private static readonly _queueName;
    private static readonly _creatorId;
    private static readonly _giveUpAfterSeconds;
    private static readonly _userIds;
    private static readonly _members;
    private static readonly _status;
    private static readonly _matchId;
    private static readonly _tsCreate;
    static readonly DOT: string;
    private readonly ticketId;
    private readonly queueName;
    private readonly creatorId;
    private readonly giveUpAfterSeconds;
    private readonly userIds;
    private readonly members;
    private readonly tsCreate;
    private status;
    private matchId;
    constructor(result: mongoDB.WithId<mongoDB.Document>, collection: mongoDB.Collection<mongoDB.Document>);
    private setDocumentMatchmakingTicket;
    getTicketId(): string;
    getQueueName(): string;
    getCreatorId(): string;
    getGiveUpAfterSeconds(): number;
    getUserIds(): Array<string>;
    getMembers(): Array<MatchmakingTicketMember>;
    setMemberStatus(userId: string, status: number): void;
    setMemberAttribute(userId: string, attribute: {
        [k: string]: DataValueType;
    }, attributeForQueue: {
        [k: string]: DataValueType;
    }): void;
    getMember(userId: string): MatchmakingTicketMember;
    hasMember(userId: string): boolean;
    getTsCreate(): number;
    getStatus(): number;
    setStatus(status: number): void;
    getMatchId(): string;
    setMatchId(matchId: string): void;
}
