declare module "*security/opengrep/check-rule-metadata.mjs" { export function validateRuleMetadata( rules: Array<{ id: string; metadata?: Record }>, ): string[]; } declare module "*openclaw-changelog-update/scripts/verify-release-notes.mjs" { type ContributionRecord = { externalReferences?: string[]; references: number[]; thanks: string[]; }; export function createGithubSnapshotState(params: Record): { base: string; checkpointEvery: number; dirty: boolean; filePath: string; hits: number; misses: number; repository: string; responses: Record; target: string; writesSincePersist: number; }; export function githubApiWithSnapshot( args: string[], fetchApi: (args: string[]) => unknown, snapshotState: Record, ): unknown; export function persistGithubSnapshot(snapshotState: Record): void; export function defaultGithubSnapshotPath( base: string, target: string, gitCommonDir: string, ): string; export function renderContributionRecordEntry(entry: Record): string; export function releaseNoteReferences( sectionSource: string, shippedBaselines: unknown[], ): number[]; export function standardRevertedHash(message: string): string | null; export function contributionRecordTarget(section: { source: string }): string | undefined; export function pullRequestTitleFromCommitSubject( subject: string, number: number, ): string | undefined; export function contributionRecordFor(section: Record): { legacyIssues: Map; pullRequests: Map; }; export function recoverUnavailablePullRequests(params: { numbers: Iterable; nodes: Map; record: { pullRequests: Map }; recordTarget?: string; source: { activeCommits: Array<{ authorHandle?: string; closingReferences?: number[]; committedAt: string; hash: string; pullRequests: number[]; references: number[]; subject: string; }>; coauthorsByReference: Map>; pullRequests: Set; target: string; }; isAncestor?: (ancestor: string, descendant: string) => boolean; }): Map; export function cumulativeShippedPullRequests(changelog: unknown, label: string): Set; export function subtractShippedPullRequests( source: unknown, baselines: unknown[], ): { baselines: unknown[]; pullRequests: Set; }; export function withoutExcludedContributionRecords( record: { legacyIssues: Map; pullRequests: Map; }, excluded: Set, ): { legacyIssues: Map; pullRequests: Map; }; export function renderedContributionRecordReferences( record: { legacyIssues: Map; pullRequests: Map; }, writeLedger: boolean, ): number[]; export function contaminatingPullRequestReferences(params: Record): unknown[]; export function canonicalMainCommitMatches(commit: unknown, candidates: unknown[]): unknown[]; export function canonicalPullRequests( currentPullRequests: unknown[], mainPullRequests: unknown[], hasCanonicalMainCommit?: boolean, ): unknown[]; export function releaseProvenanceMarkers( message: string, ): Array<{ commit: string; pullRequests: number[] }>; export function collectReleaseProvenanceOverrides( activeCommits: Array<{ body: string; hash: string }>, releaseProvenance?: string[], ): Map; export function parseArgs(argv: string[]): { releaseProvenance: string[]; [key: string]: unknown; }; export function resolvedReleasePullRequests( currentPullRequests: number[], mainPullRequests: number[], hasCanonicalMainCommit: boolean, provenanceOverride?: number[], ): number[]; export function releasePullRequestReferencesToSuppress( currentPullRequests: number[], subject: string, associatedPullRequests: number[], hasProvenanceOverride: boolean, ): number[]; export function validateReleaseProvenanceOverrides( provenanceOverrides: Map, nodes: Map, mainCommit: string, isMainAncestor?: (ancestor: string, descendant: string) => boolean, ): void; export function ledgerFor(...args: unknown[]): { entries: unknown[]; issues: unknown[]; ledger: string; pullRequests: unknown[]; titleReferences: unknown[]; }; export function countTopLevelSectionBullets(sectionSource: string, heading: string): number; export function highlightCountError(sectionSource: string): string | undefined; export function isEligibleHandle(handle: string): boolean; export function ledgerChecks(...args: unknown[]): string[]; }