///
import { FlashAuditError } from "./errors";
import { EventEmitter } from "events";
import { type AuditMessage, type CreateValues, type EditValues, type TriggerValues, type DeleteValues } from './audit';
type FlashAuditConfig = {
client: string;
product: string;
serverBrokers: string[];
sslEnabled: boolean;
auth?: {
username: string;
password: string;
};
verbose?: boolean;
runtimeValidation?: boolean;
version?: 1;
debug?: boolean;
};
type InputEditAudit = {
user: string;
object: string;
searchable: string[];
values: EditValues;
};
type InputCreateAudit = {
user: string;
object: string;
searchable: string[];
values: CreateValues;
};
type InputDeleteAudit = {
user: string;
object: string;
searchable: string[];
values?: DeleteValues;
};
type InputTriggerAudit = {
user: string;
object: string;
searchable: string[];
values: TriggerValues;
};
export declare class FlashAudit extends EventEmitter {
private config;
private topic;
constructor(config: FlashAuditConfig);
send(body: AuditMessage): Promise;
_sendToBroker(body: AuditMessage, brokerHost: string, key: string): Promise;
sendCreate(body: InputCreateAudit): Promise;
sendEdit(body: InputEditAudit): Promise;
sendDelete(body: InputDeleteAudit): Promise;
sendTrigger(body: InputTriggerAudit): Promise;
}
export {};