import Long from "long"; import type { CallContext, CallOptions } from "nice-grpc-common"; import { GetInstanceFeaturesRequest, GetInstanceFeaturesResponse, ResetInstanceFeaturesRequest, ResetInstanceFeaturesResponse, SetInstanceFeaturesRequest, SetInstanceFeaturesResponse } from "./instance.js"; import { GetOrganizationFeaturesRequest, GetOrganizationFeaturesResponse, ResetOrganizationFeaturesRequest, ResetOrganizationFeaturesResponse, SetOrganizationFeaturesRequest, SetOrganizationFeaturesResponse } from "./organization.js"; import { GetSystemFeaturesRequest, GetSystemFeaturesResponse, ResetSystemFeaturesRequest, ResetSystemFeaturesResponse, SetSystemFeaturesRequest, SetSystemFeaturesResponse } from "./system.js"; import { GetUserFeaturesRequest, GetUserFeaturesResponse, ResetUserFeaturesRequest, ResetUserFeaturesResponse, SetUserFeatureRequest, SetUserFeaturesResponse } from "./user.js"; export declare const protobufPackage = "zitadel.feature.v2beta"; /** * FeatureService is intended to manage features for ZITADEL. * * Feature settings that are available on multiple "levels", such as instance and organization. * The higher level (instance) acts as a default for the lower level (organization). * When a feature is set on multiple levels, the lower level takes precedence. * * Features can be experimental where ZITADEL will assume a sane default, such as disabled. * When over time confidence in such a feature grows, ZITADEL can default to enabling the feature. * As a final step we might choose to always enable a feature and remove the setting from this API, * reserving the proto field number. Such removal is not considered a breaking change. * Setting a removed field will effectively result in a no-op. */ export type FeatureServiceDefinition = typeof FeatureServiceDefinition; export declare const FeatureServiceDefinition: { readonly name: "FeatureService"; readonly fullName: "zitadel.feature.v2beta.FeatureService"; readonly methods: { readonly setSystemFeatures: { readonly name: "SetSystemFeatures"; readonly requestType: import("./system.js").MessageFns; readonly requestStream: false; readonly responseType: import("./system.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly resetSystemFeatures: { readonly name: "ResetSystemFeatures"; readonly requestType: import("./system.js").MessageFns; readonly requestStream: false; readonly responseType: import("./system.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly getSystemFeatures: { readonly name: "GetSystemFeatures"; readonly requestType: import("./system.js").MessageFns; readonly requestStream: false; readonly responseType: import("./system.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly setInstanceFeatures: { readonly name: "SetInstanceFeatures"; readonly requestType: import("./instance.js").MessageFns; readonly requestStream: false; readonly responseType: import("./instance.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly resetInstanceFeatures: { readonly name: "ResetInstanceFeatures"; readonly requestType: import("./instance.js").MessageFns; readonly requestStream: false; readonly responseType: import("./instance.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly getInstanceFeatures: { readonly name: "GetInstanceFeatures"; readonly requestType: import("./instance.js").MessageFns; readonly requestStream: false; readonly responseType: import("./instance.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly setOrganizationFeatures: { readonly name: "SetOrganizationFeatures"; readonly requestType: import("./organization.js").MessageFns; readonly requestStream: false; readonly responseType: import("./organization.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly resetOrganizationFeatures: { readonly name: "ResetOrganizationFeatures"; readonly requestType: import("./organization.js").MessageFns; readonly requestStream: false; readonly responseType: import("./organization.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly getOrganizationFeatures: { readonly name: "GetOrganizationFeatures"; readonly requestType: import("./organization.js").MessageFns; readonly requestStream: false; readonly responseType: import("./organization.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly setUserFeatures: { readonly name: "SetUserFeatures"; readonly requestType: import("./user.js").MessageFns; readonly requestStream: false; readonly responseType: import("./user.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly resetUserFeatures: { readonly name: "ResetUserFeatures"; readonly requestType: import("./user.js").MessageFns; readonly requestStream: false; readonly responseType: import("./user.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; readonly getUserFeatures: { readonly name: "GetUserFeatures"; readonly requestType: import("./user.js").MessageFns; readonly requestStream: false; readonly responseType: import("./user.js").MessageFns; readonly responseStream: false; readonly options: { readonly _unknownFields: { readonly 8338: readonly [Buffer]; readonly 400010: readonly [Buffer]; readonly 578365826: readonly [Buffer]; }; }; }; }; }; export interface FeatureServiceImplementation { setSystemFeatures(request: SetSystemFeaturesRequest, context: CallContext & CallContextExt): Promise>; resetSystemFeatures(request: ResetSystemFeaturesRequest, context: CallContext & CallContextExt): Promise>; getSystemFeatures(request: GetSystemFeaturesRequest, context: CallContext & CallContextExt): Promise>; setInstanceFeatures(request: SetInstanceFeaturesRequest, context: CallContext & CallContextExt): Promise>; resetInstanceFeatures(request: ResetInstanceFeaturesRequest, context: CallContext & CallContextExt): Promise>; getInstanceFeatures(request: GetInstanceFeaturesRequest, context: CallContext & CallContextExt): Promise>; setOrganizationFeatures(request: SetOrganizationFeaturesRequest, context: CallContext & CallContextExt): Promise>; resetOrganizationFeatures(request: ResetOrganizationFeaturesRequest, context: CallContext & CallContextExt): Promise>; getOrganizationFeatures(request: GetOrganizationFeaturesRequest, context: CallContext & CallContextExt): Promise>; setUserFeatures(request: SetUserFeatureRequest, context: CallContext & CallContextExt): Promise>; resetUserFeatures(request: ResetUserFeaturesRequest, context: CallContext & CallContextExt): Promise>; getUserFeatures(request: GetUserFeaturesRequest, context: CallContext & CallContextExt): Promise>; } export interface FeatureServiceClient { setSystemFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; resetSystemFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getSystemFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; setInstanceFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; resetInstanceFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getInstanceFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; setOrganizationFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; resetOrganizationFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getOrganizationFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; setUserFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; resetUserFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; getUserFeatures(request: DeepPartial, options?: CallOptions & CallOptionsExt): Promise; } type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; export {};