import { ServiceDefinition, ComputeProfile, PlacementProfile } from '@cryptoandcoffee/akash-jsdk-protobuf'; export interface SDLValidationResult { valid: boolean; errors: string[]; warnings: string[]; } export interface ManifestGroup { name: string; services: any[]; resources: ComputeProfile; requirements: PlacementProfile; count: number; } export declare class SDLManager { /** * Validate SDL content and return validation result */ validate(sdlContent: string): SDLValidationResult; /** * Parse SDL YAML/JSON content into a ServiceDefinition object */ parseSDL(sdlContent: string): ServiceDefinition; /** * Validate SDL structure and content */ validateSDL(sdl: ServiceDefinition): SDLValidationResult; /** * Convert SDL to Akash manifest format */ convertToManifest(sdl: ServiceDefinition): ManifestGroup[]; /** * Generate SDL template for common use cases */ generateTemplate(type: 'web-app' | 'api-server' | 'database' | 'worker'): ServiceDefinition; /** * Calculate resource requirements from SDL */ calculateResources(sdl: ServiceDefinition): { totalCPU: number; totalMemory: number; totalStorage: number; estimatedCost: number; }; private convertToServiceDefinition; private validateService; private validateProfiles; private validateDeployment; private convertService; /** * Generate manifest from SDL */ generateManifest(sdl: any): any; /** * Estimate resource costs */ estimateResourceCosts(sdl: any): any; /** * Convert SDL v1 to v2 */ convertToV2(sdlV1: any): any; /** * Optimize SDL for cost and performance */ optimizeSDL(sdl: any): any; private parseMemorySize; private parseStorageSize; private formatMemorySize; private formatStorageSize; } //# sourceMappingURL=sdl.d.ts.map