// This file is created by egg-ts-helper@1.25.8
// Do not modify this file!!!!!!!!!

import 'egg';
type AnyClass = new (...args: any[]) => any;
type AnyFunc<T = any> = (...args: any[]) => T;
type CanExportFunc = AnyFunc<Promise<any>> | AnyFunc<IterableIterator<any>>;
type AutoInstanceType<T, U = T extends CanExportFunc ? T : T extends AnyFunc ? ReturnType<T> : T> = U extends AnyClass ? InstanceType<U> : U;
import ExportActivity from '../../../app/service/Activity';
import ExportGame from '../../../app/service/Game';
import ExportGmUser from '../../../app/service/GmUser';
import ExportLog from '../../../app/service/Log';
import ExportMail from '../../../app/service/Mail';
import ExportTest from '../../../app/service/Test';
import ExportUtils from '../../../app/service/Utils';
import ExportUsers from '../../../app/service/users';

declare module 'egg' {
  interface IService {
    activity: AutoInstanceType<typeof ExportActivity>;
    game: AutoInstanceType<typeof ExportGame>;
    gmUser: AutoInstanceType<typeof ExportGmUser>;
    log: AutoInstanceType<typeof ExportLog>;
    mail: AutoInstanceType<typeof ExportMail>;
    test: AutoInstanceType<typeof ExportTest>;
    utils: AutoInstanceType<typeof ExportUtils>;
    users: AutoInstanceType<typeof ExportUsers>;
  }
}
