import { Observable } from 'rxjs/Observable';

export class WizardStepServiceData {
    name: string;
    value: string | number;
}

export abstract class WizardStepService {
    abstract show(): void;
    abstract markAsTouched(): void;
    abstract hide(): void;
    abstract get valid(): boolean;
    abstract get stepName(): string[];
    abstract loadData(value: {[key: string]: string}): void;
    abstract saveData(): Array<{[key: string]: string}>;
    abstract set changeCallback(handler: { (): void });
}
