export interface GenericAction {
    type: string;
    _payload: any;
    _meta: any;
}
export declare class ActionCreator<PayloadType, MetaType = undefined> {
    constructor(actionType: string);
    private isString;
    private isObject;
    readonly type: string;
    payload(action: GenericAction): PayloadType;
    unpack(action: GenericAction): {
        payload: PayloadType;
        meta?: MetaType;
    };
    meta(action: GenericAction): MetaType;
    destruct(): {
        [actionType: string]: (_payload: PayloadType, _meta?: MetaType) => object;
    };
    create(_payload: PayloadType, _meta?: MetaType): {
        type: string;
        _payload: PayloadType;
        _meta: MetaType | undefined;
    };
}
