declare function representativeFiles(files: string[], maxFiles: number): string[]; export declare function buildProjectContext(repoPath: string, options?: ProjectContextOptions): ProjectContextResult; export declare const STACKS_PROJECT_CONTEXT_SCHEMA: 'https://stacksjs.org/schemas/ai-project-context/v1'; export declare interface ProjectContextOptions { maxChars?: number maxFiles?: number model?: string } export declare interface ProjectContextSurface { id: string purpose: string paths: string[] } export declare interface StacksProjectContext { schema: typeof STACKS_PROJECT_CONTEXT_SCHEMA schemaVersion: '1.0.0' framework: 'stacks' architecture: { pattern: 'Model-View-Action' overrideRule: string authoringOrder: string[] principles: string[] } project: { name: string | null version: string | null scripts: string[] dependencies: string[] } instructionFiles: string[] surfaces: ProjectContextSurface[] representativeFiles: string[] exclusions: string[] } export declare interface ProjectContextMetrics { candidateFiles: number includedFiles: number maxCharacters: number outputCharacters: number estimatedTokens: number model: string truncated: boolean baselineMethod: 'sorted-first-50-paths+readme-2000+package-json' baselineCharacters: number baselineEstimatedTokens: number estimatedTokenReductionPercent: number | null tokenEstimateIsHeuristic: true } export declare interface ProjectContextResult { context: StacksProjectContext text: string metrics: ProjectContextMetrics }