import type { BrowserType, ConfigWithDefaults } from '../config/index.ts'; import type { AssetUrl } from './createAssetPackage.ts'; interface Snapshot { timestamp?: number | undefined; html: string; component: string; variant: string; targets?: Array | undefined; stylesheets?: Array | undefined; htmlElementAttrs?: Record | undefined; bodyElementAttrs?: Record | undefined; } interface DynamicTarget { name: string; viewport: `${number}x${number}`; type: BrowserType; } interface CSSBlock { key: string; content?: string; href?: string | undefined; baseUrl?: string | undefined; assetsBaseUrl?: string; } export interface SnapshotRegistrationParams { timestamp?: number | undefined; html: string; assetUrls: Array; cssBlocks: Array; component: string; variant: string; targets?: Array | undefined; htmlElementAttrs?: Record | undefined; bodyElementAttrs?: Record | undefined; } interface TimeframeParams { start: number; end: number; } interface Base64ChunkParams { base64Chunk: string; src: string; isFirst: boolean; isLast: boolean; } declare class Controller { private snapshots; private allCssBlocks; private snapshotAssetUrls; private happoDebug; protected happoConfig: ConfigWithDefaults | null; get config(): ConfigWithDefaults | null; get snapshotsList(): Array; get assetUrls(): Array; get cssBlocks(): Array; private assertHappoConfig; init(): Promise; isActive(): boolean; uploadAssetsIfNeeded({ buffer, hash, }: { buffer: Buffer; hash: string; }): Promise; finish(): Promise; registerSnapshot({ timestamp, html, assetUrls, cssBlocks, component, variant, targets: rawTargets, htmlElementAttrs, bodyElementAttrs, }: SnapshotRegistrationParams): Promise; removeSnapshotsMadeBetween({ start, end }: TimeframeParams): void; removeDuplicatesInTimeframe({ start, end }: TimeframeParams): void; processSnapRequestIds(allRequestIds: Array): Promise; handleDynamicTargets(targets?: Array): Array; uploadImage(pathOrBuffer: string | Buffer): Promise; registerBase64ImageChunk({ base64Chunk, src, isFirst, isLast, }: Base64ChunkParams): Promise; } export default Controller; //# sourceMappingURL=controller.d.ts.map