import { type CallOptions, ChannelCredentials, Client, type ClientOptions, type ClientReadableStream, type ClientUnaryCall, type handleServerStreamingCall, type handleUnaryCall, Metadata, type ServiceError, type UntypedServiceImplementation } from "@grpc/grpc-js";
import { AddOrUpdatePolicyRequest, AddOrUpdateSchemaRequest, CheckResourceBatchRequest, CheckResourceSetRequest, CheckResourcesRequest, DeleteSchemaRequest, DisablePolicyRequest, EnablePolicyRequest, GetPolicyRequest, GetSchemaRequest, InspectPoliciesRequest, ListAuditLogEntriesRequest, ListPoliciesRequest, ListSchemasRequest, PlanResourcesRequest, ReloadStoreRequest, ServerInfoRequest } from "../../request/v1/request";
import { AddOrUpdatePolicyResponse, AddOrUpdateSchemaResponse, CheckResourceBatchResponse, CheckResourceSetResponse, CheckResourcesResponse, DeleteSchemaResponse, DisablePolicyResponse, EnablePolicyResponse, GetPolicyResponse, GetSchemaResponse, InspectPoliciesResponse, ListAuditLogEntriesResponse, ListPoliciesResponse, ListSchemasResponse, PlanResourcesResponse, ReloadStoreResponse, ServerInfoResponse } from "../../response/v1/response";
export declare const protobufPackage = "cerbos.svc.v1";
export type CerbosServiceService = typeof CerbosServiceService;
export declare const CerbosServiceService: {
    readonly checkResourceSet: {
        readonly path: "/cerbos.svc.v1.CerbosService/CheckResourceSet";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: CheckResourceSetRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => CheckResourceSetRequest;
        readonly responseSerialize: (value: CheckResourceSetResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => CheckResourceSetResponse;
    };
    readonly checkResourceBatch: {
        readonly path: "/cerbos.svc.v1.CerbosService/CheckResourceBatch";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: CheckResourceBatchRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => CheckResourceBatchRequest;
        readonly responseSerialize: (value: CheckResourceBatchResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => CheckResourceBatchResponse;
    };
    readonly checkResources: {
        readonly path: "/cerbos.svc.v1.CerbosService/CheckResources";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: CheckResourcesRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => CheckResourcesRequest;
        readonly responseSerialize: (value: CheckResourcesResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => CheckResourcesResponse;
    };
    readonly serverInfo: {
        readonly path: "/cerbos.svc.v1.CerbosService/ServerInfo";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: ServerInfoRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => ServerInfoRequest;
        readonly responseSerialize: (value: ServerInfoResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => ServerInfoResponse;
    };
    readonly planResources: {
        readonly path: "/cerbos.svc.v1.CerbosService/PlanResources";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: PlanResourcesRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => PlanResourcesRequest;
        readonly responseSerialize: (value: PlanResourcesResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => PlanResourcesResponse;
    };
};
export interface CerbosServiceServer extends UntypedServiceImplementation {
    checkResourceSet: handleUnaryCall<CheckResourceSetRequest, CheckResourceSetResponse>;
    checkResourceBatch: handleUnaryCall<CheckResourceBatchRequest, CheckResourceBatchResponse>;
    checkResources: handleUnaryCall<CheckResourcesRequest, CheckResourcesResponse>;
    serverInfo: handleUnaryCall<ServerInfoRequest, ServerInfoResponse>;
    planResources: handleUnaryCall<PlanResourcesRequest, PlanResourcesResponse>;
}
export interface CerbosServiceClient extends Client {
    checkResourceSet(request: CheckResourceSetRequest, callback: (error: ServiceError | null, response: CheckResourceSetResponse) => void): ClientUnaryCall;
    checkResourceSet(request: CheckResourceSetRequest, metadata: Metadata, callback: (error: ServiceError | null, response: CheckResourceSetResponse) => void): ClientUnaryCall;
    checkResourceSet(request: CheckResourceSetRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: CheckResourceSetResponse) => void): ClientUnaryCall;
    checkResourceBatch(request: CheckResourceBatchRequest, callback: (error: ServiceError | null, response: CheckResourceBatchResponse) => void): ClientUnaryCall;
    checkResourceBatch(request: CheckResourceBatchRequest, metadata: Metadata, callback: (error: ServiceError | null, response: CheckResourceBatchResponse) => void): ClientUnaryCall;
    checkResourceBatch(request: CheckResourceBatchRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: CheckResourceBatchResponse) => void): ClientUnaryCall;
    checkResources(request: CheckResourcesRequest, callback: (error: ServiceError | null, response: CheckResourcesResponse) => void): ClientUnaryCall;
    checkResources(request: CheckResourcesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: CheckResourcesResponse) => void): ClientUnaryCall;
    checkResources(request: CheckResourcesRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: CheckResourcesResponse) => void): ClientUnaryCall;
    serverInfo(request: ServerInfoRequest, callback: (error: ServiceError | null, response: ServerInfoResponse) => void): ClientUnaryCall;
    serverInfo(request: ServerInfoRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ServerInfoResponse) => void): ClientUnaryCall;
    serverInfo(request: ServerInfoRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ServerInfoResponse) => void): ClientUnaryCall;
    planResources(request: PlanResourcesRequest, callback: (error: ServiceError | null, response: PlanResourcesResponse) => void): ClientUnaryCall;
    planResources(request: PlanResourcesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: PlanResourcesResponse) => void): ClientUnaryCall;
    planResources(request: PlanResourcesRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: PlanResourcesResponse) => void): ClientUnaryCall;
}
export declare const CerbosServiceClient: {
    new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): CerbosServiceClient;
    service: typeof CerbosServiceService;
    serviceName: string;
};
export type CerbosAdminServiceService = typeof CerbosAdminServiceService;
export declare const CerbosAdminServiceService: {
    readonly addOrUpdatePolicy: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/AddOrUpdatePolicy";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: AddOrUpdatePolicyRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => AddOrUpdatePolicyRequest;
        readonly responseSerialize: (value: AddOrUpdatePolicyResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => AddOrUpdatePolicyResponse;
    };
    readonly inspectPolicies: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/InspectPolicies";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: InspectPoliciesRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => InspectPoliciesRequest;
        readonly responseSerialize: (value: InspectPoliciesResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => InspectPoliciesResponse;
    };
    readonly listPolicies: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/ListPolicies";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: ListPoliciesRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => ListPoliciesRequest;
        readonly responseSerialize: (value: ListPoliciesResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => ListPoliciesResponse;
    };
    readonly getPolicy: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/GetPolicy";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: GetPolicyRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => GetPolicyRequest;
        readonly responseSerialize: (value: GetPolicyResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => GetPolicyResponse;
    };
    readonly disablePolicy: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/DisablePolicy";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: DisablePolicyRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => DisablePolicyRequest;
        readonly responseSerialize: (value: DisablePolicyResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => DisablePolicyResponse;
    };
    readonly enablePolicy: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/EnablePolicy";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: EnablePolicyRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => EnablePolicyRequest;
        readonly responseSerialize: (value: EnablePolicyResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => EnablePolicyResponse;
    };
    readonly listAuditLogEntries: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/ListAuditLogEntries";
        readonly requestStream: false;
        readonly responseStream: true;
        readonly requestSerialize: (value: ListAuditLogEntriesRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => ListAuditLogEntriesRequest;
        readonly responseSerialize: (value: ListAuditLogEntriesResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => ListAuditLogEntriesResponse;
    };
    readonly addOrUpdateSchema: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/AddOrUpdateSchema";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: AddOrUpdateSchemaRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => AddOrUpdateSchemaRequest;
        readonly responseSerialize: (value: AddOrUpdateSchemaResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => AddOrUpdateSchemaResponse;
    };
    readonly listSchemas: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/ListSchemas";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: ListSchemasRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => ListSchemasRequest;
        readonly responseSerialize: (value: ListSchemasResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => ListSchemasResponse;
    };
    readonly getSchema: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/GetSchema";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: GetSchemaRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => GetSchemaRequest;
        readonly responseSerialize: (value: GetSchemaResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => GetSchemaResponse;
    };
    readonly deleteSchema: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/DeleteSchema";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: DeleteSchemaRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => DeleteSchemaRequest;
        readonly responseSerialize: (value: DeleteSchemaResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => DeleteSchemaResponse;
    };
    readonly reloadStore: {
        readonly path: "/cerbos.svc.v1.CerbosAdminService/ReloadStore";
        readonly requestStream: false;
        readonly responseStream: false;
        readonly requestSerialize: (value: ReloadStoreRequest) => Buffer<ArrayBuffer>;
        readonly requestDeserialize: (value: Buffer) => ReloadStoreRequest;
        readonly responseSerialize: (value: ReloadStoreResponse) => Buffer<ArrayBuffer>;
        readonly responseDeserialize: (value: Buffer) => ReloadStoreResponse;
    };
};
export interface CerbosAdminServiceServer extends UntypedServiceImplementation {
    addOrUpdatePolicy: handleUnaryCall<AddOrUpdatePolicyRequest, AddOrUpdatePolicyResponse>;
    inspectPolicies: handleUnaryCall<InspectPoliciesRequest, InspectPoliciesResponse>;
    listPolicies: handleUnaryCall<ListPoliciesRequest, ListPoliciesResponse>;
    getPolicy: handleUnaryCall<GetPolicyRequest, GetPolicyResponse>;
    disablePolicy: handleUnaryCall<DisablePolicyRequest, DisablePolicyResponse>;
    enablePolicy: handleUnaryCall<EnablePolicyRequest, EnablePolicyResponse>;
    listAuditLogEntries: handleServerStreamingCall<ListAuditLogEntriesRequest, ListAuditLogEntriesResponse>;
    addOrUpdateSchema: handleUnaryCall<AddOrUpdateSchemaRequest, AddOrUpdateSchemaResponse>;
    listSchemas: handleUnaryCall<ListSchemasRequest, ListSchemasResponse>;
    getSchema: handleUnaryCall<GetSchemaRequest, GetSchemaResponse>;
    deleteSchema: handleUnaryCall<DeleteSchemaRequest, DeleteSchemaResponse>;
    reloadStore: handleUnaryCall<ReloadStoreRequest, ReloadStoreResponse>;
}
export interface CerbosAdminServiceClient extends Client {
    addOrUpdatePolicy(request: AddOrUpdatePolicyRequest, callback: (error: ServiceError | null, response: AddOrUpdatePolicyResponse) => void): ClientUnaryCall;
    addOrUpdatePolicy(request: AddOrUpdatePolicyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: AddOrUpdatePolicyResponse) => void): ClientUnaryCall;
    addOrUpdatePolicy(request: AddOrUpdatePolicyRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: AddOrUpdatePolicyResponse) => void): ClientUnaryCall;
    inspectPolicies(request: InspectPoliciesRequest, callback: (error: ServiceError | null, response: InspectPoliciesResponse) => void): ClientUnaryCall;
    inspectPolicies(request: InspectPoliciesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: InspectPoliciesResponse) => void): ClientUnaryCall;
    inspectPolicies(request: InspectPoliciesRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: InspectPoliciesResponse) => void): ClientUnaryCall;
    listPolicies(request: ListPoliciesRequest, callback: (error: ServiceError | null, response: ListPoliciesResponse) => void): ClientUnaryCall;
    listPolicies(request: ListPoliciesRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListPoliciesResponse) => void): ClientUnaryCall;
    listPolicies(request: ListPoliciesRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ListPoliciesResponse) => void): ClientUnaryCall;
    getPolicy(request: GetPolicyRequest, callback: (error: ServiceError | null, response: GetPolicyResponse) => void): ClientUnaryCall;
    getPolicy(request: GetPolicyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetPolicyResponse) => void): ClientUnaryCall;
    getPolicy(request: GetPolicyRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: GetPolicyResponse) => void): ClientUnaryCall;
    disablePolicy(request: DisablePolicyRequest, callback: (error: ServiceError | null, response: DisablePolicyResponse) => void): ClientUnaryCall;
    disablePolicy(request: DisablePolicyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: DisablePolicyResponse) => void): ClientUnaryCall;
    disablePolicy(request: DisablePolicyRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: DisablePolicyResponse) => void): ClientUnaryCall;
    enablePolicy(request: EnablePolicyRequest, callback: (error: ServiceError | null, response: EnablePolicyResponse) => void): ClientUnaryCall;
    enablePolicy(request: EnablePolicyRequest, metadata: Metadata, callback: (error: ServiceError | null, response: EnablePolicyResponse) => void): ClientUnaryCall;
    enablePolicy(request: EnablePolicyRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: EnablePolicyResponse) => void): ClientUnaryCall;
    listAuditLogEntries(request: ListAuditLogEntriesRequest, options?: Partial<CallOptions>): ClientReadableStream<ListAuditLogEntriesResponse>;
    listAuditLogEntries(request: ListAuditLogEntriesRequest, metadata?: Metadata, options?: Partial<CallOptions>): ClientReadableStream<ListAuditLogEntriesResponse>;
    addOrUpdateSchema(request: AddOrUpdateSchemaRequest, callback: (error: ServiceError | null, response: AddOrUpdateSchemaResponse) => void): ClientUnaryCall;
    addOrUpdateSchema(request: AddOrUpdateSchemaRequest, metadata: Metadata, callback: (error: ServiceError | null, response: AddOrUpdateSchemaResponse) => void): ClientUnaryCall;
    addOrUpdateSchema(request: AddOrUpdateSchemaRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: AddOrUpdateSchemaResponse) => void): ClientUnaryCall;
    listSchemas(request: ListSchemasRequest, callback: (error: ServiceError | null, response: ListSchemasResponse) => void): ClientUnaryCall;
    listSchemas(request: ListSchemasRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListSchemasResponse) => void): ClientUnaryCall;
    listSchemas(request: ListSchemasRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ListSchemasResponse) => void): ClientUnaryCall;
    getSchema(request: GetSchemaRequest, callback: (error: ServiceError | null, response: GetSchemaResponse) => void): ClientUnaryCall;
    getSchema(request: GetSchemaRequest, metadata: Metadata, callback: (error: ServiceError | null, response: GetSchemaResponse) => void): ClientUnaryCall;
    getSchema(request: GetSchemaRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: GetSchemaResponse) => void): ClientUnaryCall;
    deleteSchema(request: DeleteSchemaRequest, callback: (error: ServiceError | null, response: DeleteSchemaResponse) => void): ClientUnaryCall;
    deleteSchema(request: DeleteSchemaRequest, metadata: Metadata, callback: (error: ServiceError | null, response: DeleteSchemaResponse) => void): ClientUnaryCall;
    deleteSchema(request: DeleteSchemaRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: DeleteSchemaResponse) => void): ClientUnaryCall;
    reloadStore(request: ReloadStoreRequest, callback: (error: ServiceError | null, response: ReloadStoreResponse) => void): ClientUnaryCall;
    reloadStore(request: ReloadStoreRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ReloadStoreResponse) => void): ClientUnaryCall;
    reloadStore(request: ReloadStoreRequest, metadata: Metadata, options: Partial<CallOptions>, callback: (error: ServiceError | null, response: ReloadStoreResponse) => void): ClientUnaryCall;
}
export declare const CerbosAdminServiceClient: {
    new (address: string, credentials: ChannelCredentials, options?: Partial<ClientOptions>): CerbosAdminServiceClient;
    service: typeof CerbosAdminServiceService;
    serviceName: string;
};
//# sourceMappingURL=svc.d.ts.map