declare namespace org { namespace springframework { namespace data { namespace mongodb { /** * {@link MethodInterceptor} implementation looking up and invoking an alternative target method having * {@link ClientSession} as its first argument. This allows seamless integration with the existing code base. *

* The {@link MethodInterceptor} is aware of methods on {@code MongoCollection} that my return new instances of itself * like (eg. {@link com.mongodb.reactivestreams.client.MongoCollection#withWriteConcern(WriteConcern)} and decorate them * if not already proxied. * @param Type of the actual Mongo Database. * @param Type of the actual Mongo Collection. * @author Christoph Strobl * @author Mark Paluch * @since 2.1 */ // @ts-ignore class SessionAwareMethodInterceptor extends java.lang.Object { /** * Create a new SessionAwareMethodInterceptor for given target. * @param session the {#link ClientSession} to be used on invocation. * @param target the original target object. * @param databaseType the MongoDB database type * @param databaseDecorator a {#link ClientSessionOperator} used to create the proxy for an imperative / reactive * {@code MongoDatabase}. * @param collectionType the MongoDB collection type. * @param collectionDecorator a {#link ClientSessionOperator} used to create the proxy for an imperative / reactive * {@code MongoCollection}. * @param target object type. */ // @ts-ignore constructor(session: ClientSession, target: T, sessionType: java.lang.Class, databaseType: java.lang.Class, databaseDecorator: org.springframework.data.mongodb.SessionAwareMethodInterceptor.ClientSessionOperator, collectionType: java.lang.Class, collectionDecorator: org.springframework.data.mongodb.SessionAwareMethodInterceptor.ClientSessionOperator) // @ts-ignore public invoke(methodInvocation: MethodInvocation): any // @ts-ignore decorate(target: java.lang.Object | any): any } } } } }