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 { MJAIAgentPromptEntity, MJAIConfigurationEntity } from '@memberjunction/core-entities';
import * as i0 from "@angular/core";
export interface AgentPromptAdvancedSettingsFormData {
    executionOrder: number;
    purpose: string | null;
    configurationID: string | null;
    contextBehavior: 'Complete' | 'Smart' | 'None' | 'RecentMessages' | 'InitialMessages' | 'Custom';
    contextMessageCount: number | null;
    status: 'Active' | 'Inactive' | 'Deprecated' | 'Preview';
}
/**
 * Advanced Settings dialog for AI Agent Prompts.
 * Manages execution order, context behavior, and other advanced prompt configurations.
 */
export declare class AgentPromptAdvancedSettingsDialogComponent implements OnInit, OnDestroy {
    private dialogRef;
    private fb;
    private cdr;
    agentPrompt: MJAIAgentPromptEntity;
    allAgentPrompts: MJAIAgentPromptEntity[];
    private destroy$;
    result: Subject<AgentPromptAdvancedSettingsFormData | null>;
    advancedForm: FormGroup;
    isLoading$: BehaviorSubject<boolean>;
    isSaving$: BehaviorSubject<boolean>;
    configurations$: BehaviorSubject<MJAIConfigurationEntity[]>;
    contextBehaviorOptions: {
        text: string;
        value: string;
        description: 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;
    requiresMessageCount(): boolean;
    getContextBehaviorDescription(value: string): string;
    cancel(): void;
    save(): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AgentPromptAdvancedSettingsDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AgentPromptAdvancedSettingsDialogComponent, "mj-agent-prompt-advanced-settings-dialog", never, {}, {}, never, never, false, never>;
}
//# sourceMappingURL=agent-prompt-advanced-settings-dialog.component.d.ts.map