export interface SnapshotHookOptions {
    endpoint: string;
    stage: string;
    requestId: string;
    data: unknown;
    verbosity?: 'minimal' | 'verbose';
    channel?: string;
    providerKey?: string;
    groupRequestId?: string;
}
interface SnapshotPayload {
    stage: string;
    requestId: string;
    endpoint?: string;
    data: unknown;
    folderHint?: string;
    providerKey?: string;
    groupRequestId?: string;
}
export declare function shouldRecordSnapshots(): boolean;
export declare function writeSnapshotViaHooks(options: SnapshotHookOptions): Promise<void>;
export declare function recordSnapshot(options: SnapshotPayload): Promise<void>;
export type SnapshotWriter = (stage: string, payload: unknown) => void;
export declare function createSnapshotWriter(opts: {
    requestId: string;
    endpoint?: string;
    folderHint?: string;
    providerKey?: string;
    groupRequestId?: string;
}): SnapshotWriter | undefined;
export {};
