import type { Record } from '../api/record';
import type { SessionDetails } from '../client';
import type { LDClient } from '../integrations/launchdarkly';
import type { StartOptions } from '../client/types/types';
import type { LDPluginEnvironmentMetadata } from '../plugins/plugin';
import { BufferedClass } from './buffer';
declare class _LDRecord extends BufferedClass<Record> implements Record {
    getSession(): SessionDetails | null;
    start(options?: StartOptions): Promise<any>;
    stop(options?: StartOptions): any;
    getRecordingState(): any;
    snapshot(element: HTMLCanvasElement): any;
    register(client: LDClient, environmentMetadata: LDPluginEnvironmentMetadata): any;
}
export declare let LDRecord: _LDRecord;
export {};
