import { UmbControllerBase } from '../../../libs/class-api/index.js';
import type { umbHttpClient } from '../http-client/index.js';
export declare class UmbApiInterceptorController extends UmbControllerBase {
    #private;
    /**
     * Binds the default interceptors to the client.
     * This includes the auth response interceptor, the error interceptor and the umb-notifications interceptor.
     * @param {umbHttpClient} client The OpenAPI client to add the interceptor to. It can be any client supporting Response and Request interceptors.
     */
    bindDefaultInterceptors(client: typeof umbHttpClient): void;
    /**
     * Interceptor which checks responses for 401 errors and signals the auth layer to show the login UI.
     * @param {umbHttpClient} client The OpenAPI client to add the interceptor to. It can be any client supporting Response and Request interceptors.
     * @internal
     */
    addAuthResponseInterceptor(client: typeof umbHttpClient): void;
    /**
     * Interceptor which checks responses for 403 errors and displays them as a notification.
     * @param {umbHttpClient} client The OpenAPI client to add the interceptor to. It can be any client supporting Response and Request interceptors.
     * @internal
     */
    addForbiddenResponseInterceptor(client: typeof umbHttpClient): void;
    /**
     * Interceptor which checks responses for the Umb-Generated-Resource header and replaces the value into the response body.
     * @param {umbHttpClient} client The OpenAPI client to add the interceptor to. It can be any client supporting Response and Request interceptors.
     * @internal
     */
    addUmbGeneratedResourceInterceptor(client: typeof umbHttpClient): void;
    /**
     * Interceptor which checks responses for 500 errors and displays them as a notification if any.
     * @param {umbHttpClient} client The OpenAPI client to add the interceptor to. It can be any client supporting Response and Request interceptors.
     * @internal
     */
    addErrorInterceptor(client: typeof umbHttpClient): void;
    /**
     * Interceptor which checks responses for the umb-notifications header and displays them as a notification if any. Removes the umb-notifications from the headers.
     * @param {umbHttpClient} client The OpenAPI client to add the interceptor to. It can be any client supporting Response and Request interceptors.
     * @internal
     */
    addUmbNotificationsInterceptor(client: typeof umbHttpClient): void;
    /**
     * Observes the auth signaler's authorization state to retry GET-requests that received a 401
     * Unauthorized response. Also notifies the user about non-GET requests that received a 401
     * Unauthorized response after re-authentication completes.
     * @internal
     */
    handleUnauthorizedAuthRetry(): void;
}
