import type AuthStateManager from '../../auth/domain/services/auth-state-manager';
import type AuthenticationSessionManager from '../../auth/domain/services/authentication-session-manager';
import type { AuthState } from '../../auth/domain/models/auth-state';
import type { AuthClientProps } from '../../auth/auth-module';
import type UserIdentity from '../../auth/domain/models/user-identity';
export default class AuthClientUseCase {
    private stateManager;
    private sessionManager;
    constructor(stateManager: AuthStateManager, sessionManager: AuthenticationSessionManager);
    getState(): AuthState;
    subscribe(listener: (state: AuthState) => void): () => void;
    /** Checks the current session and signs in if active. Call once during app init. */
    init(): Promise<void>;
    login(client: AuthClientProps): Promise<void>;
    logout(): Promise<void>;
    getIdentity(): Promise<UserIdentity | null>;
}
