import { ChangeDetectorRef, EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core'; import { ToggleSubject } from '@rxap/rxjs'; import { Method } from '@rxap/pattern'; import * as i0 from "@angular/core"; export interface MethodTemplateDirectiveContext { $implicit: ReturnType; } export interface MethodTemplateDirectiveErrorContext { $implicit: Error; message: string; } export declare class MethodTemplateDirective implements OnInit, OnChanges { private readonly template; private readonly viewContainerRef; protected readonly cdr: ChangeDetectorRef; method: Method; parameters?: Parameters; errorTemplate?: TemplateRef; loadingTemplate?: TemplateRef; withoutParameters: boolean; immediately: boolean; executed$: EventEmitter; failure$: EventEmitter; successful$: EventEmitter; /** * true - a remote method call is in progress */ executing$: ToggleSubject; embedded: EventEmitter; constructor(template: TemplateRef>, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef); static ngTemplateContextGuard(dir: MethodTemplateDirective, ctx: any): ctx is MethodTemplateDirectiveContext; ngOnChanges(changes: SimpleChanges): void; ngOnInit(): void; onConfirmed(): Promise; execute(parameters?: Parameters | undefined): Promise; setParameter(parameterKey: Key, value: Parameters[Key]): void; updateParameters(parameters: Partial): void; protected executed(result: any): void; protected failure(error: Error): void; protected successful(result: ReturnType): void; protected renderErrorTemplate(error: Error): void; protected renderTemplate(result: ReturnType): void; private renderLoadingTemplate; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, "[rxapMethod]", ["rxapMethod"], { "method": { "alias": "rxapMethodCall"; "required": false; }; "parameters": { "alias": "rxapMethodParameters"; "required": false; }; "errorTemplate": { "alias": "rxapMethodError"; "required": false; }; "loadingTemplate": { "alias": "rxapMethodLoading"; "required": false; }; "withoutParameters": { "alias": "rxapMethodWithoutParameters"; "required": false; }; "immediately": { "alias": "immediately"; "required": false; }; }, { "executed$": "executed"; "failure$": "failure"; "successful$": "successful"; "executing$": "executing"; "embedded": "embedded"; }, never, never, true, never>; }