export interface CiscoShardJobInput { /** POSIX path to the exact skill directory within the pinned source tree. */ path: string; /** Digest of the complete scanner input projection for this job. */ inputSha256: string; } export interface CiscoShardJob extends CiscoShardJobInput { id: string; } export interface CiscoShardManifestInput { source: { id: string; pinnedSha: string; treeSha256: string; }; analyzer: { name: "cisco"; version: string; lockSha256: string; }; policy: { version: string; profile: string; }; jobs: readonly CiscoShardJobInput[]; shardCount: number; } export interface CiscoShardManifest { schemaVersion: 1; qualificationId: string; manifestSha256: string; source: CiscoShardManifestInput["source"]; analyzer: CiscoShardManifestInput["analyzer"]; policy: CiscoShardManifestInput["policy"]; jobs: CiscoShardJob[]; shards: Array<{ id: string; jobs: CiscoShardJob[]; }>; } export interface CiscoShardOutput { jobId: string; path: string; inputSha256: string; evidenceSha256: string; evidence: unknown; } export interface CiscoShardResult { schemaVersion: 1; manifestSha256: string; qualificationId: string; shardId: string; analyzer: CiscoShardManifestInput["analyzer"]; outputs: CiscoShardOutput[]; } export interface JoinedCiscoShardEvidence { schemaVersion: 1; manifestSha256: string; qualificationId: string; analyzer: CiscoShardManifestInput["analyzer"]; outputs: CiscoShardOutput[]; } export declare function buildCiscoShardManifest(input: CiscoShardManifestInput): CiscoShardManifest; export declare function buildCiscoShardResult(manifest: CiscoShardManifest, requestedShardId: string, evidenceFor: (job: CiscoShardJob) => unknown): CiscoShardResult; export declare function buildCiscoShardResultAsync(manifest: CiscoShardManifest, requestedShardId: string, evidenceFor: (job: CiscoShardJob) => Promise, concurrency?: number): Promise; export declare function joinCiscoShardResults(manifest: CiscoShardManifest, values: readonly CiscoShardResult[]): JoinedCiscoShardEvidence;