import { AfterExecutionMiddlewareOptions, AnonymousAuthMiddlewareOptions, AuthMiddlewareOptions, BeforeExecutionMiddlewareOptions, Client, CorrelationIdMiddlewareOptions, Credentials, ExistingTokenMiddlewareOptions, HttpMiddlewareOptions, HttpUserAgentOptions, LoggerMiddlewareOptions, Middleware, PasswordAuthMiddlewareOptions, QueueMiddlewareOptions, RefreshAuthMiddlewareOptions, TelemetryOptions } from "../types/sdk.js"; export default class ClientBuilder { private projectKey; private authMiddleware; private httpMiddleware; private userAgentMiddleware; private correlationIdMiddleware; private loggerMiddleware; private queueMiddleware; private telemetryMiddleware; private beforeMiddleware; private afterMiddleware; private middlewares; withProjectKey(key: string): ClientBuilder; defaultClient(baseUri: string, credentials: Credentials, oauthUri?: string, projectKey?: string): ClientBuilder; withAuthMiddleware(authMiddleware: Middleware): ClientBuilder; withMiddleware(middleware: Middleware): ClientBuilder; withClientCredentialsFlow(options: AuthMiddlewareOptions): ClientBuilder; withPasswordFlow(options: PasswordAuthMiddlewareOptions): ClientBuilder; withAnonymousSessionFlow(options: AnonymousAuthMiddlewareOptions): ClientBuilder; withRefreshTokenFlow(options: RefreshAuthMiddlewareOptions): ClientBuilder; withExistingTokenFlow(authorization: string, options?: ExistingTokenMiddlewareOptions): ClientBuilder; withHttpMiddleware(options: HttpMiddlewareOptions): ClientBuilder; withUserAgentMiddleware(options?: HttpUserAgentOptions): ClientBuilder; withQueueMiddleware(options: QueueMiddlewareOptions): ClientBuilder; withLoggerMiddleware(options?: LoggerMiddlewareOptions): ClientBuilder; withCorrelationIdMiddleware(options: CorrelationIdMiddlewareOptions): ClientBuilder; withTelemetryMiddleware(options: T): ClientBuilder; withBeforeExecutionMiddleware(options: BeforeExecutionMiddlewareOptions): this; withAfterExecutionMiddleware(options: AfterExecutionMiddlewareOptions): this; build(): Client; } //# sourceMappingURL=ClientBuilder.d.ts.map