export interface Askable { ask: (question: Question) => Promise; } export interface Question { name: string; message: string; } export interface Answer { [key: string]: string; } declare class Asker implements Askable { answers: Answer; constructor(); ask(...question: Question[]): Promise; } export default Asker;