import { Empty } from "../../../google/protobuf/empty";
import { AccessLogEntry, DecisionLogEntry } from "../../audit/v1/audit";
import { Effect } from "../../effect/v1/effect";
import { OutputEntry, PlanResourcesFilter } from "../../engine/v1/engine";
import { Policy } from "../../policy/v1/policy";
import { Schema, ValidationError } from "../../schema/v1/schema";
export declare const protobufPackage = "cerbos.response.v1";
export interface PlanResourcesResponse {
    requestId: string;
    action: string;
    resourceKind: string;
    policyVersion: string;
    filter: PlanResourcesFilter | undefined;
    meta: PlanResourcesResponse_Meta | undefined;
    validationErrors: ValidationError[];
    cerbosCallId: string;
}
export interface PlanResourcesResponse_Meta {
    filterDebug: string;
    matchedScope: string;
}
export interface CheckResourceSetResponse {
    requestId: string;
    resourceInstances: {
        [key: string]: CheckResourceSetResponse_ActionEffectMap;
    };
    meta: CheckResourceSetResponse_Meta | undefined;
}
export interface CheckResourceSetResponse_ActionEffectMap {
    actions: {
        [key: string]: Effect;
    };
    validationErrors: ValidationError[];
}
export interface CheckResourceSetResponse_ActionEffectMap_ActionsEntry {
    key: string;
    value: Effect;
}
export interface CheckResourceSetResponse_Meta {
    resourceInstances: {
        [key: string]: CheckResourceSetResponse_Meta_ActionMeta;
    };
}
export interface CheckResourceSetResponse_Meta_EffectMeta {
    matchedPolicy: string;
    matchedScope: string;
}
export interface CheckResourceSetResponse_Meta_ActionMeta {
    actions: {
        [key: string]: CheckResourceSetResponse_Meta_EffectMeta;
    };
    effectiveDerivedRoles: string[];
}
export interface CheckResourceSetResponse_Meta_ActionMeta_ActionsEntry {
    key: string;
    value: CheckResourceSetResponse_Meta_EffectMeta | undefined;
}
export interface CheckResourceSetResponse_Meta_ResourceInstancesEntry {
    key: string;
    value: CheckResourceSetResponse_Meta_ActionMeta | undefined;
}
export interface CheckResourceSetResponse_ResourceInstancesEntry {
    key: string;
    value: CheckResourceSetResponse_ActionEffectMap | undefined;
}
export interface CheckResourceBatchResponse {
    requestId: string;
    results: CheckResourceBatchResponse_ActionEffectMap[];
}
export interface CheckResourceBatchResponse_ActionEffectMap {
    resourceId: string;
    actions: {
        [key: string]: Effect;
    };
    validationErrors: ValidationError[];
}
export interface CheckResourceBatchResponse_ActionEffectMap_ActionsEntry {
    key: string;
    value: Effect;
}
export interface CheckResourcesResponse {
    requestId: string;
    results: CheckResourcesResponse_ResultEntry[];
    cerbosCallId: string;
}
export interface CheckResourcesResponse_ResultEntry {
    resource: CheckResourcesResponse_ResultEntry_Resource | undefined;
    actions: {
        [key: string]: Effect;
    };
    validationErrors: ValidationError[];
    meta: CheckResourcesResponse_ResultEntry_Meta | undefined;
    outputs: OutputEntry[];
}
export interface CheckResourcesResponse_ResultEntry_Resource {
    id: string;
    kind: string;
    policyVersion: string;
    scope: string;
}
export interface CheckResourcesResponse_ResultEntry_Meta {
    actions: {
        [key: string]: CheckResourcesResponse_ResultEntry_Meta_EffectMeta;
    };
    effectiveDerivedRoles: string[];
}
export interface CheckResourcesResponse_ResultEntry_Meta_EffectMeta {
    matchedPolicy: string;
    matchedScope: string;
}
export interface CheckResourcesResponse_ResultEntry_Meta_ActionsEntry {
    key: string;
    value: CheckResourcesResponse_ResultEntry_Meta_EffectMeta | undefined;
}
export interface CheckResourcesResponse_ResultEntry_ActionsEntry {
    key: string;
    value: Effect;
}
export interface AddOrUpdatePolicyResponse {
    success: Empty | undefined;
}
export interface ListAuditLogEntriesResponse {
    entry?: {
        $case: "accessLogEntry";
        accessLogEntry: AccessLogEntry;
    } | {
        $case: "decisionLogEntry";
        decisionLogEntry: DecisionLogEntry;
    } | undefined;
}
export interface ServerInfoResponse {
    version: string;
    commit: string;
    buildDate: string;
}
export interface ListPoliciesResponse {
    policyIds: string[];
}
export interface GetPolicyResponse {
    policies: Policy[];
}
export interface DisablePolicyResponse {
    disabledPolicies: number;
}
export interface EnablePolicyResponse {
    enabledPolicies: number;
}
export interface InspectPoliciesResponse {
    results: {
        [key: string]: InspectPoliciesResponse_Result;
    };
}
export interface InspectPoliciesResponse_Attribute {
    kind: InspectPoliciesResponse_Attribute_Kind;
    name: string;
}
export declare enum InspectPoliciesResponse_Attribute_Kind {
    KIND_UNSPECIFIED = 0,
    KIND_PRINCIPAL_ATTRIBUTE = 1,
    KIND_RESOURCE_ATTRIBUTE = 2
}
export declare function inspectPoliciesResponse_Attribute_KindFromJSON(object: any): InspectPoliciesResponse_Attribute_Kind;
export declare function inspectPoliciesResponse_Attribute_KindToJSON(object: InspectPoliciesResponse_Attribute_Kind): string;
export interface InspectPoliciesResponse_DerivedRole {
    name: string;
    kind: InspectPoliciesResponse_DerivedRole_Kind;
    source: string;
}
export declare enum InspectPoliciesResponse_DerivedRole_Kind {
    KIND_UNSPECIFIED = 0,
    KIND_UNDEFINED = 1,
    KIND_EXPORTED = 2,
    KIND_IMPORTED = 3
}
export declare function inspectPoliciesResponse_DerivedRole_KindFromJSON(object: any): InspectPoliciesResponse_DerivedRole_Kind;
export declare function inspectPoliciesResponse_DerivedRole_KindToJSON(object: InspectPoliciesResponse_DerivedRole_Kind): string;
export interface InspectPoliciesResponse_Constant {
    name: string;
    value: any | undefined;
    kind: InspectPoliciesResponse_Constant_Kind;
    source: string;
    used: boolean;
}
export declare enum InspectPoliciesResponse_Constant_Kind {
    KIND_UNSPECIFIED = 0,
    KIND_EXPORTED = 1,
    KIND_IMPORTED = 2,
    KIND_LOCAL = 3,
    KIND_UNDEFINED = 4,
    KIND_UNKNOWN = 5
}
export declare function inspectPoliciesResponse_Constant_KindFromJSON(object: any): InspectPoliciesResponse_Constant_Kind;
export declare function inspectPoliciesResponse_Constant_KindToJSON(object: InspectPoliciesResponse_Constant_Kind): string;
export interface InspectPoliciesResponse_Variable {
    name: string;
    value: string;
    kind: InspectPoliciesResponse_Variable_Kind;
    source: string;
    used: boolean;
}
export declare enum InspectPoliciesResponse_Variable_Kind {
    KIND_UNSPECIFIED = 0,
    KIND_EXPORTED = 1,
    KIND_IMPORTED = 2,
    KIND_LOCAL = 3,
    KIND_UNDEFINED = 4,
    KIND_UNKNOWN = 5
}
export declare function inspectPoliciesResponse_Variable_KindFromJSON(object: any): InspectPoliciesResponse_Variable_Kind;
export declare function inspectPoliciesResponse_Variable_KindToJSON(object: InspectPoliciesResponse_Variable_Kind): string;
export interface InspectPoliciesResponse_Result {
    actions: string[];
    variables: InspectPoliciesResponse_Variable[];
    policyId: string;
    derivedRoles: InspectPoliciesResponse_DerivedRole[];
    attributes: InspectPoliciesResponse_Attribute[];
    constants: InspectPoliciesResponse_Constant[];
}
export interface InspectPoliciesResponse_ResultsEntry {
    key: string;
    value: InspectPoliciesResponse_Result | undefined;
}
export interface AddOrUpdateSchemaResponse {
}
export interface ListSchemasResponse {
    schemaIds: string[];
}
export interface GetSchemaResponse {
    schemas: Schema[];
}
export interface DeleteSchemaResponse {
    deletedSchemas: number;
}
export interface ReloadStoreResponse {
}
export declare const PlanResourcesResponse: MessageFns<PlanResourcesResponse>;
export declare const PlanResourcesResponse_Meta: MessageFns<PlanResourcesResponse_Meta>;
export declare const CheckResourceSetResponse: MessageFns<CheckResourceSetResponse>;
export declare const CheckResourceSetResponse_ActionEffectMap: MessageFns<CheckResourceSetResponse_ActionEffectMap>;
export declare const CheckResourceSetResponse_ActionEffectMap_ActionsEntry: MessageFns<CheckResourceSetResponse_ActionEffectMap_ActionsEntry>;
export declare const CheckResourceSetResponse_Meta: MessageFns<CheckResourceSetResponse_Meta>;
export declare const CheckResourceSetResponse_Meta_EffectMeta: MessageFns<CheckResourceSetResponse_Meta_EffectMeta>;
export declare const CheckResourceSetResponse_Meta_ActionMeta: MessageFns<CheckResourceSetResponse_Meta_ActionMeta>;
export declare const CheckResourceSetResponse_Meta_ActionMeta_ActionsEntry: MessageFns<CheckResourceSetResponse_Meta_ActionMeta_ActionsEntry>;
export declare const CheckResourceSetResponse_Meta_ResourceInstancesEntry: MessageFns<CheckResourceSetResponse_Meta_ResourceInstancesEntry>;
export declare const CheckResourceSetResponse_ResourceInstancesEntry: MessageFns<CheckResourceSetResponse_ResourceInstancesEntry>;
export declare const CheckResourceBatchResponse: MessageFns<CheckResourceBatchResponse>;
export declare const CheckResourceBatchResponse_ActionEffectMap: MessageFns<CheckResourceBatchResponse_ActionEffectMap>;
export declare const CheckResourceBatchResponse_ActionEffectMap_ActionsEntry: MessageFns<CheckResourceBatchResponse_ActionEffectMap_ActionsEntry>;
export declare const CheckResourcesResponse: MessageFns<CheckResourcesResponse>;
export declare const CheckResourcesResponse_ResultEntry: MessageFns<CheckResourcesResponse_ResultEntry>;
export declare const CheckResourcesResponse_ResultEntry_Resource: MessageFns<CheckResourcesResponse_ResultEntry_Resource>;
export declare const CheckResourcesResponse_ResultEntry_Meta: MessageFns<CheckResourcesResponse_ResultEntry_Meta>;
export declare const CheckResourcesResponse_ResultEntry_Meta_EffectMeta: MessageFns<CheckResourcesResponse_ResultEntry_Meta_EffectMeta>;
export declare const CheckResourcesResponse_ResultEntry_Meta_ActionsEntry: MessageFns<CheckResourcesResponse_ResultEntry_Meta_ActionsEntry>;
export declare const CheckResourcesResponse_ResultEntry_ActionsEntry: MessageFns<CheckResourcesResponse_ResultEntry_ActionsEntry>;
export declare const AddOrUpdatePolicyResponse: MessageFns<AddOrUpdatePolicyResponse>;
export declare const ListAuditLogEntriesResponse: MessageFns<ListAuditLogEntriesResponse>;
export declare const ServerInfoResponse: MessageFns<ServerInfoResponse>;
export declare const ListPoliciesResponse: MessageFns<ListPoliciesResponse>;
export declare const GetPolicyResponse: MessageFns<GetPolicyResponse>;
export declare const DisablePolicyResponse: MessageFns<DisablePolicyResponse>;
export declare const EnablePolicyResponse: MessageFns<EnablePolicyResponse>;
export declare const InspectPoliciesResponse: MessageFns<InspectPoliciesResponse>;
export declare const InspectPoliciesResponse_Attribute: MessageFns<InspectPoliciesResponse_Attribute>;
export declare const InspectPoliciesResponse_DerivedRole: MessageFns<InspectPoliciesResponse_DerivedRole>;
export declare const InspectPoliciesResponse_Constant: MessageFns<InspectPoliciesResponse_Constant>;
export declare const InspectPoliciesResponse_Variable: MessageFns<InspectPoliciesResponse_Variable>;
export declare const InspectPoliciesResponse_Result: MessageFns<InspectPoliciesResponse_Result>;
export declare const InspectPoliciesResponse_ResultsEntry: MessageFns<InspectPoliciesResponse_ResultsEntry>;
export declare const AddOrUpdateSchemaResponse: MessageFns<AddOrUpdateSchemaResponse>;
export declare const ListSchemasResponse: MessageFns<ListSchemasResponse>;
export declare const GetSchemaResponse: MessageFns<GetSchemaResponse>;
export declare const DeleteSchemaResponse: MessageFns<DeleteSchemaResponse>;
export declare const ReloadStoreResponse: MessageFns<ReloadStoreResponse>;
export interface MessageFns<T> {
    fromJSON(object: any): T;
    toJSON(message: T): unknown;
}
//# sourceMappingURL=response.d.ts.map