/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
/**
 * OAuth 2.0 Client metadata described in <a href="https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata">OpenID Connect Core 1.0 Client Metadata</a>
 * @export
 * @interface OAuthClient
 */
export interface OAuthClient {
    /**
     * The unique ID for the OAuth client, created by Synapse
     * @type {string}
     * @memberof OAuthClient
     */
    client_id?: string;
    /**
     * Name of the Client to be presented to the End-User.
     * @type {string}
     * @memberof OAuthClient
     */
    client_name?: string;
    /**
     * Array of Redirection URI values used by the Client. One of these registered Redirection URI values MUST exactly match the redirect_uri parameter value used in each Authorization Request. If the 'sector_identifier_uri' is provided then the URIs in this list must be in the list of URIs in the JSON document referenced by the sector_identifier_uri.
     * @type {Array<string>}
     * @memberof OAuthClient
     */
    redirect_uris?: Array<string>;
    /**
     * Initially false, to verify your client please see the <a href="https://help.synapse.org/docs/Using-Synapse-as-an-OAuth-Server.2048327904.html">Synapse OAuth Server Documentation</a>
     * @type {boolean}
     * @memberof OAuthClient
     */
    verified?: boolean;
    /**
     * URL of the home page of the Client. The value of this field MUST point to a valid Web page.
     * @type {string}
     * @memberof OAuthClient
     */
    client_uri?: string;
    /**
     * URL that the Relying Party Client provides to the End-User to read about the how the profile data will be used. The value of this field MUST point to a valid web page.
     * @type {string}
     * @memberof OAuthClient
     */
    policy_uri?: string;
    /**
     * URL that the Relying Party Client provides to the End-User to read about the Relying Party's terms of service. The value of this field MUST point to a valid web page.
     * @type {string}
     * @memberof OAuthClient
     */
    tos_uri?: string;
    /**
     * URL using the https scheme to be used in calculating Pseudonymous Identifiers by Synapse. The URL must reference a file with a single JSON array of redirect_uri values. Synapse will utilize the sector_identifier_uri value provided in the Subject Identifier calculation for pairwise identifiers.
     * @type {string}
     * @memberof OAuthClient
     */
    sector_identifier_uri?: string;
    /**
     * The sector identified, computed by the server from the redirect_uris and sector_identifier_uri fields as described in <a href="https://openid.net/specs/openid-connect-core-1_0.html#PairwiseAlg">OpenID Connect Core 1.0 Pairwise Identifier Algorithm</a>
     * @type {string}
     * @memberof OAuthClient
     */
    sector_identifier?: string;
    /**
     * The JWT signing algorithms supported by Synapse
     * @type {string}
     * @memberof OAuthClient
     */
    userinfo_signed_response_alg?: OAuthClientUserinfoSignedResponseAlgEnum;
    /**
     * The date this client was created.
     * @type {string}
     * @memberof OAuthClient
     */
    createdOn?: string;
    /**
     * The date this client was last modified.
     * @type {string}
     * @memberof OAuthClient
     */
    modifiedOn?: string;
    /**
     * The ID of the user that created this client.
     * @type {string}
     * @memberof OAuthClient
     */
    createdBy?: string;
    /**
     * Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. Since the E-Tag changes every time a client is updated it is used to detect when a client's current representation of an entity is out-of-date.
     * @type {string}
     * @memberof OAuthClient
     */
    etag?: string;
}
/**
 * @export
 */
export declare const OAuthClientUserinfoSignedResponseAlgEnum: {
    readonly RS256: "RS256";
};
export type OAuthClientUserinfoSignedResponseAlgEnum = typeof OAuthClientUserinfoSignedResponseAlgEnum[keyof typeof OAuthClientUserinfoSignedResponseAlgEnum];
/**
 * Check if a given object implements the OAuthClient interface.
 */
export declare function instanceOfOAuthClient(value: object): value is OAuthClient;
export declare function OAuthClientFromJSON(json: any): OAuthClient;
export declare function OAuthClientFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthClient;
export declare function OAuthClientToJSON(json: any): OAuthClient;
export declare function OAuthClientToJSONTyped(value?: OAuthClient | null, ignoreDiscriminator?: boolean): any;
