import { EmitterData } from '../types'; import EmitterOptions from './options'; import State from './state'; import Workspace from './workspace'; export interface EmitterLike { emit(workspace: Workspace, data: EmitterData): Promise; generate(state: State, workspace: Workspace): Promise; } declare abstract class Emitter implements EmitterLike { protected options: O; constructor(options: O); emit(workspace: W, data: EmitterData): Promise; protected validateConditions(): Promise<[true] | [false, string]>; protected prepare(state: State, workspace: W): Promise; protected initializeState(data: EmitterData): Promise; abstract generate(state: State, workspace: W): Promise; protected validateResult(): Promise; } export default Emitter; //# sourceMappingURL=index.d.ts.map