import { EventEmitter } from 'node:events'; import type { Sample } from './types.js'; export interface PadLike extends EventEmitter { append(s: string): void; close(): void; } export interface AuthorOpts { url: string; padId: string; authorName: string; editIntervalMs: number; /** Override for tests. Defaults to the real etherpad-cli-client connect. */ padFactory?: (url: string) => PadLike; } export declare class Author extends EventEmitter { private readonly opts; private pad?; private timer?; private samples; private inFlight; private errors; private stopped; constructor(opts: AuthorOpts); connect(): Promise; start(): void; stop(): Promise; drainSamples(): Sample[]; getErrors(): number; private tick; private onMessage; } //# sourceMappingURL=author.d.ts.map