import { h } from 'koishi';
import { WerewolfGame } from '..';
import { Character, Identity } from '../utils';
import { Player } from 'koishi-plugin-lobby';
export declare abstract class Action {
    game: WerewolfGame;
    constructor(game: WerewolfGame);
}
export declare abstract class ExpertAction extends Action {
    abstract identity: Identity.Expert;
    protected character: Character;
    protected player: Player;
    action(): Promise<void>;
    protected retsujitsu(): boolean;
    abstract callback(): Promise<any>;
}
export declare abstract class VoteAction extends Action {
    protected vote(round: number, voters: Character[], candidates: Character[], hint: h, force?: boolean): Promise<Character[]>;
}
