import { ServiceManifest, ScopeDefinition } from './types';
export declare class ServiceManifestBuilder {
    private manifest;
    private scopeRegistry;
    constructor(serviceDID: string, name: string, description?: string);
    addRequiredScope(scopeId: string): ServiceManifestBuilder;
    addOptionalScope(scopeId: string): ServiceManifestBuilder;
    addCustomScope(scope: ScopeDefinition, required?: boolean): ServiceManifestBuilder;
    build(): ServiceManifest;
    static createBasicReadService(serviceDID: string, name: string): ServiceManifest;
    static createDataManagementService(serviceDID: string, name: string): ServiceManifest;
    static createPaymentService(serviceDID: string, name: string, limit?: number): ServiceManifest;
}
export declare class ServiceManifestValidator {
    static validateManifest(manifest: ServiceManifest): {
        valid: boolean;
        errors: string[];
    };
    static compareManifests(manifest1: ServiceManifest, manifest2: ServiceManifest): {
        added: ScopeDefinition[];
        removed: ScopeDefinition[];
        changed: ScopeDefinition[];
    };
    static generateManifestSummary(manifest: ServiceManifest): string;
}
//# sourceMappingURL=service-manifest.d.ts.map