import { z } from "zod"; import { RulesFileInstallStrategy } from "./types.js"; declare const RulesManifestDataSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; currentVersion: z.ZodString; versions: z.ZodRecord; installStrategy: z.ZodOptional; applyTo: z.ZodOptional; }, "strip", z.ZodTypeAny, { path: string; name: string; title: string; label: string; tokens: number; client?: string | undefined; installStrategy?: string | undefined; applyTo?: string | undefined; }, { path: string; name: string; title: string; label: string; tokens: number; client?: string | undefined; installStrategy?: string | undefined; applyTo?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { options: { path: string; name: string; title: string; label: string; tokens: number; client?: string | undefined; installStrategy?: string | undefined; applyTo?: string | undefined; }[]; }, { options: { path: string; name: string; title: string; label: string; tokens: number; client?: string | undefined; installStrategy?: string | undefined; applyTo?: string | undefined; }[]; }>>; }, "strip", z.ZodTypeAny, { name: string; description: string; currentVersion: string; versions: Record; }, { name: string; description: string; currentVersion: string; versions: Record; }>; type RulesManifestData = z.infer; export type RulesManifestVersionOption = { name: string; title: string; label: string; contents: string; tokens: number; client: string | undefined; installStrategy: RulesFileInstallStrategy; applyTo: string | undefined; }; export type ManifestVersion = { version: string; options: Array; }; export declare class RulesManifest { private readonly manifest; private readonly loader; constructor(manifest: RulesManifestData, loader: RulesManifestLoader); get name(): string; get description(): string; get currentVersion(): string; getCurrentVersion(): Promise; get versions(): Record; } export declare function loadRulesManifest(loader: RulesManifestLoader): Promise; export interface RulesManifestLoader { loadManifestContent(): Promise; loadRulesFile(relativePath: string): Promise; } export declare class GithubRulesManifestLoader implements RulesManifestLoader { private readonly branch; constructor(branch?: string); loadManifestContent(): Promise; loadRulesFile(relativePath: string): Promise; } export declare class LocalRulesManifestLoader implements RulesManifestLoader { private readonly path; constructor(path: string); loadManifestContent(): Promise; loadRulesFile(relativePath: string): Promise; } export {};