/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 * Object used to track the status of a Table.
 * @export
 * @interface TableStatus
 */
export interface TableStatus {
    /**
     * The Table's state can be one of the following enumerations
     * @type {string}
     * @memberof TableStatus
     */
    state?: TableStatusStateEnum;
    /**
     * The ID of the table.
     * @type {string}
     * @memberof TableStatus
     */
    tableId?: string;
    /**
     * For cases where a query is run against a particualr version of a table, this will be that version.  This field is exclueded for all other cases.
     * @type {number}
     * @memberof TableStatus
     */
    version?: number;
    /**
     * The date-time when the status of this table last changed to PROCESSING.
     * @type {string}
     * @memberof TableStatus
     */
    startedOn?: string;
    /**
     * The date-time when the status of this table last changed.
     * @type {string}
     * @memberof TableStatus
     */
    changedOn?: string;
    /**
     * Whenever the status of a table is rest to PROCESSING, a new reset-token will be issued.  The table status can only be set to AVAILABLE by providing the current reset-token.
     * @type {string}
     * @memberof TableStatus
     */
    resetToken?: string;
    /**
     * Whenever the status of a table is set to AVAILABLE, this will be set to the etag of the last table change applied to the index.
     * @type {string}
     * @memberof TableStatus
     */
    lastTableChangeEtag?: string;
    /**
     * The current message of the progress tracker.
     * @type {string}
     * @memberof TableStatus
     */
    progressMessage?: string;
    /**
     * The progress current value indicates how much progress has been made. For example: If progressTotal = 100; and progressCurrent = 50; then the work is 50% complete.
     * @type {number}
     * @memberof TableStatus
     */
    progressCurrent?: number;
    /**
     * The progress total indicates the total amount of work to complete. For example: If progressTotal = 100; and progressCurrent = 50; then the work is 50% complete.
     * @type {number}
     * @memberof TableStatus
     */
    progressTotal?: number;
    /**
     * When processing fails, this is a one line error message.
     * @type {string}
     * @memberof TableStatus
     */
    errorMessage?: string;
    /**
     * When processing fails, this is the full stack trace of the error.
     * @type {string}
     * @memberof TableStatus
     */
    errorDetails?: string;
    /**
     * The total run time (MS) of the last processing job.
     * @type {number}
     * @memberof TableStatus
     */
    totalTimeMS?: number;
}
/**
 * @export
 */
export declare const TableStatusStateEnum: {
    readonly AVAILABLE: "AVAILABLE";
    readonly PROCESSING: "PROCESSING";
    readonly PROCESSING_FAILED: "PROCESSING_FAILED";
};
export type TableStatusStateEnum = typeof TableStatusStateEnum[keyof typeof TableStatusStateEnum];
/**
 * Check if a given object implements the TableStatus interface.
 */
export declare function instanceOfTableStatus(value: object): value is TableStatus;
export declare function TableStatusFromJSON(json: any): TableStatus;
export declare function TableStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): TableStatus;
export declare function TableStatusToJSON(json: any): TableStatus;
export declare function TableStatusToJSONTyped(value?: TableStatus | null, ignoreDiscriminator?: boolean): any;
