/**
 * 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.
 */
import type { SnapshotRequest } from './SnapshotRequest';
import type { TableUpdateRequest } from './TableUpdateRequest';
/**
 * An AsynchronousRequestBody to used make multiple changes to a table or view as a single 'transaction'. All changes will either succeed or fail as a unit.
 * @export
 * @interface TableUpdateTransactionRequest
 */
export interface TableUpdateTransactionRequest {
    /**
     *
     * @type {string}
     * @memberof TableUpdateTransactionRequest
     */
    concreteType: TableUpdateTransactionRequestConcreteTypeEnum;
    /**
     *
     * @type {string}
     * @memberof TableUpdateTransactionRequest
     */
    entityId?: string;
    /**
     * List of changes that describes schema and/or row changes to a table. For a view the changes are eventually consistent.
     * @type {Array<TableUpdateRequest>}
     * @memberof TableUpdateTransactionRequest
     */
    changes?: Array<TableUpdateRequest>;
    /**
     * When set to 'true', a snapshot of the table or view will be created and a new version of the entity will be persisted. For a table the snapshot is created after any change from this transaction request are applied to the table. Views do not support changes in the request when a snapshot is created.
     * @type {boolean}
     * @memberof TableUpdateTransactionRequest
     */
    createSnapshot?: boolean;
    /**
     *
     * @type {SnapshotRequest}
     * @memberof TableUpdateTransactionRequest
     */
    snapshotOptions?: SnapshotRequest;
}
/**
 * @export
 */
export declare const TableUpdateTransactionRequestConcreteTypeEnum: {
    readonly org_sagebionetworks_repo_model_table_TableUpdateTransactionRequest: "org.sagebionetworks.repo.model.table.TableUpdateTransactionRequest";
};
export type TableUpdateTransactionRequestConcreteTypeEnum = typeof TableUpdateTransactionRequestConcreteTypeEnum[keyof typeof TableUpdateTransactionRequestConcreteTypeEnum];
/**
 * Check if a given object implements the TableUpdateTransactionRequest interface.
 */
export declare function instanceOfTableUpdateTransactionRequest(value: object): value is TableUpdateTransactionRequest;
export declare function TableUpdateTransactionRequestFromJSON(json: any): TableUpdateTransactionRequest;
export declare function TableUpdateTransactionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): TableUpdateTransactionRequest;
export declare function TableUpdateTransactionRequestToJSON(json: any): TableUpdateTransactionRequest;
export declare function TableUpdateTransactionRequestToJSONTyped(value?: TableUpdateTransactionRequest | null, ignoreDiscriminator?: boolean): any;
