import { type Empty } from "../../../google/protobuf/empty";
import { type AccessLogEntry, type DecisionLogEntry } from "../../audit/v1/audit";
import { type Effect } from "../../effect/v1/effect";
import { type OutputEntry, type PlanResourcesFilter } from "../../engine/v1/engine";
import { type Policy } from "../../policy/v1/policy";
import { type Schema, type 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 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 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 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 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 {
}
//# sourceMappingURL=response.d.ts.map