import { LifecycleEvents } from 'koishi-thirdeye';
import { Channel, Session, User } from 'koishi';
import { BaseModule } from '../utility/base-module';
import { DiceProfile } from '../utility/dice-profile';
declare module 'koishi' {
    interface Channel {
        diceProfile: DiceProfile;
    }
    interface User {
        diceProfile: DiceProfile;
    }
    interface Tables {
        diceSkill: DiceSkill;
        diceUserProfile: DiceUserProfile;
    }
}
declare class DiceProfileBase {
    userId: string;
    channelId: string;
}
export declare class DiceUserProfile extends DiceProfileBase {
    currentCharacter: string;
}
export declare class DiceSkill extends DiceProfileBase {
    character: string;
    skillName: string;
    value: number;
}
export declare class DbModule extends BaseModule implements LifecycleEvents {
    private database;
    private model;
    private logger;
    onApply(): void;
    private targetPattern;
    getCurrentCharacter(session: Session): Promise<string>;
    onChar(session: Session, name: string): Promise<string>;
    onSetSkill(session: Session, expr: string): Promise<string>;
    getAllSkills(session: Session): Promise<{
        [k: string]: number;
    }>;
    getSkillValue(session: Session, skillName: string): Promise<number>;
    setRcMode(user: User, channel: Channel, setRule: number, isGlobal: boolean): string;
    setFaces(user: User, channel: Channel, setFaceInArg: number, setFaceInOpt: number, isGlobal: boolean): string;
}
export {};
