import { OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';
import { WindowRef } from '@progress/kendo-angular-dialog';
import { Subject, BehaviorSubject } from 'rxjs';
import { MJAIAgentTypeEntity } from '@memberjunction/core-entities';
import { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
import * as i0 from "@angular/core";
export interface SubAgentAdvancedSettingsFormData {
    executionOrder: number;
    executionMode: 'Sequential' | 'Parallel';
    status: 'Active' | 'Disabled' | 'Pending';
    typeID: string | null;
    exposeAsAction: boolean;
}
/**
 * Advanced Settings dialog for Sub-Agents.
 * Manages execution order, execution mode, and other advanced sub-agent configurations.
 */
export declare class SubAgentAdvancedSettingsDialogComponent implements OnInit, OnDestroy {
    private dialogRef;
    private fb;
    private cdr;
    subAgent: MJAIAgentEntityExtended;
    allSubAgents: MJAIAgentEntityExtended[];
    private destroy$;
    result: Subject<SubAgentAdvancedSettingsFormData | null>;
    advancedForm: FormGroup;
    isLoading$: BehaviorSubject<boolean>;
    isSaving$: BehaviorSubject<boolean>;
    agentTypes$: BehaviorSubject<MJAIAgentTypeEntity[]>;
    executionModeOptions: {
        text: string;
        value: string;
        description: string;
        icon: string;
    }[];
    statusOptions: {
        text: string;
        value: string;
    }[];
    executionOrderError: string | null;
    constructor(dialogRef: WindowRef, fb: FormBuilder, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    private initializeForm;
    private setupValidationLogic;
    private validateExecutionOrder;
    private loadDropdownData;
    isFieldInvalid(fieldName: string): boolean;
    getFieldError(fieldName: string): string;
    hasExecutionOrderError(): boolean;
    getExecutionModeIcon(mode: string): string;
    getExecutionModeDescription(mode: string): string;
    cancel(): void;
    save(): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SubAgentAdvancedSettingsDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SubAgentAdvancedSettingsDialogComponent, "mj-sub-agent-advanced-settings-dialog", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=sub-agent-advanced-settings-dialog.component.d.ts.map