import { ACTION_SHEETS_IDS } from "../../utils/enums";
export declare enum TypeKeys {
    SHOW_ACTION_SHEET = "instacar/dialog/SHOW_ACTION_SHEET",
    ADD_SNACKBAR = "instacar/dialog/ADD_SNACKBAR",
    REMOVE_SNACKBAR = "instacar/dialog/REMOVE_SNACKBAR",
    REMOVE_FIRST_SNACKBAR = "instacar/dialog/REMOVE_FIRST_SNACKBAR",
    HIDE_SNACKBAR = "instacar/dialog/HIDE_SNACKBAR"
}
export interface ShowActionSheetAction {
    type: TypeKeys.SHOW_ACTION_SHEET;
    sheetId?: ACTION_SHEETS_IDS;
    show?: boolean;
}
export interface AddSnackbarAction {
    type: TypeKeys.ADD_SNACKBAR;
    message: string;
}
export interface RemoveSnackbarAction {
    type: TypeKeys.REMOVE_SNACKBAR;
    id: number;
}
export interface HideSnackbarAction {
    type: TypeKeys.HIDE_SNACKBAR;
    id: number;
}
export interface RemoveFirstSnackbarAction {
    type: TypeKeys.REMOVE_FIRST_SNACKBAR;
}
export interface Snack {
    message: string;
    id: number;
    open: boolean;
}
export interface DialogState {
    sheetId?: ACTION_SHEETS_IDS;
    sheetVisible?: boolean;
    snackbarMessages: Array<Snack>;
}
export declare type ActionTypes = ShowActionSheetAction | AddSnackbarAction | RemoveSnackbarAction | RemoveFirstSnackbarAction | HideSnackbarAction;
export declare const dialog: (state: DialogState | undefined, action: ActionTypes) => DialogState;
export declare function showActionSheet(sheetId?: ACTION_SHEETS_IDS, show?: boolean): ShowActionSheetAction;
export declare const addSnackbar: (message: string) => AddSnackbarAction;
export declare const removeSnackbar: (id: number) => RemoveSnackbarAction;
export declare const hideSnackbar: (id: number) => HideSnackbarAction;
