

import java.io.OutputStream;
import java.io.InputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
/* Jdl */
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.time.Instant;//Timestamp in cut-filename

import vo.parameter.*;

public interface Vlkb
{
   public void doFile(String relPathname, int hdunum,
         Pos pos, Band band, Time time, Pol pol,
         String cutAbsPathname)
         throws IOException, InterruptedException;

   public void doFile(String relPathname, int hdunum,
         String pixels, String cutAbsPathname)
         throws IOException, InterruptedException;



   public MCutResult doMCutout(String jdlJson, String workDir)
      throws IOException, InterruptedException;


   public CutResult doMerge(String[] idArr, Coord coord, boolean countNullValues)
      throws FileNotFoundException, IOException;


	// misc

	NullValueCount doCountNullValues(String absPathname, int hdunum)
      throws IOException, InterruptedException;

	// deprecated - used only in VlkbAmqp
   public CutResult doFileAmqp(String relPathname, int hdunum,
         Pos pos, Band band, Time time, Pol pol,
         boolean countNullValues, FitsCard[] extraCards,
			String cutAbsPathname)
         throws IOException, InterruptedException;
}

