/** * @hidden * @packageDocumentation */ type IClientBase = { clientName?: string; idTokenSignedResponseAlg?: string; }; /** * @hidden */ export type ISolidOidcClient = IClientBase & { clientId: string; clientType: "solid-oidc"; clientSecret?: undefined; }; /** * @hidden */ export type IOpenIdStaticClient = IClientBase & { clientId: string; clientSecret: string; clientType: "static"; }; /** * @hidden */ export type IOpenIdDynamicClient = IClientBase & { clientId: string; clientType: "dynamic"; } & ({ clientSecret: string; expiresAt: number; } | { clientSecret?: undefined; expiresAt?: undefined; }); /** * @hidden */ export type IClient = ISolidOidcClient | IOpenIdStaticClient | IOpenIdDynamicClient; export {};