import { UseNavigateResult } from '@tanstack/react-router';
import { Session } from '../../../shared/types';
export type SessionStore = {
    isLoading: boolean;
    isFirstLoadCompleted: boolean;
    currentSession: Session | undefined;
    loadSession: ({ domain, ROLE_PRIORITY, navigate, refresh, }: LoadSession) => Promise<Session | undefined>;
    setCurrentSession: ({ domain, session, isRemember, isNotSecure }: SetCurrentSession) => void;
    removeSession: ({ domain, navigate }: RemoveSession) => void;
};
interface LoadSession {
    domain: string;
    ROLE_PRIORITY: Record<string, number>;
    isNotSecure?: boolean;
    navigate: UseNavigateResult<string>;
    refresh: SessionRefreshType;
}
interface LoadSessionData extends Session {
    cities?: string[];
    isAllCities?: boolean;
}
export type SessionRefreshType = () => Promise<{
    status?: number;
    data: {
        data?: LoadSessionData;
    };
}>;
interface SetCurrentSession {
    domain: string;
    session: Session;
    isRemember: boolean;
    isNotSecure?: boolean;
}
interface RemoveSession {
    domain: string;
    navigate: UseNavigateResult<string>;
}
export {};
