import { type ExtensionInfo } from '../impl/SourceInfo.js'; import type { Extension } from './Extension.js'; import { type ChapterProviding } from './interfaces/ChapterProviding.js'; import type { MangaProviding } from './interfaces/MangaProviding.js'; import { type SearchResultsProviding } from './interfaces/SearchResultsProviding.js'; type TestResult = { name: string; passed: boolean; error?: Error; duration: number; returnValue?: unknown; }; type SuiteResult = { suiteName: string; passed: number; failed: number; total: number; duration: number; testResults: TestResult[]; }; export declare class TestSuite { readonly state: Record; private testCases; private suiteName; constructor(name: string); test(name: string, fn: () => Promise): void; run(): Promise; private printSummary; } type ExtensionTestData = { searchResultsProviding?: { getSearchResults: Parameters; getSortingOptions?: Parameters>; }; mangaProviding?: { getMangaDetails: Parameters; }; chapterProviding?: { getChapters: Parameters; getChapterDetails: Parameters; }; }; export declare const registerDefaultTests: (suite: TestSuite, extension: Extension, extensionInfo: ExtensionInfo, testData?: ExtensionTestData) => void; export declare const registerDefaultInitialisationTests: (suite: TestSuite, extension: Extension) => void; export declare const registerDefaultSearchResultsProvidingSourceTests: (suite: TestSuite, extension: Extension & SearchResultsProviding, { searchResultsProviding: testData, }: Pick) => void; export declare const registerDefaultMangaProvidingSourceTests: (suite: TestSuite, extension: Extension, { mangaProviding: testData }: Pick) => void; export declare const registerDefaultChapterProvidingSourceTests: (suite: TestSuite, extension: Extension & ChapterProviding, { chapterProviding: testData }: Pick) => void; export {}; //# sourceMappingURL=TestDefinition.d.ts.map