import CNShell from "cn-shell";
declare enum RecordTypes {
  SNS = 0,
  SQS_SENDER = 1,
  SQS_RECEIVER = 2,
  FHS = 3,
}
export interface Opts {
  region: string;
}
interface PlaybackRecord {
  type: RecordTypes;
  name: string;
  ts: number;
  msg: string;
}
export declare abstract class Base extends CNShell {
  protected readonly _region: string;
  protected _playbackFile: string;
  constructor(name: string, opts: Opts);
  static get RecordTypes(): typeof RecordTypes;
  protected writePlayback(msg: string, type: RecordTypes): void;
  private writePbFld;
  startRecording(playbackFile: string): void;
  stopRecording(): void;
  static replayPlayback(fd: number, line: number): PlaybackRecord | null;
  private static getPbFld;
}
export {};
