import { Observable } from 'rxjs/Rx';
import { ApiRoot } from 'dotcms-js/dotcms-js';
import { ServerSideTypeModel } from './ServerSideFieldModel';
import { Http } from '@angular/http';
import { ActionModel } from './Rule';
import { LoggerService } from 'dotcms-js/dotcms-js';
export declare class ActionService {
    private loggerService;
    private _typeName;
    private _apiRoot;
    private _http;
    private _actionsEndpointUrl;
    static fromJson(type: ServerSideTypeModel, json: any): ActionModel;
    static toJson(action: ActionModel): any;
    constructor(apiRoot: ApiRoot, http: Http, loggerService: LoggerService);
    makeRequest(childPath?: string): Observable<any>;
    allAsArray(ruleKey: string, keys: string[], ruleActionTypes?: {
        [key: string]: ServerSideTypeModel;
    }): Observable<ActionModel[]>;
    all(ruleKey: string, keys: string[], ruleActionTypes?: {
        [key: string]: ServerSideTypeModel;
    }): Observable<ActionModel>;
    get(ruleKey: string, key: string, ruleActionTypes?: {
        [key: string]: ServerSideTypeModel;
    }): Observable<ActionModel>;
    createRuleAction(ruleId: string, model: ActionModel): Observable<any>;
    updateRuleAction(ruleId: string, model: ActionModel): Observable<ActionModel>;
    remove(ruleId: any, model: ActionModel): Observable<ActionModel>;
    private _getPath(ruleKey, key?);
    private _catchRequestError(operation);
}
