export interface RegistrySchemaEntry {
    '@id': string;
    '@type': string;
    version: string;
    depends?: Record<string, string>;
}
export interface AgentPackageConfig {
    model?: string;
    provider?: string;
    systemPrompt?: string;
    tools?: string[];
    capabilities?: string[];
    temperature?: number;
    maxTokens?: number;
}
export interface PackageManifest {
    name: string;
    version: string;
    content: string;
    schemas: RegistrySchemaEntry[];
    depends?: Record<string, string>;
    agent?: AgentPackageConfig;
}
export interface PackageVersionEntry {
    content: string;
    revision: string;
    schemas: RegistrySchemaEntry[];
}
export interface PackageIndex {
    latest: string;
    versions: Record<string, PackageVersionEntry>;
}
export interface RegistryIndex {
    published: string;
    packages: Record<string, Record<string, PackageIndex>>;
}
export declare class RegistryClient {
    private indexCache;
    private pkgCache;
    private readonly baseUrl;
    constructor(opts?: {
        repo?: string;
        branch?: string;
        baseUrl?: string;
    });
    private fetchJson;
    fetchIndex(): Promise<RegistryIndex>;
    fetchPackage(type: string, name: string, version: string): Promise<PackageManifest>;
    resolve(type: string, name: string, constraint: string): Promise<{
        version: string;
        manifest: PackageManifest;
    } | null>;
    clearCache(): void;
}
//# sourceMappingURL=client.d.ts.map