import { ViewContainerRef } from '@angular/core';
import { MJDialogService } from '@memberjunction/ng-ui-components';
import { NewAgentConfig } from './new-agent-dialog.component';
import { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export interface NewAgentDialogResult {
    agent?: MJAIAgentEntityExtended;
    action: 'created' | 'cancelled';
}
export declare class NewAgentDialogService {
    private dialogService;
    private dialogRef;
    constructor(dialogService: MJDialogService);
    /**
     * Opens the New Agent dialog
     * @param config Configuration for the dialog
     * @param viewContainerRef Optional ViewContainerRef for proper positioning
     * @returns Observable that emits the result when dialog closes
     */
    open(config?: NewAgentConfig, viewContainerRef?: ViewContainerRef): Observable<NewAgentDialogResult>;
    /**
     * Opens the dialog to create a top-level agent
     */
    openForNewAgent(viewContainerRef?: ViewContainerRef): Observable<NewAgentDialogResult>;
    /**
     * Opens the dialog to create a sub-agent
     */
    openForSubAgent(parentAgentId: string, parentAgentName: string, viewContainerRef?: ViewContainerRef): Observable<NewAgentDialogResult>;
    /**
     * Closes the currently open dialog
     */
    close(): void;
    /**
     * Checks if a dialog is currently open
     */
    isOpen(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<NewAgentDialogService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NewAgentDialogService>;
}
//# sourceMappingURL=new-agent-dialog.service.d.ts.map