import * as lib from '../lib';
export interface Player extends lib.Player {
    dead: boolean;
    dead_reason?: string;
    target?: string;
}
export interface PlayerInit {
    id: string;
    type: string;
}
export interface RoleInfo<Pl extends Player> {
    role: string;
    roleInit?(p: Pl): Pl;
}
export declare class PlayerInitiator {
    private inits;
    add<Pl extends Player>(info: RoleInfo<Pl>): void;
    initPlayer<Pl extends Player>(obj: PlayerInit): Pl;
}
export declare type Players = lib.Players<Player>;
