import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import Long from "long"; import { InIDsFilter } from "../../filter/v2/filter.js"; import { TextQueryMethod } from "../../object/v2/object.js"; export declare const protobufPackage = "zitadel.instance.v2"; export declare enum State { STATE_UNSPECIFIED = 0, STATE_CREATING = 1, STATE_RUNNING = 2, STATE_STOPPING = 3, STATE_STOPPED = 4, UNRECOGNIZED = -1 } export declare function stateFromJSON(object: any): State; export declare function stateToJSON(object: State): string; export declare enum FieldName { FIELD_NAME_UNSPECIFIED = 0, FIELD_NAME_ID = 1, FIELD_NAME_NAME = 2, FIELD_NAME_CREATION_DATE = 3, UNRECOGNIZED = -1 } export declare function fieldNameFromJSON(object: any): FieldName; export declare function fieldNameToJSON(object: FieldName): string; export declare enum DomainFieldName { DOMAIN_FIELD_NAME_UNSPECIFIED = 0, DOMAIN_FIELD_NAME_DOMAIN = 1, DOMAIN_FIELD_NAME_PRIMARY = 2, DOMAIN_FIELD_NAME_GENERATED = 3, DOMAIN_FIELD_NAME_CREATION_DATE = 4, UNRECOGNIZED = -1 } export declare function domainFieldNameFromJSON(object: any): DomainFieldName; export declare function domainFieldNameToJSON(object: DomainFieldName): string; export declare enum TrustedDomainFieldName { TRUSTED_DOMAIN_FIELD_NAME_UNSPECIFIED = 0, TRUSTED_DOMAIN_FIELD_NAME_DOMAIN = 1, TRUSTED_DOMAIN_FIELD_NAME_CREATION_DATE = 2, UNRECOGNIZED = -1 } export declare function trustedDomainFieldNameFromJSON(object: any): TrustedDomainFieldName; export declare function trustedDomainFieldNameToJSON(object: TrustedDomainFieldName): string; export interface Instance { /** ID is the unique identifier of the instance. */ id: string; /** ChangeDate is the timestamp when the instance was last changed. */ changeDate: Date | undefined; /** CreationDate is the timestamp when the instance was created. */ creationDate: Date | undefined; /** State is the current state of the instance. */ state: State; /** * Name is the display name of the instance. * This can be changed by the instance administrator. */ name: string; /** * Version of the system the instance is running on. * This is managed by the system and cannot be changed by the instance administrator. */ version: string; /** * CustomDomains are the domains that are assigned to the instance. * The list includes auto-generated and manually added domains. * They are all unique across all instances in the system. * They're used to route requests to the correct instance. */ customDomains: CustomDomain[]; } export interface CustomDomain { /** InstanceID is the unique identifier of the instance the domain belongs to. */ instanceId: string; /** CreationDate is the timestamp when the domain was created. */ creationDate: Date | undefined; /** * Domain is the fully qualified domain name. * It must be unique across all instances in the system. */ domain: string; /** * Primary states whether this domain is the primary domain of the instance. * Each instance must have exactly one primary domain. * The primary domain is used for various purposes and acts as fallback * in those cases, e.g if no explicit domain is specified. */ primary: boolean; /** * Generate states whether this domain was auto-generated by the system. * Auto-generated domains follow a specific pattern and are created * when a new instance is created. * They cannot be deleted, but the primary domain can be changed * to a manually added domain. */ generated: boolean; } export interface Filter { /** Filter for one or more specific instance IDs. */ inIdsFilter?: InIDsFilter | undefined; /** Filter for instances that have at least one of the specified custom domains. */ customDomainsFilter?: CustomDomainsFilter | undefined; } export interface CustomDomainsFilter { /** * The domains to query for. All instances that have at least one of the * specified domains will be returned. * A maximum of 20 domains can be specified. */ domains: string[]; } export interface CustomDomainFilter { /** Filter for a specific custom domain. */ domainFilter?: DomainFilter | undefined; /** Filter whether the domain is auto-generated. */ generatedFilter?: boolean | undefined; /** Filter whether the domain is the primary domain of the instance. */ primaryFilter?: boolean | undefined; } export interface DomainFilter { /** The domain to filter for. */ domain: string; /** * The method to use for text comparison. * If not specified, EQUALS is used. */ method: TextQueryMethod; } export interface TrustedDomain { /** InstanceID is the unique identifier of the instance the domain belongs to. */ instanceId: string; /** The timestamp when the domain was created. */ creationDate: Date | undefined; /** Domain is the fully qualified domain name. */ domain: string; } export interface TrustedDomainFilter { /** Filter for a specific trusted domain. */ domainFilter?: DomainFilter | undefined; } export declare const Instance: MessageFns; export declare const CustomDomain: MessageFns; export declare const Filter: MessageFns; export declare const CustomDomainsFilter: MessageFns; export declare const CustomDomainFilter: MessageFns; export declare const DomainFilter: MessageFns; export declare const TrustedDomain: MessageFns; export declare const TrustedDomainFilter: MessageFns; 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 interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create(base?: DeepPartial): T; fromPartial(object: DeepPartial): T; } export {};