import { ThemeLike } from "./types.js"; import { ThemeLoader, ThemeResolver } from "./createThemeResolver.js"; //#region src/modules/createThemeCollection.d.ts interface ThemeDescriptor { name: string; load: ThemeLoader; colorScheme?: 'light' | 'dark'; collection?: string; displayName?: string; } interface ThemeCollectionFilter { collection?: string; colorScheme?: 'light' | 'dark'; } type ThemeCollectionComparator = (a: ThemeDescriptor, b: ThemeDescriptor) => number; interface ThemeCollectionSource { getThemes(options?: ThemeCollectionFilter): readonly ThemeDescriptor[]; } interface ThemeCollection extends ThemeCollectionSource { getTheme(name: string): ThemeDescriptor | undefined; getThemeNames(options?: ThemeCollectionFilter): readonly string[]; hasTheme(name: string): boolean; orderBy(compare: ThemeCollectionComparator): ThemeCollection; pick(names: readonly string[]): ThemeCollection; registerInto(resolver: ThemeResolver): void; } type ThemeCollectionEntry = ThemeDescriptor | ThemeCollectionSource; type ThemeCollectionInput = ThemeCollectionEntry | Iterable>; declare function createThemeCollection(options: { themes: ThemeCollectionInput; }): ThemeCollection; //#endregion export { ThemeCollection, ThemeCollectionComparator, ThemeCollectionEntry, ThemeCollectionFilter, ThemeCollectionInput, ThemeCollectionSource, ThemeDescriptor, createThemeCollection }; //# sourceMappingURL=createThemeCollection.d.ts.map