import { IConfig, User } from '../types/types';
interface ResolveInitBeforeLoadUserOptions {
    config?: IConfig;
    signal?: AbortSignal;
}
export declare const resolveInitBeforeLoadUser: (options?: ResolveInitBeforeLoadUserOptions) => Promise<User | null>;
export declare const applyResolvedUserToStore: (user?: User | null) => void;
/**
 * Re-mints a User with a fresh xmppPassword for the XMPP credentials-
 * provider path (bug #17). Unlike `resolveInitBeforeLoadUser` this
 * ALWAYS hydrates via the chosen auth path even if the cached user
 * already had xmppCredentials — that's the whole point, the old ones
 * are stale.
 *
 * Selection order:
 *   1. `jwtLogin` — re-exchange the JWT via `/users/client`.
 *   2. Anything else (`userLogin` / `customLogin` / store / persisted)
 *      — `tryHydrateViaMy` on the current user, which calls
 *      `/users/my` and, on 401, refreshes the access token via
 *      `/users/login/refresh` and retries.
 *
 * Returns `null` only when nothing usable is available — the caller
 * (xmppProvider) falls back to the cached creds in that case.
 */
export declare const refreshUserCredentialsForXmpp: (config?: IConfig, signal?: AbortSignal) => Promise<User | null>;
export default resolveInitBeforeLoadUser;
//# sourceMappingURL=resolveInitBeforeLoadUser.d.ts.map