import { OperationType } from "../../types/Operation.type"; import { IRequestMetadata } from "../../types/RequestMetadata.type"; import { KeyValuePairType } from "../../types/KeyValuePair.type"; import { KeyValueType } from "../../types/KeyValue.type"; import { StateQueryType } from "../../types/state/StateQuery.type"; import { StateQueryResponseType } from "../../types/state/StateQueryResponse.type"; import { StateGetBulkOptions } from "../../types/state/StateGetBulkOptions.type"; import { StateSaveResponseType } from "../../types/state/StateSaveResponseType"; import { StateSaveOptions } from "../../types/state/StateSaveOptions.type"; import { StateDeleteOptions } from "../../types/state/StateDeleteOptions.type"; import { StateGetOptions } from "../../types/state/StateGetOptions.type"; export default interface IClientState { save(storeName: string, stateObjects: KeyValuePairType[], options?: StateSaveOptions): Promise; get(storeName: string, key: string, options?: Partial): Promise; getBulk(storeName: string, keys: string[], options?: StateGetBulkOptions): Promise; delete(storeName: string, key: string, options?: Partial): Promise; transaction(storeName: string, operations?: OperationType[], metadata?: IRequestMetadata | null): Promise; query(storeName: string, query: StateQueryType): Promise; }