/**
 * AMP Panel Integration
 *
 * Integration with CubeCoders AMP (Application Management Panel).
 *
 * @since v1.70.6
 */
import { BasePanel } from './base-panel.js';
import type { ConsoleLine, PanelConfig, PanelConnectionResult, PanelServer, PanelServerStats, PanelType } from './panel-types.js';
/**
 * AMP Panel implementation
 */
export declare class AMPPanel extends BasePanel {
    readonly type: PanelType;
    private sessionId;
    constructor(config: PanelConfig);
    /**
     * Connect to AMP panel
     */
    connect(): Promise<PanelConnectionResult>;
    /**
     * Disconnect from AMP panel
     */
    disconnect(): Promise<void>;
    /**
     * Make authenticated API request
     */
    protected fetch<T>(endpoint: string, options?: RequestInit): Promise<T>;
    /**
     * Get list of servers (instances)
     */
    getServers(): Promise<PanelServer[]>;
    /**
     * Get server by ID
     */
    getServer(serverId: string): Promise<PanelServer | null>;
    /**
     * Get server stats
     */
    getServerStats(serverId: string): Promise<PanelServerStats>;
    /**
     * Send command to server
     * Commands are validated against an allowlist for security (v2.0.0)
     */
    sendCommand(serverId: string, command: string): Promise<boolean>;
    /**
     * Get console output
     */
    getConsoleOutput(serverId: string, lines?: number): Promise<ConsoleLine[]>;
    /**
     * Start server
     */
    startServer(serverId: string): Promise<boolean>;
    /**
     * Stop server
     */
    stopServer(serverId: string): Promise<boolean>;
    /**
     * Restart server
     */
    restartServer(serverId: string): Promise<boolean>;
    /**
     * Map AMP instance to PanelServer
     */
    private mapInstance;
    /**
     * Map AMP status to PanelServerStats
     */
    private mapStats;
}
/**
 * Create AMP panel instance
 */
export declare function createAMPPanel(config: Omit<PanelConfig, 'type'>): AMPPanel;
//# sourceMappingURL=amp-panel.d.ts.map