export type AuthUser = {
    id: number;
    token: string;
    role: 'GUEST';
} | {
    id: number;
    email: string;
    nickname: string;
    token: string;
    role: 'SUPERADMIN' | 'ADMIN' | 'USER';
};
export interface AuthState {
    user: AuthUser | null;
    token: string | null;
    loggedIn: boolean;
}
export interface AuthResult {
    ok: boolean;
    user?: AuthUser;
    error?: string;
}
/** Matches the shape of window.localStorage / window.sessionStorage. null = memory-only. */
export interface AuthStorage {
    getItem(key: string): string | null;
    setItem(key: string, value: string): void;
    removeItem(key: string): void;
}
export interface AuthManagerOptions {
    baseURL: string;
    storage: AuthStorage | null;
}
//# sourceMappingURL=types.d.ts.map