import type { SupportedLocale, ExperienceLevel } from '../common.js';
import type { ConstitutionPrinciple } from './core.js';
export interface SetLocaleInput {
    projectId?: string;
    locale: SupportedLocale;
}
export interface InitProjectInput {
    projectPath: string;
    locale?: SupportedLocale;
    hourlyRate?: number;
    experienceLevel?: ExperienceLevel;
    userProfile?: 'developer' | 'product-owner' | 'designer' | 'non-technical';
}
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