import { ChangeDetectorRef, ElementRef } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { RelationsNode, RelationsNodeBase } from '@anglr/dynamic/relations-editor';
import { TitledDialogService } from '@anglr/common/material';
import { FormModelBuilder, FormModelGroup } from '@anglr/common/forms';
import { RestRelationsOptions } from '../rest.options';
import { RestParam } from '../misc/interfaces';
import * as i0 from "@angular/core";
/**
 * Relations node component for rest
 */
export declare class RestNodeSAComponent extends RelationsNodeBase<RestRelationsOptions> implements RelationsNode<RestRelationsOptions> {
    protected dialog: TitledDialogService;
    /**
     * Gets rest parameters
     */
    protected get params(): RestParam[];
    /**
     * Instance of form that is being used
     */
    protected form: FormGroup<FormModelGroup<RestRelationsOptions>>;
    constructor(changeDetector: ChangeDetectorRef, element: ElementRef<HTMLElement>, dialog: TitledDialogService, formModelBuilder: FormModelBuilder);
    /**
     * Adds new parameter
     */
    protected addParam(): Promise<void>;
    /**
     * Removes parameter
     * @param param - Param to be removed
     */
    protected removeParam(param: RestParam): void;
    /**
     * Configures rest parameter
     * @param param - Parameter to be configured
     */
    protected configureRestParameter(param: RestParam): Promise<boolean>;
    /**
     * @inheritdoc
     */
    protected metadataSet(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RestNodeSAComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RestNodeSAComponent, "rest-node", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=restNode.component.d.ts.map