import { RequestFactory } from "./RequestFactory"; import { ExecutableRequest } from "./ExecutableRequest"; import { SDKOptions, Token, TypeOptions } from "../Sitefinity"; import { RequestBase, RequestOptionsBaseExtended } from "./RequestBase"; import { CreateRelatedRequestOptions, RequestOptionsBase, PropertyRequestOptions, SingleRelatedItemRequestOptions, CreateRequestOptions, UpdateRequestOptions } from "../Data"; /** * The transaction class is used to group operations that involve data manipulation together and execute them as a single atomic operation. */ export declare class Transaction { id: number; counter: number; requests: TransactionRequest[]; private urlOptions; private factory; constructor(urlOptions: TypeOptions, factory: RequestFactory); upload(parameters: any): number; /** * Adds a POST request to create a single item. */ create(parameters: BatchCreateRequestOptions): number; /** * Adds a POST request to execute an operation on single item. */ operation(parameters: BatchCreateRequestOptions): void; /** * Adds a PATCH request to update a single item. */ update(parameters: BatchUpdateRequestOptions): void; /** * Adds a DELETE request to delete a single item. */ destroy(parameters: BatchSingleItemRequestOptions): void; /** * Adds a DELETE request to delete all of the associated members in the relation property. */ destroyRelated(parameters: BatchPropertyRequestOptions): void; /** * Adds a DELETE request to retrieve the a single entry of the associated members in the relation property. */ destroyRelatedById(parameters: BatchSingleRelatedItemRequestOptions): void; /** * Adds a POST request to add a related item to the property collection. */ createRelated(parameters: BatchCreateRelatedRequestOptions): number; private overrideUrlGeneration; private addRequest; private urlParametersClone; } /** * The batch request class is used for grouping requests into a single batch request to execute on the server. */ export declare class BatchRequest extends ExecutableRequest { counter: number; requests: BatchInnerRequest[]; private factory; private boundary; private responseHeaderRegex; private responseStatusRegex; static constants: { newLine: string; }; constructor(requestOptions: BatchRequestOptionsExtended, token: Token, sdkOptions: SDKOptions); /** * Adds a GET request to retrieve a collection of items. */ get(parameters: BatchRequestOptionsBase): void; /** * Adds a GET request for the retrieval of a single item. */ getSingle(parameters: BatchSingleItemRequestOptions): void; /** * Adds a GET request to get the property of a single item. */ getProperty(parameters: BatchPropertyRequestOptions): void; /** * Adds a GET request to get the related property value of a single item. */ getRelated(parameters: BatchPropertyRequestOptions): void; /** * Adds a GET request to retrieve the related property value of a single item by the id of the related item. */ getRelatedById(parameters: BatchSingleRelatedItemRequestOptions): void; /** * Begins a transaction. */ beginTransaction(): Transaction; /** * Ends a transaction. */ endTransaction(transaction: Transaction): void; getBody(): object; getMethod(): string; getHeaders(): { [key: string]: string; }; buildUrl(): string; protected parseResponse(http: XMLHttpRequest): any; private parseBatchResponse; private getResponseResult; private currentBoundary; private contentType; private readTo; private readLine; private readHeaders; private readResponse; private buildRequestBody; private buildRequest; private buildTransaction; private createDelimeter; private createBoundary; private addRequest; private urlParametersClone; } interface TransactionRequest { id: number; request: RequestBase; } interface BatchInnerRequest { id: number; request: RequestBase | Transaction; } export interface BatchRequestOptionsExtended extends RequestOptionsBaseExtended { factory: RequestFactory; } export interface BatchRequestOptionsBase extends RequestOptionsBase { entitySet: string; } export interface BatchCreateRequestOptions extends CreateRequestOptions { entitySet: string; } export interface BatchUpdateRequestOptions extends UpdateRequestOptions { entitySet: string; } export interface BatchSingleItemRequestOptions extends RequestOptionsBase { entitySet: string; } export interface BatchPropertyRequestOptions extends PropertyRequestOptions { entitySet: string; } export interface BatchSingleRelatedItemRequestOptions extends SingleRelatedItemRequestOptions { entitySet: string; } export interface BatchCreateRelatedRequestOptions extends CreateRelatedRequestOptions { entitySet: string; } export {};