import { Document } from "@prismicio/client/types/documents";
import { BBRIUser } from "./BBRIUser";
export declare enum ActionType {
    Authenticate = 0,
    Login = 1,
    CancelLogin = 2,
    Logout = 3,
    LoadTranslations = 4,
    SetFeedbackFormVisibility = 5
}
export interface Authenticate {
    type: ActionType.Authenticate;
    payload: {
        user: BBRIUser;
    };
}
export interface Login {
    type: ActionType.Login;
    payload: {
        onSucces?: () => void;
        onFailed?: () => void;
        onCancelled?: () => void;
    };
}
export interface CancelLogin {
    type: ActionType.CancelLogin;
}
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 | Login | CancelLogin | Logout | LoadTranslations | SetFeedbackFormVisibility;
