import { AccountInfo, Logger, PerformanceCallbackFunction, IPerformanceClient, AccountFilter } from "@azure/msal-common/browser";
import { RedirectRequest } from "../request/RedirectRequest.js";
import { PopupRequest } from "../request/PopupRequest.js";
import { SilentRequest } from "../request/SilentRequest.js";
import { SsoSilentRequest } from "../request/SsoSilentRequest.js";
import { EndSessionRequest } from "../request/EndSessionRequest.js";
import { ApiId, WrapperSKU } from "../utils/BrowserConstants.js";
import { INavigationClient } from "../navigation/INavigationClient.js";
import { EndSessionPopupRequest } from "../request/EndSessionPopupRequest.js";
import { ITokenCache } from "../cache/ITokenCache.js";
import { AuthorizationCodeRequest } from "../request/AuthorizationCodeRequest.js";
import { BrowserConfiguration } from "../config/Configuration.js";
import { AuthenticationResult } from "../response/AuthenticationResult.js";
import { EventCallbackFunction } from "../event/EventMessage.js";
import { ClearCacheRequest } from "../request/ClearCacheRequest.js";
import { InitializeApplicationRequest } from "../request/InitializeApplicationRequest.js";
import { EventType } from "../event/EventType.js";
export interface IController {
constructor(request?: InitializeApplicationRequest, isBroker?: boolean): Promise<void>;
constructor(request: PopupRequest): Promise<AuthenticationResult>;
constructor(request: RedirectRequest): Promise<void>;
constructor(silentRequest: SilentRequest): Promise<AuthenticationResult>;
constructor(request: AuthorizationCodeRequest): Promise<AuthenticationResult>;
constructor(request: PopupRequest | SilentRequest | SsoSilentRequest, apiId: ApiId, accountId?: string): Promise<AuthenticationResult>;
constructor(callback: EventCallbackFunction, eventTypes?: Array<EventType>): string | null;
constructor(callbackId: string): void;
constructor(callback: PerformanceCallbackFunction): string;
constructor(callbackId: string): boolean;
constructor(): void;
constructor(): void;
constructor(accountFilter: AccountFilter): AccountInfo | null;
constructor(homeAccountId: string): AccountInfo | null;
constructor(localId: string): AccountInfo | null;
constructor(userName: string): AccountInfo | null;
constructor(accountFilter?: AccountFilter): AccountInfo[];
constructor(hash?: string): Promise<AuthenticationResult | null>;
constructor(request?: PopupRequest): Promise<AuthenticationResult>;
constructor(request?: RedirectRequest): Promise<void>;
constructor(logoutRequest?: EndSessionRequest): Promise<void>;
constructor(logoutRequest?: EndSessionRequest): Promise<void>;
constructor(logoutRequest?: EndSessionPopupRequest): Promise<void>;
constructor(logoutRequest?: ClearCacheRequest): Promise<void>;
constructor(request: SsoSilentRequest): Promise<AuthenticationResult>;
constructor(): ITokenCache;
constructor(): Logger;
constructor(logger: Logger): void;
constructor(account: AccountInfo | null): void;
constructor(): AccountInfo | null;
constructor(sku: WrapperSKU, version: string): void;
constructor(navigationClient: INavigationClient): void;
    /** @internal */
constructor(): BrowserConfiguration;
constructor(result: AuthenticationResult, request: SilentRequest | SsoSilentRequest | RedirectRequest | PopupRequest): Promise<void>;
    /** @internal */
constructor(): boolean;
    /** @internal */
constructor(): IPerformanceClient;
}
//# sourceMappingURL=IController.d.ts.map