import { Duration } from "../../../google/protobuf/duration";
import { PlanResourcesInput_Resource, Principal, Resource } from "../../engine/v1/engine";
import { Policy } from "../../policy/v1/policy";
import { Schema } from "../../schema/v1/schema";
export declare const protobufPackage = "cerbos.request.v1";
export interface PlanResourcesRequest {
    requestId: string;
    action: string;
    principal: Principal | undefined;
    resource: PlanResourcesInput_Resource | undefined;
    auxData: AuxData | undefined;
    includeMeta: boolean;
}
export interface CheckResourceSetRequest {
    requestId: string;
    actions: string[];
    principal: Principal | undefined;
    resource: ResourceSet | undefined;
    includeMeta: boolean;
    auxData: AuxData | undefined;
}
export interface ResourceSet {
    kind: string;
    policyVersion: string;
    instances: {
        [key: string]: AttributesMap;
    };
    scope: string;
}
export interface ResourceSet_InstancesEntry {
    key: string;
    value: AttributesMap | undefined;
}
export interface AttributesMap {
    attr: {
        [key: string]: any | undefined;
    };
}
export interface AttributesMap_AttrEntry {
    key: string;
    value: any | undefined;
}
export interface CheckResourceBatchRequest {
    requestId: string;
    principal: Principal | undefined;
    resources: CheckResourceBatchRequest_BatchEntry[];
    auxData: AuxData | undefined;
}
export interface CheckResourceBatchRequest_BatchEntry {
    actions: string[];
    resource: Resource | undefined;
}
export interface CheckResourcesRequest {
    requestId: string;
    includeMeta: boolean;
    principal: Principal | undefined;
    resources: CheckResourcesRequest_ResourceEntry[];
    auxData: AuxData | undefined;
}
export interface CheckResourcesRequest_ResourceEntry {
    actions: string[];
    resource: Resource | undefined;
}
export interface AuxData {
    jwt: AuxData_JWT | undefined;
}
export interface AuxData_JWT {
    token: string;
    keySetId: string;
}
export interface AddOrUpdatePolicyRequest {
    policies: Policy[];
}
export interface ListAuditLogEntriesRequest {
    kind: ListAuditLogEntriesRequest_Kind;
    filter?: {
        $case: "tail";
        tail: number;
    } | {
        $case: "between";
        between: ListAuditLogEntriesRequest_TimeRange;
    } | {
        $case: "since";
        since: Duration;
    } | {
        $case: "lookup";
        lookup: string;
    } | undefined;
}
export declare enum ListAuditLogEntriesRequest_Kind {
    KIND_UNSPECIFIED = 0,
    KIND_ACCESS = 1,
    KIND_DECISION = 2
}
export declare function listAuditLogEntriesRequest_KindFromJSON(object: any): ListAuditLogEntriesRequest_Kind;
export declare function listAuditLogEntriesRequest_KindToJSON(object: ListAuditLogEntriesRequest_Kind): string;
export interface ListAuditLogEntriesRequest_TimeRange {
    start: Date | undefined;
    end: Date | undefined;
}
export interface ServerInfoRequest {
}
export interface ListPoliciesRequest {
    includeDisabled: boolean;
    nameRegexp: string;
    scopeRegexp: string;
    versionRegexp: string;
    policyId: string[];
}
export interface GetPolicyRequest {
    id: string[];
}
export interface DisablePolicyRequest {
    id: string[];
}
export interface EnablePolicyRequest {
    id: string[];
}
export interface InspectPoliciesRequest {
    includeDisabled: boolean;
    nameRegexp: string;
    scopeRegexp: string;
    versionRegexp: string;
    policyId: string[];
}
export interface AddOrUpdateSchemaRequest {
    schemas: Schema[];
}
export interface ListSchemasRequest {
}
export interface GetSchemaRequest {
    id: string[];
}
export interface DeleteSchemaRequest {
    id: string[];
}
export interface ReloadStoreRequest {
    wait: boolean;
}
export declare const PlanResourcesRequest: MessageFns<PlanResourcesRequest>;
export declare const CheckResourceSetRequest: MessageFns<CheckResourceSetRequest>;
export declare const ResourceSet: MessageFns<ResourceSet>;
export declare const ResourceSet_InstancesEntry: MessageFns<ResourceSet_InstancesEntry>;
export declare const AttributesMap: MessageFns<AttributesMap>;
export declare const AttributesMap_AttrEntry: MessageFns<AttributesMap_AttrEntry>;
export declare const CheckResourceBatchRequest: MessageFns<CheckResourceBatchRequest>;
export declare const CheckResourceBatchRequest_BatchEntry: MessageFns<CheckResourceBatchRequest_BatchEntry>;
export declare const CheckResourcesRequest: MessageFns<CheckResourcesRequest>;
export declare const CheckResourcesRequest_ResourceEntry: MessageFns<CheckResourcesRequest_ResourceEntry>;
export declare const AuxData: MessageFns<AuxData>;
export declare const AuxData_JWT: MessageFns<AuxData_JWT>;
export declare const AddOrUpdatePolicyRequest: MessageFns<AddOrUpdatePolicyRequest>;
export declare const ListAuditLogEntriesRequest: MessageFns<ListAuditLogEntriesRequest>;
export declare const ListAuditLogEntriesRequest_TimeRange: MessageFns<ListAuditLogEntriesRequest_TimeRange>;
export declare const ServerInfoRequest: MessageFns<ServerInfoRequest>;
export declare const ListPoliciesRequest: MessageFns<ListPoliciesRequest>;
export declare const GetPolicyRequest: MessageFns<GetPolicyRequest>;
export declare const DisablePolicyRequest: MessageFns<DisablePolicyRequest>;
export declare const EnablePolicyRequest: MessageFns<EnablePolicyRequest>;
export declare const InspectPoliciesRequest: MessageFns<InspectPoliciesRequest>;
export declare const AddOrUpdateSchemaRequest: MessageFns<AddOrUpdateSchemaRequest>;
export declare const ListSchemasRequest: MessageFns<ListSchemasRequest>;
export declare const GetSchemaRequest: MessageFns<GetSchemaRequest>;
export declare const DeleteSchemaRequest: MessageFns<DeleteSchemaRequest>;
export declare const ReloadStoreRequest: MessageFns<ReloadStoreRequest>;
export interface MessageFns<T> {
    fromJSON(object: any): T;
    toJSON(message: T): unknown;
}
//# sourceMappingURL=request.d.ts.map