import { ResSyncBtn } from '../shared/protocols/PtlSyncBtn';
import { payLog } from '../shared/protocols/pay/PtlGetList';
import { rankType } from '../shared/protocols/rank/PtlOpen';
import { CollectionChatLog } from './collection_chatlog';
import { CollectionActionLog } from './collection_actionLog';
import { CollectionCardlog } from './collection_cardlog';
import { CollectionCllsCrossGroup, CollectionCllsCrossUser } from './collection_clsl';
import { CollectionCrosskv } from './collection_crosskv';
import { CollectionDayPay } from './collection_dayPay';
import { CollectionDxlt } from './collection_dxlt';
import { CollectionEmail } from './collection_email';
import { CollectionEquip } from './collection_equip';
import { CollectionEvent } from './collection_event';
import { CollectionFriend } from './collection_friend';
import { CollectionGanHai } from './collection_ganhai';
import { CollectionGBTX } from './collection_gbtx';
import { CollectionGongHui, CollectionGongHuiFb, CollectionGongHuiUser } from './collection_gonghui';
import { CollectionHbzbUserCross, CollectionHbzbUserZbs } from './collection_hbzb_user_cross';
import { CollectionHero } from './collection_hero';
import { CollectionItem } from './collection_item';
import { CollectionJJC } from './collection_jjc';
import { CollectionApiWeiXiuChang } from './collection_weixiuchang';

import {
    CollectionKbzzApplyUser,
    CollectionKbzzGroupLog,
    CollectionKbzzGroupTroop,
    CollectionKbzzGroupUser
} from './collection_kbzz';
import { CollectionKuangDong } from './collection_kuangdong';
import { CollectionLingZhuLaiXi } from './collection_lingzhulaixi';
import { CollectionMingdao } from './collection_mingdao';
import { CollectionPlayerInfo } from './collection_palyerInfo';
import { CollectionPata } from './collection_pata';
import { CollectionPeiJian } from './collection_peijian';
import { CollectionPlayAttr } from './collection_playattr';
import { CollectionRank, CollectionRankList } from './collection_rank';
import { CollectionRecord } from './collection_record';
import { CollectionSchedler } from './collection_scheduler';
import { CollectionShiwu } from './collection_shiwu';
import { CollectionSlzdGh, CollectionSlzdUser, CollectionSlzdStash } from './collection_slzd';
import { CollectionTanXian } from './collection_tanxian';
import { CollectionTask } from './collection_task';
import { CollectionUser } from './collection_user';
import { CollectionWanted } from './collection_wanted';
import { CollectionWjjl } from './collection_wjjl';
import { CollectionWzryCross } from './collection_wzry_user_cross';
import { CollectionWzryCrossFight } from './collection_wzryfight';
import { CollectionWzryCrossFightLOG } from './collection_wzryfightlOG';
import { CollectionWzryCrossWiner } from './collection_wzrywiner';
import { CollectionXstask } from './collection_xstask';
import { CollectionZhanLing } from './collection_zhanling';
import { CollectionHdinfo } from './collection_hdinfo';
import { CollectionGiftLog } from "./collection_giftLog";
import { CollectionLoginLog } from "./collection_loginLog";
import { CollectionPayLogNew } from "./collection_payLogNew";
import { CollectionApiCount } from "./collection_apiCount";
import { CollectionPlayerBehavior } from "./collection_player_behavior";
import { CollectionRmbuse } from "./collection_rmbuse";
import { CollectionFightLog } from "./collection_fightLog";
import { CollectionShop } from "./collection_shop";
import { CollectionPushGift } from "./collection_pushgift";

export type MongodbCollections = {
    user: CollectionUser;
    item: Omit<CollectionItem, '_id'>;
    hero: Omit<CollectionHero, '_id'>;
    equip: Omit<CollectionEquip, '_id'>;
    shiwu: Omit<CollectionShiwu, '_id'>;
    xstask: Omit<CollectionXstask, '_id'>;
    email: Omit<CollectionEmail, '_id'> & { ttl: Date; };
    pata: Omit<CollectionPata, '_id'>;
    gbtx: CollectionGBTX & { uid: string; };
    tanxian: Omit<CollectionTanXian, 'fastGuaJiNum'> & { uid: string; };
    cardlog: Omit<CollectionCardlog, '_id'>;
    dxlt: CollectionDxlt & { uid: string; };
    playerInfo: CollectionPlayerInfo<any>;
    rank: {
        type: rankType;
        rankList: CollectionRank[];
    };
    rankList: CollectionRankList;
    jjc: CollectionJJC & { uid: string; };
    scheduler: CollectionSchedler;
    playattr: CollectionPlayAttr;
    gonghui: Omit<CollectionGongHui, '_id'>;
    gonghuiUser: CollectionGongHuiUser & { uid: string; };
    gonghuiFb: CollectionGongHuiFb;
    task: CollectionTask;
    actionLog: CollectionActionLog<any>;
    event: CollectionEvent<any>;
    syncBtns: ResSyncBtn & { uid: string; };
    payLog: k_v<payLog[]> & { uid: string; };
    friend: CollectionFriend;
    chat: { type: string, list: any[]; };
    chatLog: CollectionChatLog;
    hbzb_user_cross: CollectionHbzbUserCross;
    hbzb_user_zbs: CollectionHbzbUserZbs;
    record: CollectionRecord<any>;
    slzdGh: CollectionSlzdGh;
    slzdUser: CollectionSlzdUser;
    slzdStash: CollectionSlzdStash;
    ganhai: CollectionGanHai;
    dayPay: CollectionDayPay;
    wanted: CollectionWanted;
    peijian: CollectionPeiJian;
    kbzzApplyUser: CollectionKbzzApplyUser;
    kbzzGroupUser: CollectionKbzzGroupUser;
    kbzzGroupTroop: CollectionKbzzGroupTroop;
    kbzzGroupLog: CollectionKbzzGroupLog;
    ghbzcjlog: { type: string, list: any[]; };
    kuangdong: CollectionKuangDong & { ttl: Date; };
    mingdao: CollectionMingdao & { uid: string; };
    wjjl: CollectionWjjl & { uid: string; };
    any: { type: string, data: any[]; };
    zhanling: CollectionZhanLing;

    clslCrossGroup: CollectionCllsCrossGroup;
    clslCrossUser: CollectionCllsCrossUser & { group: string };
    lingzhulaixi: CollectionLingZhuLaiXi;
    wzry_user_cross: CollectionWzryCross;
    wzry_fight: CollectionWzryCrossFight;
    wzry_fight_log: CollectionWzryCrossFightLOG;
    wzrywiner: CollectionWzryCrossWiner;
    crosskv: CollectionCrosskv<any>;
    hdinfo: CollectionHdinfo;
    giftLog: CollectionGiftLog;
    loginLog: CollectionLoginLog;
    payLogNew: CollectionPayLogNew;
    apiCount: CollectionApiCount;
    weixiuchang: CollectionApiWeiXiuChang;
    player_behavior: CollectionPlayerBehavior
    rmbuse: CollectionRmbuse
    fightLog: CollectionFightLog
    shop: CollectionShop
    pushgift: CollectionPushGift

    huodong_user: CollectionUser;
};