/**
 * Wizard Types
 *
 * Shared types for setup wizard components.
 *
 * @since v1.43.1
 */
import type { ServerJarType } from '../../../core/server-jar/index.js';
import type { Plugin } from '../../../core/types/index.js';
/**
 * Setup wizard step identifiers
 * v2.0.1 - Added 'features', 'panel-connection', 'notifications' steps
 */
export type WizardStep = 'welcome' | 'prod-path' | 'test-path' | 'mc-version' | 'server-type' | 'features' | 'panel-connection' | 'notifications' | 'scanning' | 'confirm';
/**
 * Feature toggle settings (v2.0.1 - Plan 13)
 */
export interface FeatureSettings {
    healthEnabled: boolean;
    recommendationsEnabled: boolean;
    performanceEnabled: boolean;
    alertsEnabled: boolean;
}
/**
 * Panel connection settings (v2.0.1 - Plan 13)
 */
export interface PanelSettings {
    panelType: 'pterodactyl' | 'amp' | 'crafty' | 'mcsmanager' | 'none';
    panelUrl?: string;
    apiKey?: string;
}
/**
 * Notification settings (v2.0.1 - Plan 13)
 */
export interface NotificationSettings {
    desktopEnabled: boolean;
    discordWebhook?: string;
    slackWebhook?: string;
}
/**
 * Setup configuration result
 */
export interface SetupConfig {
    prodServerPath: string;
    testServerPath: string;
    minecraftVersion: string;
    serverType: ServerJarType;
    /** Which server to use for server JAR downloads: 'test' (default) or 'prod' */
    serverJarDefault: 'prod' | 'test';
    /** Plugins scanned from production server */
    prodPlugins: Plugin[];
    /** Plugins scanned from test server */
    testPlugins: Plugin[];
    /** Feature toggle settings (v2.0.1) */
    features?: FeatureSettings;
    /** Panel connection settings (v2.0.1) */
    panel?: PanelSettings;
    /** Notification settings (v2.0.1) */
    notifications?: NotificationSettings;
}
/**
 * Wizard state that can be persisted externally
 */
export interface SetupWizardState {
    step: WizardStep;
    prodPath: string;
    testPath: string;
    mcVersion: string;
    serverType: ServerJarType;
    /** Which server to use for server JAR downloads */
    serverJarDefault: 'prod' | 'test';
    /** Feature toggle settings (v2.0.1) */
    features: FeatureSettings;
    /** Panel connection settings (v2.0.1) */
    panel: PanelSettings;
    /** Notification settings (v2.0.1) */
    notifications: NotificationSettings;
}
/**
 * Common props for all step components
 */
export interface WizardStepProps {
    /** Move to next step */
    onNext: () => void;
    /** Move to previous step */
    onBack: () => void;
    /** Cancel the wizard (optional - if undefined, cancel is disabled) - v1.51.6 */
    onCancel?: () => void;
    /** Whether this step is active and should capture input */
    isActive: boolean;
    /** Maximum height available for content */
    maxHeight: number;
}
/**
 * Server type option for selection
 */
export interface ServerTypeOption {
    id: ServerJarType;
    label: string;
    description: string;
}
/**
 * Fallback versions if API/cache fails
 */
export declare const FALLBACK_VERSIONS: string[];
/**
 * Available server types
 */
export declare const SERVER_TYPES: ServerTypeOption[];
/**
 * All wizard steps in order
 * v2.0.1 - Added features, panel-connection, notifications steps
 */
export declare const WIZARD_STEPS: WizardStep[];
/**
 * Step labels for display
 */
export declare const STEP_LABELS: Record<WizardStep, string>;
/**
 * Default feature settings
 */
export declare const DEFAULT_FEATURE_SETTINGS: FeatureSettings;
/**
 * Default panel settings
 */
export declare const DEFAULT_PANEL_SETTINGS: PanelSettings;
/**
 * Default notification settings
 */
export declare const DEFAULT_NOTIFICATION_SETTINGS: NotificationSettings;
//# sourceMappingURL=wizard-types.d.ts.map