diff --git a/scripts/classify-docs-only.d.mts b/scripts/classify-docs-only.d.mts new file mode 100644 index 000000000..354ee52c9 --- /dev/null +++ b/scripts/classify-docs-only.d.mts @@ -0,0 +1,35 @@ +/** Declarations for the docs-only classifier so test imports typecheck. */ + +export interface GhFilesListingEntry { + readonly filename: string; + readonly previousFilename: string; +} + +export type DocsOnlyReason = + | 'docs-only' + | 'empty-listing' + | 'invalid-count' + | 'listing-error' + | 'non-docs-path' + | 'truncated-listing'; + +export interface DocsOnlyClassification { + readonly docsOnly: boolean; + readonly path?: string; + readonly reason: DocsOnlyReason; +} + +export declare const isDocsOnlyPath: (filePath: string) => boolean; + +export declare const parseGhFilesListing: (text: string) => GhFilesListingEntry[]; + +export declare const classifyDocsOnlyListing: (options: { + readonly changedFilesCount: string | undefined; + readonly entries: readonly GhFilesListingEntry[]; + readonly listingOk: boolean; +}) => DocsOnlyClassification; + +export declare const runClassify: (options?: { + readonly argv?: readonly string[]; + readonly env?: Record; +}) => Promise;