declare module 'koishi' {
    interface Tables {
        ggcevo_backpack: Backpack;
        ggcevo_sign: SignRecord;
        ggcevo_records: GachaRecord;
        ggcevo_welfare: WelfareClaim;
        ggcevo_activity: ActivityInfo;
        ggcevo_rank: RankRecord;
        ggcevo_punishment: PunishmentRecord;
        ggcevo_exchange: ExchangeLog;
        ggcevo_adminbenefit: AdminBenefit;
        ggcevo_blacklist: Blacklist;
        ggcevo_pk: PKProfile;
        ggcevo_pk_logs: PKLogs;
        ggcevo_weapons: WeaponInventory;
        ggcevo_boss: BossInfo;
        ggcevo_boss_damage: BossDamage;
        ggcevo_wish: WishRecord;
        ggcevo_careers: CareerInfo;
        ggcevo_warehouse: Warehouse;
        ggcevo_tech: TechProgress;
        ggcevo_Mining: MiningRecord;
        ggcevo_task: TaskProgress;
        ggcevo_permissions: Permissions;
        ggcevo_pk_protection: PKProtection;
    }
}
export interface Backpack {
    handle: string;
    itemId: number;
    quantity: number;
}
export interface SignRecord {
    handle: string;
    lastSign: Date;
    monthlyDays: number;
    totalRewards: number;
}
export interface GachaRecord {
    handle: string;
    totalPulls: number;
    pityCounter: number;
    fullPityCount: number;
    hiddenawards: number;
}
export interface WelfareClaim {
    handle: string;
    activity: number;
    lastdate: Date;
}
export interface ActivityInfo {
    id: number;
    name: string;
    description: string;
    itemId: number;
    quantity: number;
    startTime: Date;
    endTime: Date;
    creator: string;
    status: '未开始' | '进行中' | '已结束';
}
export interface RankRecord {
    handle: string;
    name: string;
    rank: number;
    wins: number;
    matches: number;
    rankseason: string;
    Blacklist: boolean;
}
export interface PunishmentRecord {
    id: number;
    name: string;
    handle: string;
    level: string;
    reason: string;
    count: string;
    reviewer: string;
    date: string;
    comment?: string;
}
export interface ExchangeLog {
    userId: string;
    handle: string;
    item: string;
    type: string;
    date: Date;
    GlobalLimit: boolean;
    season: string;
}
export interface AdminBenefit {
    userId: string;
    handle: string;
    signmonth: number;
    lastSign: Date;
}
export interface Blacklist {
    handle: string;
    createdAt: Date;
}
export interface PKProfile {
    handle: string;
    name: string;
    total: number;
    wins: number;
    todayCount: number;
    lastPK: Date;
    enable: boolean;
    lastToggle: Date;
}
export interface PKLogs {
    id: number;
    initiator_handle: string;
    target_handle: string;
    date: Date;
}
export interface WeaponInventory {
    handle: string;
    weaponId: number;
    level: number;
    modificationSlots: number;
    installedMods: string[];
    equipped: boolean;
    comboCount: number;
}
export interface BossInfo {
    name: string;
    groupId: number;
    type: string;
    HP: number;
    tags: string[];
    skills: string[];
    skillStacks: number;
    skillStatus: number;
    statusLayers: number;
    radiationLayers: number;
    coldLayers: number;
    energy: number;
    lastWeaponName: string;
    isActive: boolean;
    respawnTime: Date;
}
export interface BossDamage {
    handle: string;
    playerName: string;
    totalDamage: number;
    attackCount: number;
    bossGroupId: number;
    lastattackDate: Date;
}
export interface WishRecord {
    id: number;
    handle: string;
    wishname: string;
    startTime: Date;
    endTime: Date;
    isused: boolean;
}
export interface CareerInfo {
    handle: string;
    group: string;
    career: string;
    redcrystal: number;
    date: Date;
}
export interface Warehouse {
    handle: string;
    itemId: number;
    quantity: number;
}
export interface TechProgress {
    handle: string;
    techId: number;
    level: number;
}
export interface MiningRecord {
    handle: string;
    startTime: Date;
    totalMined: number;
}
export interface TaskProgress {
    handle: string;
    taskId: number;
    progress: number;
    Completions: number;
}
export interface Permissions {
    handle: string;
    legendarypermissions: number;
    explosiondoorauthority: number;
}
export interface PKProtection {
    id: number;
    handle: string;
    startTime: Date;
    endTime: Date;
    /**
     * 保护状态（建议添加）
     * active - 保护中
     * expired - 已过期
     * canceled - 手动取消
     */
    status: 'active' | 'expired' | 'canceled';
}
