import { type AdditionalDataHolder, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions'; /** * Authentication configuration for this client */ export interface Auth extends AdditionalDataHolder, Parsable { /** * Public key used to authenticate this client with Signed JWT authentication */ certificate?: string | null; /** * Which authentication method is used for this client */ method?: string | null; /** * Secret used to authenticate this client with Secret authentication */ secret?: string | null; } /** * Base client representation with common properties for all client types */ export interface BaseClientRepresentation extends AdditionalDataHolder, Parsable { /** * URL to the application's homepage that is represented by this client */ appUrl?: string | null; /** * ID uniquely identifying this client */ clientId?: string | null; /** * Human readable description of the client */ description?: string | null; /** * Human readable name of the client */ displayName?: string | null; /** * Whether this client is enabled */ enabled?: boolean | null; /** * The protocol property */ protocol?: string | null; /** * URIs that the browser can redirect to after login */ redirectUris?: string[] | null; /** * Roles associated with this client */ roles?: string[] | null; /** * UUID generated by the server */ uuid?: string | null; } /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {Auth} */ export declare function createAuthFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {BaseClientRepresentation} */ export declare function createBaseClientRepresentationFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {OIDCClientRepresentation} */ export declare function createOIDCClientRepresentationFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {SAMLClientRepresentation} */ export declare function createSAMLClientRepresentationFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * The deserialization information for the current model * @param Auth The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoAuth(auth?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param BaseClientRepresentation The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoBaseClientRepresentation(baseClientRepresentation?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param OIDCClientRepresentation The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoOIDCClientRepresentation(oIDCClientRepresentation?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param SAMLClientRepresentation The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoSAMLClientRepresentation(sAMLClientRepresentation?: Partial | undefined): Record void>; export type Flow = (typeof FlowObject)[keyof typeof FlowObject]; export interface OIDCClientRepresentation extends BaseClientRepresentation, Parsable { /** * Authentication configuration for this client */ auth?: Auth | null; /** * Login flows that are enabled for this client */ loginFlows?: Flow[] | null; /** * Roles assigned to the service account */ serviceAccountRoles?: string[] | null; /** * Web origins that are allowed to make requests to this client */ webOrigins?: string[] | null; } /** * SAML Client configuration */ export interface SAMLClientRepresentation extends BaseClientRepresentation, Parsable { /** * Allow ECP (Enhanced Client or Proxy) flow */ allowEcpFlow?: boolean | null; /** * Require client to sign SAML requests */ clientSignatureRequired?: boolean | null; /** * Force the specified Name ID format even if the client requests a different one */ forceNameIdFormat?: boolean | null; /** * Force POST binding for SAML responses */ forcePostBinding?: boolean | null; /** * Use front-channel logout (browser redirect) */ frontChannelLogout?: boolean | null; /** * Include AuthnStatement in the SAML response */ includeAuthnStatement?: boolean | null; /** * Name ID format to use for the subject (e.g., 'username', 'email', 'transient', 'persistent') */ nameIdFormat?: string | null; /** * Sign SAML assertions */ signAssertions?: boolean | null; /** * Signature algorithm for signing SAML documents (e.g., 'RSA_SHA256', 'RSA_SHA512') */ signatureAlgorithm?: string | null; /** * Canonicalization method for XML signatures */ signatureCanonicalizationMethod?: string | null; /** * Sign SAML documents on the server side */ signDocuments?: boolean | null; /** * X.509 certificate for signing (PEM format, without headers) */ signingCertificate?: string | null; } /** * Serializes information the current object * @param Auth The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeAuth(writer: SerializationWriter, auth?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param BaseClientRepresentation The instance to serialize from. * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param writer Serialization writer to use to serialize this model */ export declare function serializeBaseClientRepresentation(writer: SerializationWriter, baseClientRepresentation?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param OIDCClientRepresentation The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeOIDCClientRepresentation(writer: SerializationWriter, oIDCClientRepresentation?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param SAMLClientRepresentation The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeSAMLClientRepresentation(writer: SerializationWriter, sAMLClientRepresentation?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; export declare const FlowObject: { readonly STANDARD: "STANDARD"; readonly IMPLICIT: "IMPLICIT"; readonly DIRECT_GRANT: "DIRECT_GRANT"; readonly SERVICE_ACCOUNT: "SERVICE_ACCOUNT"; readonly TOKEN_EXCHANGE: "TOKEN_EXCHANGE"; readonly DEVICE: "DEVICE"; readonly CIBA: "CIBA"; };