import { MetaAction } from '../types';
import { ActionType as Type, Payload } from './types';
export declare enum Message {
    MISSING_PAYLOAD = "Missing payload",
    INVALID_PAYLOAD_ID = "Id in payload is missing or invalid",
}
export interface ErrorAction extends MetaAction {
    payload: {
        type: typeof Type;
        action: Payload;
    };
}
export declare function invalidPayload<A extends MetaAction>(action: A, message?: string): ErrorAction;
export declare function invalidActionType<A extends MetaAction>(action: A, message?: string): ErrorAction;
export declare function invalidAction<A extends MetaAction>(action: A, message?: string): ErrorAction;
export declare function unexpectedAction<A extends MetaAction>(action: A, message?: string): ErrorAction;
export declare function unsupportedOperationAction<A extends MetaAction>(action: A, message?: string): ErrorAction;
export declare function persistenceAction<A extends MetaAction>(action: A, message?: string): ErrorAction;
export declare function networkAction<A extends MetaAction>(action: A, message?: string): ErrorAction;
export declare function permissionAction<A extends MetaAction>(action: A, message?: string): ErrorAction;
export declare function isErrorEventName(eventName: string): boolean;
export declare class AppBridgeError {
    message: string;
    name: string;
    stack: any;
    action?: Payload;
    type?: string;
    constructor(message: string);
}
export declare function fromAction(message: string, type: string, action?: Payload): AppBridgeError;
export declare function throwError(type: Type | string, action: Payload, message?: string): void;
export declare function throwError(type: Type | string, message: string): void;
