import type { ArchiveEntryView } from './archiveShared.js'; export declare const comicBookStyle = "\n.archive-comic-page{min-width:64px;color:#64748b!important;text-align:center;font-variant-numeric:tabular-nums}\n.archive-comic-nav:disabled{cursor:not-allowed;opacity:.42}\n"; export declare const isComicBookExtension: (extension: string) => boolean; export declare const isComicBookPage: (entry: Pick) => boolean; export declare const naturalComicPageCompare: (left: Pick, right: Pick) => number; export declare const getComicBookPages: (entries: readonly ArchiveEntryView[]) => ArchiveEntryView[]; export declare const clampComicPageIndex: (index: number, pageCount: number) => number; interface ComicBookControllerOptions { document: Document; extension: string; root: HTMLElement; stage: HTMLElement; previousLabel: string; nextLabel: string; getEntries(): readonly ArchiveEntryView[]; openEntry(entry: ArchiveEntryView): void; } export interface ComicBookController { enabled: boolean; badge: string; toolbarElements: readonly HTMLElement[]; getVisibleEntries(entries: readonly ArchiveEntryView[]): ArchiveEntryView[]; sortEntries(entries: ArchiveEntryView[]): ArchiveEntryView[]; onEntriesReady(): void; onEntrySelected(entry: ArchiveEntryView): void; sync(): void; dispose(): void; } export declare const createComicBookController: (options: ComicBookControllerOptions) => ComicBookController; export {};