import type { SupportedLocale, ExperienceLevel, WorkMode } from '../common/index.js';
import type { ConstitutionPrinciple } from './core.js';
import type { PermissionsMode } from '../permissions-config.js';
import type { PluginInstallMode } from '../plugin-install.js';
import type { ProjectOnboardingMode, TechnologySelectionContract } from '../technology-selection.js';
export interface SetLocaleInput {
    projectId?: string;
    locale: SupportedLocale;
}
export interface InitProjectInput {
    projectPath: string;
    mode?: ProjectOnboardingMode;
    parentWorkspacePath?: string;
    appName?: string;
    appSlug?: string;
    projectType?: string;
    platform?: string;
    language?: string;
    framework?: string | null;
    database?: string | null;
    createDirectory?: boolean;
    technologySelectionContract?: TechnologySelectionContract;
    locale?: SupportedLocale;
    hourlyRate?: number;
    experienceLevel?: ExperienceLevel;
    userProfile?: 'developer' | 'product-owner' | 'designer' | 'non-technical';
    /** SPEC-185: When false, skip auto-install of recommended skills (default: true). */
    autoInstallSkills?: boolean;
    /** SPEC-313: Preferred interaction style — guided (step-by-step hints), standard, expert (concise). */
    workMode?: WorkMode;
    /** SPEC-584: Answers to pending interactiveQuestions from a previous init_project call. */
    clarificationAnswers?: Record<string, string>;
    /** SPEC-594: Opt-in permissions mode. When provided, configure_permissions runs during scaffold. */
    permissionsMode?: PermissionsMode;
    /** SPEC-596: Opt-in plugin install mode. When provided, marketplace registration + plugin install runs during scaffold. */
    pluginsMode?: PluginInstallMode;
}
export interface InitConstitutionInput {
    projectId: string;
    autoDetect?: boolean;
    principles?: ConstitutionPrinciple[];
}
export interface LearnPatternInput {
    projectId: string;
    type: 'architecture' | 'convention' | 'estimation' | 'stack' | 'quality';
    pattern: string;
    source?: string;
}
export interface LearnedPattern {
    id: string;
    projectId: string;
    type: 'architecture' | 'convention' | 'estimation' | 'stack' | 'quality';
    pattern: string;
    source: string;
    learnedAt: string;
    confidence: number;
    usageCount: number;
}
export interface AgentDocumentationResult {
    usageManual: string;
    configurationGuide: string;
    troubleshootingGuide: string;
}
export type MultiTenancyStrategy = 'shared-schema' | 'separate-schema' | 'row-level-security' | 'separate-db';
export interface MultiTenancyDetection {
    isMultiTenant: boolean;
    strategy: MultiTenancyStrategy | null;
    tenantIdFields: string[];
    hasRLS: boolean;
    hasTenantMiddleware: boolean;
    hasSeparateSchemas: boolean;
    confidence: 'low' | 'medium' | 'high';
}
export type SystemProfileType = 'low-latency-api' | 'batch-processing' | 'interactive-app' | 'background-service' | 'unknown';
export interface NFRProfile {
    systemType: SystemProfileType;
    p95LatencyMs: number;
    p99LatencyMs: number;
    minThroughputRps: number;
    availabilityTarget: '99%' | '99.9%' | '99.99%';
    maxPayloadBytes: number;
    dailyRecords: number;
}
//# sourceMappingURL=inputs.d.ts.map