/**
 * NextSpark Wizard Presets
 *
 * Pre-configured project templates for common use cases.
 * Presets pre-fill all configuration values but still allow customization.
 */
import type { WizardConfig, PresetName, TeamMode, BillingModel, FeatureFlags, ContentFeaturesConfig, AuthConfig, DashboardConfig, DevConfig } from './types.js';
/**
 * Partial preset configuration (projectName, projectSlug, projectDescription
 * are always prompted even with presets)
 */
export interface PresetConfig {
    teamMode: TeamMode;
    teamRoles: string[];
    defaultLocale: string;
    supportedLocales: string[];
    billingModel: BillingModel;
    currency: string;
    features: FeatureFlags;
    contentFeatures: ContentFeaturesConfig;
    auth: AuthConfig;
    dashboard: DashboardConfig;
    dev: DevConfig;
}
/**
 * All available presets
 */
export declare const PRESETS: Record<PresetName, PresetConfig>;
/**
 * Preset descriptions for display
 */
export declare const PRESET_DESCRIPTIONS: Record<PresetName, string>;
/**
 * Get a preset configuration by name
 */
export declare function getPreset(name: PresetName): PresetConfig;
/**
 * Check if a preset name is valid
 */
export declare function isValidPreset(name: string): name is PresetName;
/**
 * Get all available preset names
 */
export declare function getAvailablePresets(): PresetName[];
/**
 * Apply preset to partial config
 * (merges project info with preset defaults)
 */
export declare function applyPreset(projectInfo: Pick<WizardConfig, 'projectName' | 'projectSlug' | 'projectDescription'>, presetName: PresetName): WizardConfig;
/**
 * Get default configuration (used when no preset is specified)
 * This provides sensible defaults for all fields.
 */
export declare function getDefaultConfig(): PresetConfig;
//# sourceMappingURL=presets.d.ts.map