import { Document } from "@prismicio/client/types/documents";
import { BBRIUser } from "./BBRIUser";
export declare enum ActionType {
    Authenticate = 0,
    SetUseRedirect = 1,
    Login = 2,
    Logout = 3,
    LoadTranslations = 4,
    SetFeedbackFormVisibility = 5
}
export interface Authenticate {
    type: ActionType.Authenticate;
    payload: {
        user: BBRIUser;
        isAdmin: boolean;
    };
}
export interface SetUseRedirect {
    type: ActionType.SetUseRedirect;
    payload: {
        useRedirect: boolean;
    };
}
export interface Login {
    type: ActionType.Login;
    payload: {
        onSuccess?: () => void;
    };
}
export interface Logout {
    type: ActionType.Logout;
}
export interface LoadTranslations {
    type: ActionType.LoadTranslations;
    payload: {
        doc: Document;
    };
}
export interface SetFeedbackFormVisibility {
    type: ActionType.SetFeedbackFormVisibility;
    payload: {
        visible: boolean;
    };
}
export declare type BBRIActions = Authenticate | SetUseRedirect | Login | Logout | LoadTranslations | SetFeedbackFormVisibility;
