import type { BinaryWriteOptions } from '@protobuf-ts/runtime';
import type { IBinaryWriter } from '@protobuf-ts/runtime';
import type { BinaryReadOptions } from '@protobuf-ts/runtime';
import type { IBinaryReader } from '@protobuf-ts/runtime';
import type { PartialMessage } from '@protobuf-ts/runtime';
import { MessageType } from '@protobuf-ts/runtime';
import { Struct } from '../../protobuf/struct.js';
/**
 * `AuditContext` provides information that is needed for audit logging.
 *
 * @generated from protobuf message google.rpc.context.AuditContext
 */
export interface AuditContext {
    /**
     * Serialized audit log.
     *
     * @generated from protobuf field: bytes audit_log = 1
     */
    auditLog: Uint8Array;
    /**
     * An API request message that is scrubbed based on the method annotation.
     * This field should only be filled if audit_log field is present.
     * Service Control will use this to assemble a complete log for Cloud Audit
     * Logs and Google internal audit logs.
     *
     * @generated from protobuf field: google.protobuf.Struct scrubbed_request = 2
     */
    scrubbedRequest?: Struct;
    /**
     * An API response message that is scrubbed based on the method annotation.
     * This field should only be filled if audit_log field is present.
     * Service Control will use this to assemble a complete log for Cloud Audit
     * Logs and Google internal audit logs.
     *
     * @generated from protobuf field: google.protobuf.Struct scrubbed_response = 3
     */
    scrubbedResponse?: Struct;
    /**
     * Number of scrubbed response items.
     *
     * @generated from protobuf field: int32 scrubbed_response_item_count = 4
     */
    scrubbedResponseItemCount: number;
    /**
     * Audit resource name which is scrubbed.
     *
     * @generated from protobuf field: string target_resource = 5
     */
    targetResource: string;
}
declare class AuditContext$Type extends MessageType<AuditContext> {
    constructor();
    create(value?: PartialMessage<AuditContext>): AuditContext;
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuditContext): AuditContext;
    internalBinaryWrite(message: AuditContext, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
 * @generated MessageType for protobuf message google.rpc.context.AuditContext
 */
export declare const AuditContext: AuditContext$Type;
export {};
//# sourceMappingURL=audit_context.d.ts.map