/**
 * Pterodactyl Panel Integration
 *
 * Integration with Pterodactyl panel (open source game server management).
 *
 * @since v1.70.6
 */
import { BasePanel } from './base-panel.js';
import type { ConsoleLine, PanelConfig, PanelConnectionResult, PanelServer, PanelServerStats, PanelType } from './panel-types.js';
/**
 * Pterodactyl Panel implementation
 */
export declare class PterodactylPanel extends BasePanel {
    readonly type: PanelType;
    constructor(config: PanelConfig);
    /**
     * Connect to Pterodactyl panel
     */
    connect(): Promise<PanelConnectionResult>;
    /**
     * Disconnect from Pterodactyl panel
     */
    disconnect(): Promise<void>;
    /**
     * Get list of servers
     */
    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
     * Note: Pterodactyl requires WebSocket for real-time console
     */
    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>;
    /**
     * Kill server (force stop)
     */
    killServer(serverId: string): Promise<boolean>;
    /**
     * Map Pterodactyl server to PanelServer
     */
    private mapServer;
}
/**
 * Create Pterodactyl panel instance
 */
export declare function createPterodactylPanel(config: Omit<PanelConfig, 'type'>): PterodactylPanel;
//# sourceMappingURL=pterodactyl-panel.d.ts.map