/**
 * @fileoverview MCP Connection Dialog Component
 *
 * Dialog for creating and editing MCP server connections.
 */
import { EventEmitter, OnInit, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { MJCredentialTypeEntity } from '@memberjunction/core-entities';
import { MCPConnectionData, MCPServerData } from '../mcp-dashboard.component';
import { CredentialDialogComponent, CredentialDialogResult } from '@memberjunction/ng-credentials';
import * as i0 from "@angular/core";
/**
 * Dialog result interface
 */
export interface ConnectionDialogResult {
    saved: boolean;
    connection?: MCPConnectionData;
}
/**
 * MCP Connection Dialog Component
 */
export declare class MCPConnectionDialogComponent implements OnInit, OnChanges {
    private fb;
    private cdr;
    credentialDialog: CredentialDialogComponent;
    connection: MCPConnectionData | null;
    servers: MCPServerData[];
    visible: boolean;
    close: EventEmitter<ConnectionDialogResult>;
    connectionForm: FormGroup;
    credentials: Array<{
        ID: string;
        Name: string;
    }>;
    companies: Array<{
        ID: string;
        Name: string;
    }>;
    credentialTypes: MJCredentialTypeEntity[];
    IsSaving: boolean;
    IsLoadingDropdowns: boolean;
    ErrorMessage: string | null;
    ShowCredentialDialog: boolean;
    get IsEditMode(): boolean;
    get DialogTitle(): string;
    get ActiveServers(): MCPServerData[];
    constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private createForm;
    private initializeForm;
    private loadDropdownData;
    /**
     * Opens the credential creation dialog
     */
    openCredentialDialog(): void;
    /**
     * Handles the credential dialog close event
     */
    onCredentialDialogClose(result: CredentialDialogResult): void;
    onServerChange(): void;
    save(): Promise<void>;
    cancel(): void;
    hasError(controlName: string, errorType: string): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<MCPConnectionDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MCPConnectionDialogComponent, "mj-mcp-connection-dialog", never, { "connection": { "alias": "connection"; "required": false; }; "servers": { "alias": "servers"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, { "close": "close"; }, never, never, false, never>;
}
//# sourceMappingURL=mcp-connection-dialog.component.d.ts.map