import { TGetOperationStatusResp, TTableSchema } from '../../thrift/TCLIService_types'; import Status from '../dto/Status'; export type OperationStatusCallback = (progress: TGetOperationStatusResp) => unknown; export interface WaitUntilReadyOptions { progress?: boolean; callback?: OperationStatusCallback; } export interface FinishedOptions extends WaitUntilReadyOptions { } export interface FetchOptions extends WaitUntilReadyOptions { maxRows?: number; } export interface GetSchemaOptions extends WaitUntilReadyOptions { } export default interface IOperation { /** * Fetch a portion of data */ fetchChunk(options?: FetchOptions): Promise>; /** * Fetch all the data */ fetchAll(options?: FetchOptions): Promise>; /** * Request status of operation * * @param progress */ status(progress?: boolean): Promise; /** * Cancel operation */ cancel(): Promise; /** * Close operation */ close(): Promise; /** * Waits until operation is finished */ finished(options?: FinishedOptions): Promise; /** * Check if operation hasMoreRows */ hasMoreRows(): Promise; /** * Fetch schema */ getSchema(options?: GetSchemaOptions): Promise; }