﻿using System.Collections.Generic;
using CalculatorsLibrary.CalculatorsLibrary;

namespace Calculators
{
	/// <summary>
	/// Interface which is used as part of the Observer pattern. This interface is implemented in <see cref="TabbedTemplatePage"/>.
	/// </summary>
	public interface ITabbedPageSubjectInput
	{
        /// <summary>
        /// Register the observer.
        /// </summary>
		void RegisterInput(ITabbedPageObserverInput o);

        /// <summary>
        /// Notify the observer.
        /// </summary>
		void NotifyObserverInput(List<Parameter> p);

        /// <summary>
        /// Method which is raised when the subject is changed.
        /// </summary>
		void InputChanged(ITabbedPageObserverInput o);
	}
}
