import ToastMessage from '../common/AppToast/ToastMessage';
export declare enum UserStatus {
    ACTIVE = "ACTIVE",
    INACTIVE = "INACTIVE",
    SUPER = "SUPER"
}
export type User = {
    uid: string;
    name: string;
    sub: string;
    picture: string;
    lang: string;
    status: UserStatus;
    permissions: string[];
    login?: string;
};
export type SessionState = {
    logged: User | undefined;
    message: ToastMessage;
    toastLoading: boolean;
    toastLoadingText?: string;
    silentLoading: boolean;
};
export type SessionAction = {
    type: string;
    payload?: unknown;
};
export declare const sessionActionTypes: {
    readonly MESSAGE: "MESSAGE";
    readonly TOAST_LOADING: "TOAST_LOADING";
    readonly SILENT_LOADING: "SILENT_LOADING";
    readonly LOGGED: "LOGGED";
};
export declare const initialSessionState: SessionState;
export declare function sessionReducer(state: SessionState, action: SessionAction): SessionState;
export declare const loggedAction: (data: User | undefined) => SessionAction;
export declare const messageAction: (data: ToastMessage) => SessionAction;
export declare const toastLoadingAction: (data: boolean | {
    loading: boolean;
    text?: string;
}) => SessionAction;
export declare const silentLoadingAction: (data: boolean) => SessionAction;
