import type { AgentPlatform } from '../common/index.js';
import type { BeginnerEnvStep } from '../env.js';
import type { RecommendedSkill } from '../mcp.js';
import type { QualityRule } from '../analysis.js';
import type { ArchitecturePatternInfo, DddConfig, AgileProcessDetection } from '../architecture.js';
import type { ProjectPrivacyConfig } from '../privacy.js';
import type { OrchestratorInfo, ComposeMultiplatformInfo } from './platform-specialty.js';
import type { ProjectKnowledge, ProjectCompleteness } from './core.js';
import type { ProjectHealthReport } from './health-checker.js';
import type { DiscoveredRegistrySkill } from '../skill-bootstrap.js';
export interface PlanuConfig {
    version: string;
    specLocation: string;
    specNaming: 'modern' | 'legacy';
    createdAt: string;
    updatedAt: string;
    lastSeenVersion?: string;
    /** When true, init_project auto-installs recommended skills via skill_install */
    autoInstallSkills?: boolean;
    /** SPEC-313: Preferred interaction style — guided (step-by-step), standard, expert (concise) */
    workMode?: 'guided' | 'standard' | 'expert';
    /** SPEC-585: Auto-push after update_status(done) and create_release (opt-in, default false). */
    autopush?: boolean;
    /** SPEC-585: Branch prefix patterns allowed for autopush (default: feat/*, fix/*, chore/*). */
    autopushBranches?: string[];
    /** SPEC-585: Remote target for autopush (always 'origin'). */
    autopushTarget?: 'origin';
    /**
     * SPEC-722: Opt-in legacy review mode — accept `reviewer` string without a signed token.
     * @deprecated Will be removed in v3. Set to true only for existing clients during v2.x migration.
     */
    legacyReviewMode?: boolean;
}
export interface GeneratedRulesInfo {
    rulesFile: {
        path: string;
        content: string;
    };
    additionalFiles: {
        path: string;
        content: string;
    }[];
}
export interface InitProjectResultInput {
    projectId: string;
    projectPath: string;
    isUpdate: boolean;
    knowledge: ProjectKnowledge;
    claudeMdRules: QualityRule[];
    completeness: ProjectCompleteness;
    modernPatterns: ArchitecturePatternInfo[];
    dddConfig: DddConfig;
    agileDetection: AgileProcessDetection;
    orchestratorInfo: OrchestratorInfo;
    composeMultiplatform: ComposeMultiplatformInfo;
    privacyConfig: ProjectPrivacyConfig;
    envExampleGenerated: number | null;
    beginnerEnvGuide: BeginnerEnvStep[] | null;
    contextRequestPrompt: string | null;
    missingAreas: string[];
    recommendedSkills: RecommendedSkill[];
    platform: AgentPlatform;
    generatedRules: GeneratedRulesInfo;
    rulesWritten: boolean;
    additionalFilesWritten: string[];
    planuConfigGenerated: boolean;
    planuConfigPath: string;
    migrationResult: {
        migratedCount: number;
        errors: string[];
    } | null;
    discoveryResult: {
        flattenedCount: number;
        convertedCount: number;
        renamedCount: number;
        errors: string[];
    } | null;
    folderMigrationResult: {
        migratedCount: number;
        errors: string[];
    } | null;
    hooksInstalled: string[];
    gitFlowType: string;
    gitignoreUpdated: boolean;
    /** SPEC-539: Whether a git repository was detected at or above projectPath */
    gitRepoDetected?: boolean;
    constitutionInitialized: boolean;
    claudeMdUpdated: boolean;
    whatsNew?: string | null;
    autoCompletedSpecs: string[];
    /** Skills auto-installed during init (default on, opt-out via autoInstallSkills: false in planu.json) */
    skillsAutoInstalled: string[];
    /** Skills skipped during auto-install because they were already installed */
    skillsSkipped: string[];
    /** Skills recommended but not auto-installed (requires skill_install) */
    skillsPendingInstall: string[];
    /** SPEC-180: Project health report */
    healthReport: ProjectHealthReport | null;
    /** SPEC-178: ESLint config generated by lint-scaffolder */
    eslintCreated: boolean;
    /** SPEC-178: Prettier config generated by lint-scaffolder */
    prettierCreated: boolean;
    /** SPEC-178: Suggestions for missing linting/formatting tools */
    lintSuggestions: string[];
    /** SPEC-187: Architecture rules files written to disk */
    architectureRulesWritten: string[];
    /** SPEC-187: Architecture rules files skipped (already existed) */
    architectureRulesSkipped: string[];
    /** SPEC-200: One-time opt-in prompt shown on first init_project (null if already prompted) */
    telemetryOptInPrompt?: string | null;
    /** SPEC-232: Result of the post-init convention scan ('ok' | 'failed' | 'skipped') */
    conventionScanStatus?: 'ok' | 'failed' | 'skipped';
    /** SPEC-263: Planu SDD Workflow section injected into CLAUDE.md */
    planuWorkflowInjected?: boolean;
    /** SPEC-263: Planu hooks configured in .claude.json */
    planuHooksConfigured?: boolean;
    /** SPEC-263: .claude/rules/planu-workflow.md written */
    planuRulesWritten?: boolean;
    /** SPEC-347: git pre-commit snippet injected to auto-stage planu HTML files */
    gitAutoStageInjected?: boolean;
    /** SPEC-444: Planu proactive-behavior rules injected into project CLAUDE.md */
    proactiveRulesInjected?: boolean;
    /** SPEC-451: Top skills discovered from external registries after init (max 3) */
    discoveredRegistrySkills?: DiscoveredRegistrySkill[];
    /** SPEC-467: Branch info for multi-branch awareness */
    branchInfo?: {
        current: string;
        all: string[];
        count: number;
    } | null;
}
//# sourceMappingURL=planu-config.d.ts.map