/**
 * Auth flow state machine: reducer and state type.
 * Side effects (API calls, token persistence) are performed by the provider; this module is pure.
 */
import type { AuthFlowAction, AuthFlowState, AuthStep, UserType } from '../types';
export type { AuthFlowAction, AuthFlowState, IdentifierType } from '../types';
export declare const INITIAL_STEP: AuthStep;
/**
 * Build a fully-populated `AuthFlowState` for a given step. Exported so
 * the sessionStorage restore path (`readFlowState`) can use it as a
 * merge base — guarantees that a partial / older-schema persisted
 * snapshot can't leak `undefined` into required fields.
 */
export declare function defaultState(step: AuthStep, userType?: UserType): AuthFlowState;
export declare function getInitialAuthFlowState(): AuthFlowState;
export declare function authFlowReducer(state: AuthFlowState, action: AuthFlowAction): AuthFlowState;
