/**
 * @fileoverview MCP Server Dialog Component
 *
 * Dialog for creating and editing MCP server configurations.
 */
import { EventEmitter, OnInit, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { MCPServerData } from '../mcp-dashboard.component';
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
import * as i0 from "@angular/core";
/**
 * Transport type options
 */
export declare const TRANSPORT_TYPES: {
    value: string;
    label: string;
    description: string;
}[];
/**
 * Auth type options
 */
export declare const AUTH_TYPES: {
    value: string;
    label: string;
    description: string;
}[];
/**
 * Dialog result interface
 */
export interface ServerDialogResult {
    saved: boolean;
    server?: MCPServerData;
}
/**
 * MCP Server Dialog Component
 */
export declare class MCPServerDialogComponent extends BaseAngularComponent implements OnInit, OnChanges {
    private fb;
    private cdr;
    server: MCPServerData | null;
    visible: boolean;
    close: EventEmitter<ServerDialogResult>;
    serverForm: FormGroup;
    transportTypes: {
        value: string;
        label: string;
        description: string;
    }[];
    authTypes: {
        value: string;
        label: string;
        description: string;
    }[];
    IsSaving: boolean;
    ErrorMessage: string | null;
    get IsEditMode(): boolean;
    get DialogTitle(): string;
    get SelectedTransportType(): string;
    get RequiresURL(): boolean;
    get RequiresCommand(): boolean;
    get SelectedAuthType(): string;
    get IsOAuth2(): boolean;
    constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private createForm;
    private initializeForm;
    private updateValidators;
    onTransportTypeChange(): void;
    onAuthTypeChange(): void;
    save(): Promise<void>;
    cancel(): void;
    hasError(controlName: string, errorType: string): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<MCPServerDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MCPServerDialogComponent, "mj-mcp-server-dialog", never, { "server": { "alias": "server"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, { "close": "close"; }, never, never, false, never>;
}
//# sourceMappingURL=mcp-server-dialog.component.d.ts.map