import { RouteInfo, RoutesConfig, TestScenario } from '../types'; export interface TestTemplate { fileName: string; content: string; controller: string; routes: RouteInfo[]; } export interface TestTemplateOptions { outputDir: string; testFramework: 'jest' | 'vitest'; includeSetup: boolean; includeTeardown: boolean; customImports?: string[]; templateType: 'endpoint' | 'sample'; generateScenarios?: boolean; defaultScenarios?: TestScenario[]; routesConfig?: RoutesConfig; configPath?: string; } export declare class TestTemplateGenerator { private options; private endpointTemplate; private sampleTemplate; setupTeardownTemplate: HandlebarsTemplateDelegate; constructor(options: TestTemplateOptions); private setupHandlebars; private loadTemplates; generateAllTemplates(routes?: RouteInfo[]): Promise; generateSampleTest(): TestTemplate; generateEndpointTests(routes?: RouteInfo[]): Promise; generateSingleEndpointTemplate(route: RouteInfo): TestTemplate; discoverRoutes(): Promise; static createSampleGenerator(options: Omit): TestTemplateGenerator; static createEndpointGenerator(options: Omit): TestTemplateGenerator; private generateEndpointTemplates; private generateEndpointTemplate; private generateSampleTemplate; private generateEndpointFileName; private generateTestScenarios; private getDefaultStatus; private generateRequestData; private generateInvalidRequestData; private generateQueryParams; private generatePathParams; private generateNonExistentPathParams; private generateImports; generateCoverageReport(testedRoutes: string[]): APICoverageReport; } export interface APICoverageReport { totalRoutes: number; testedRoutes: number; untestedRoutes: number; coveragePercentage: number; routes: RouteCoverage[]; untestedRoutesList: RouteCoverage[]; } export interface RouteCoverage { method: string; path: string; controller?: string; tested: boolean; testFile?: string; } //# sourceMappingURL=test-template-generator.d.ts.map