import { ChangeDetectorRef, ElementRef } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { TitledDialogService } from '@anglr/common/material';
import { FormModelBuilder, FormModelGroup } from '@anglr/common/forms';
import { RelationsNode, RelationsNodeBase } from '@anglr/dynamic/relations-editor';
import { SyncValuesRelationsOptions } from '../syncValues.options';
import * as i0 from "@angular/core";
/**
 * Sync values node component for negation
 */
export declare class SyncValuesNodeSAComponent extends RelationsNodeBase<SyncValuesRelationsOptions> implements RelationsNode<SyncValuesRelationsOptions> {
    protected dialog: TitledDialogService;
    /**
     * Instance of form that is being used
     */
    protected form: FormGroup<FormModelGroup<SyncValuesRelationsOptions>>;
    constructor(changeDetector: ChangeDetectorRef, element: ElementRef<HTMLElement>, dialog: TitledDialogService, formModelBuilder: FormModelBuilder);
    /**
     * Adds new property
     */
    protected addProperty(): Promise<void>;
    /**
     * Removes property
     * @param index - Index of property to be removed
     */
    protected removeProperty(index: number): void;
    /**
     * Configures sync property
     * @param index - Index of sync property to be configured
     */
    protected configureSyncProperty(index: number): Promise<void>;
    /**
     * @inheritdoc
     */
    protected metadataSet(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SyncValuesNodeSAComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SyncValuesNodeSAComponent, "sync-values-node", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=syncValuesNode.component.d.ts.map