import { Context } from 'koishi';
import { Config } from '.';
declare module 'koishi' {
    interface Tables {
        jrys: _UserFortune;
    }
}
export interface _UserFortune {
    id: number;
    name: string;
    time: Date;
    exp: number;
    signCount: number;
}
export interface LevelInfo {
    level: number;
    levelExp: number;
    levelName: string;
    levelColor: string;
}
export declare const defaultLevelInfo: {
    level: number;
    levelExp: number;
    levelName: string;
    levelColor: string;
}[];
export interface FortuneInfo {
    luck: number;
    desc: string;
}
export declare const defaultFortuneInfo: {
    luck: number;
    desc: string;
}[];
export declare const initDatabase: (ctx: Context) => void;
export declare class Signin {
    ctx: Context;
    cfg: any;
    constructor(context: Context, config: Config);
    callSignin(uid: number, userid: string, luck: number): Promise<{
        status: number;
        getExp: number;
        allExp: number;
        getCoin: number;
        signTime: Date;
        count: number;
    } | {
        status: number;
        getExp?: undefined;
        allExp?: undefined;
        getCoin?: undefined;
        signTime?: undefined;
        count?: undefined;
    }>;
    getLevelInfo(exp: number, info: LevelInfo[]): {
        levelInfo: LevelInfo;
        nextExp: string | number;
    };
    getFortuneInfo(luck: number, info: FortuneInfo[]): string;
    getGreeting(hour: number): string;
}
