import { CheckInput, CheckOutput, PlanResourcesInput, PlanResourcesOutput } from "../../engine/v1/engine";
import { SourceAttributes } from "../../policy/v1/policy";
export declare const protobufPackage = "cerbos.audit.v1";
export interface AccessLogEntry {
    callId: string;
    timestamp: Date | undefined;
    peer: Peer | undefined;
    metadata: {
        [key: string]: MetaValues;
    };
    method: string;
    statusCode: number;
}
export interface AccessLogEntry_MetadataEntry {
    key: string;
    value: MetaValues | undefined;
}
export interface DecisionLogEntry {
    callId: string;
    timestamp: Date | undefined;
    peer: Peer | undefined;
    inputs: CheckInput[];
    outputs: CheckOutput[];
    error: string;
    method?: {
        $case: "checkResources";
        checkResources: DecisionLogEntry_CheckResources;
    } | {
        $case: "planResources";
        planResources: DecisionLogEntry_PlanResources;
    } | undefined;
    metadata: {
        [key: string]: MetaValues;
    };
    auditTrail: AuditTrail | undefined;
}
export interface DecisionLogEntry_CheckResources {
    inputs: CheckInput[];
    outputs: CheckOutput[];
    error: string;
}
export interface DecisionLogEntry_PlanResources {
    input: PlanResourcesInput | undefined;
    output: PlanResourcesOutput | undefined;
    error: string;
}
export interface DecisionLogEntry_MetadataEntry {
    key: string;
    value: MetaValues | undefined;
}
export interface MetaValues {
    values: string[];
}
export interface Peer {
    address: string;
    authInfo: string;
    userAgent: string;
    forwardedFor: string;
}
export interface AuditTrail {
    effectivePolicies: {
        [key: string]: SourceAttributes;
    };
}
export interface AuditTrail_EffectivePoliciesEntry {
    key: string;
    value: SourceAttributes | undefined;
}
export declare const AccessLogEntry: MessageFns<AccessLogEntry>;
export declare const AccessLogEntry_MetadataEntry: MessageFns<AccessLogEntry_MetadataEntry>;
export declare const DecisionLogEntry: MessageFns<DecisionLogEntry>;
export declare const DecisionLogEntry_CheckResources: MessageFns<DecisionLogEntry_CheckResources>;
export declare const DecisionLogEntry_PlanResources: MessageFns<DecisionLogEntry_PlanResources>;
export declare const DecisionLogEntry_MetadataEntry: MessageFns<DecisionLogEntry_MetadataEntry>;
export declare const MetaValues: MessageFns<MetaValues>;
export declare const Peer: MessageFns<Peer>;
export declare const AuditTrail: MessageFns<AuditTrail>;
export declare const AuditTrail_EffectivePoliciesEntry: MessageFns<AuditTrail_EffectivePoliciesEntry>;
export interface MessageFns<T> {
    fromJSON(object: any): T;
    toJSON(message: T): unknown;
}
//# sourceMappingURL=audit.d.ts.map