import { ElementRef, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { AbstractControl, RxapFormControl } from '@rxap/forms'; import { ControlContainer, NgControl } from '@angular/forms'; import { ExtractControlFromParentMixin } from '../mixins/extract-control-from-parent.mixin'; import { ExtractFormDefinitionMixin } from '../mixins/extract-form-definition.mixin'; import * as i0 from "@angular/core"; export declare const RXAP_FORM_SYSTEM_SHOW_METADATA = "rxap/form-system/show-function"; export declare const RXAP_FORM_SYSTEM_HIDE_METADATA = "rxap/form-system/hide-function"; export declare const RXAP_FORM_SYSTEM_HIDE_SHOW_OPTIONS = "rxap/form-system/hide-show-options"; export type ControlHideShowFunction = (this: T, control: AbstractControl) => boolean | null; export interface ControlHideShowOptions { /** * Weather the hide/showFunction should be called on root group changes */ rootChange?: boolean; } export declare function UseHideFunction(hideFunction: ControlHideShowFunction, options?: ControlHideShowOptions): (target: any, propertyKey: string) => void; export declare function UseShowFunction(showFunction: ControlHideShowFunction, options?: ControlHideShowOptions): (target: any, propertyKey: string) => void; export interface ControlHideShowDirective extends ExtractControlFromParentMixin, ExtractFormDefinitionMixin { } export declare class ControlHideShowDirective implements OnInit, OnDestroy { private readonly renderer; private readonly elementRef; private readonly parent; private readonly ngControl; controlId?: string; control: RxapFormControl; private subscription; constructor(renderer: Renderer2, elementRef: ElementRef, parent: ControlContainer | null, ngControl: NgControl | null); ngOnInit(): void; ngOnDestroy(): void; private extractOptions; private extractHideFunction; private extractShowFunction; private hide; private show; private reset; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }