with Data_Pkg;
use Data_Pkg;
with Text_Io;
use Text_Io;

package Prompt_Pkg is
    use Calendar;

    function Project_Name return String;
    function Project_Num return Integer;
    function Task_Numbers (Ss_Record : in Subsystem_Pointer)
                          return Task_Numbers_Type;
    function Task_Number_By_Ac
                (Ss_Record : in Subsystem_Pointer) return Integer;
    function Manager_Name return String;
    function Ele_Description return String;
    procedure Display_Element_Data;
    procedure Existing_Ele_Key
                 (Abort_Proc : out Boolean; Key : out El_Key_Type);
    function New_Ele_Key return El_Key_Type;
    procedure Display_Subsystem_Data;
    procedure Existing_Subsys_Name
                 (Abort_Proc : out Boolean; Key : out Ss_Name_Type);
    function New_Subsys_Name return Ss_Name_Type;
    procedure Display_Personnel_Data;
    procedure Existing_Person_Initials
                 (Abort_Proc : out Boolean; Key : out Pr_Init_Type);
    function New_Person_Initials return Pr_Init_Type;
    procedure Display_Milestone_Data;
    procedure Existing_Milstone_Number
                 (Abort_Proc : out Boolean; Key : out Ms_Num_Type);
    function New_Milstone_Number return Ms_Num_Type;
    function Milestone_Completion_Number
                (Default : in Ms_Num_Type) return Ms_Num_Type;
    function Element_Priority (Default : in Ms_Num_Type) return Ms_Num_Type;
    function Current_Size_Est return Integer;
    function Orig_Size_Est (Default : in Integer := 0) return Integer;
    function Update_Current_Size (Old_Size : in Integer) return Integer;
    function Complexity_Factor return Float;
    function Activ_Completeness return Activity_Phase_Percent;
    function Update_Activ_Completeness
                (Old_Pct_Complete : in Activity_Phase_Percent)
                return Activity_Phase_Percent;
    procedure Display_Activity_Data;
    procedure Existing_Activ_Name
                 (Abort_Proc : out Boolean; Key : out Ac_Name_Type);
    function New_Activ_Name return Ac_Name_Type;
    function Activ_Priority return Integer;
    function Consider_Ac_In_Calc return Boolean;
    function Ms_Description return String;
    function Persons_Name return String;
    function Pr_Production_Rate return Float;
    function Pr_Hrs_Per_Week return Integer;
    function Percent return Float;
    function Date return Date_Type;
end Prompt_Pkg;