export type Operation = {
    /**
     * The method that should be used in the operation. Possible values are add, remove and replace.
     */
    op?: string;
    /**
     * The path to the specify attribute/sub-attribute that should be updated.
     */
    path?: string;
    /**
     * The value that should be updated.
     */
    value?: {
        [key: string]: unknown;
    };
    readonly 'x-class-name'?: string;
};
export type PatchOp = {
    Operations?: Array<Operation>;
    /**
     * The schema associated to this operation.
     */
    schemas?: Array<string>;
    readonly 'x-class-name'?: string;
};
export type Group = {
    /**
     * A human-readable name for the Group.
     */
    displayName?: string;
    /**
     * A String that is an identifier for the resource as defined by the provisioning client.
     */
    externalId?: string;
    /**
     * A unique identifier for a SCIM resource as defined by the service provider.
     */
    readonly id?: string;
    /**
     * A list of members of the Group.
     */
    members?: Array<MultiValuedAttribute>;
    meta?: Meta;
    /**
     * A multi-valued list of strings indicating the namespaces of the SCIM schemas that define the attributes present in the current JSON structure.
     */
    schemas?: Array<string>;
    readonly 'x-class-name'?: string;
};
export type Meta = {
    /**
     * The "DateTime" that the resource was added to the service provider.
     */
    created?: string;
    /**
     * The most recent DateTime that the details of this resource were updated at the service provider.
     */
    lastModified?: string;
    /**
     * The URI of the resource being returned.
     */
    location?: string;
    /**
     * The name of the resource type of the resource.
     */
    resourceType?: string;
    /**
     * The version of the resource being returned.
     */
    version?: string;
    readonly 'x-class-name'?: string;
};
/**
 * A list of certificates associated with the resource (e.g., a User).
 */
export type MultiValuedAttribute = {
    /**
     * The reference URI of a target resource, if the attribute is a reference.
     */
    get$ref?: string;
    /**
     * A human-readable name, primarily used for display purposes and having a mutability of "immutable".
     */
    display?: string;
    /**
     * Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred mailing address or the primary email address.
     */
    primary?: boolean;
    /**
     * A label indicating the attribute's function, e.g., "work" or "home".
     */
    type?: string;
    /**
     * The attribute's significant value, e.g., email address, phone number.
     */
    value?: string;
    readonly 'x-class-name'?: string;
};
export type QueryAttributes = {
    /**
     * A multi-valued list of strings indicating the names of resource attributes to return in the response, overriding the set of attributes that would be returned by default.
     */
    attributes?: Array<string>;
    /**
     * An integer indicating the desired maximum number of query results per page.
     */
    count?: number;
    /**
     * A multi-valued list of strings indicating the names of resource attributes to be removed from the default set of attributes to return.
     */
    excludedAttributes?: Array<string>;
    /**
     * The filter string used to request a subset of resources.
     */
    filter?: string;
    /**
     * A string indicating the attribute whose value SHALL be used to order the returned responses.
     */
    sortBy?: string;
    /**
     * A string indicating the order in which the "sortBy" parameter is applied.
     */
    sortOrder?: string;
    /**
     * An integer indicating the 1-based index of the first query result.
     */
    startIndex?: number;
    readonly 'x-class-name'?: string;
};
/**
 * The components of the user's name.
 */
export type Name = {
    familyName?: string;
    formatted?: string;
    givenName?: string;
    honorificPrefix?: string;
    honorificSuffix?: string;
    middleName?: string;
    readonly 'x-class-name'?: string;
};
export type User = {
    /**
     * A Boolean value indicating the user's administrative status.
     */
    active?: boolean;
    /**
     * A physical mailing address for this user.
     */
    addresses?: Array<{
        [key: string]: unknown;
    }>;
    /**
     * The name of the user, suitable for display to end-users.
     */
    displayName?: string;
    /**
     * Email addresses for the User.
     */
    emails?: Array<MultiValuedAttribute>;
    /**
     * A list of entitlements for the user that represent a thing the user has.
     */
    entitlements?: Array<MultiValuedAttribute>;
    /**
     * A String that is an identifier for the resource as defined by the provisioning client.
     */
    externalId?: string;
    /**
     * A list of groups to which the user belongs, either through direct membership, through nested groups, or dynamically calculated.
     */
    groups?: Array<MultiValuedAttribute>;
    /**
     * A unique identifier for a SCIM resource as defined by the service provider.
     */
    readonly id?: string;
    /**
     * Instant messaging address for the user.
     */
    ims?: Array<MultiValuedAttribute>;
    /**
     * Used to indicate the User's default location for purposes of localizing such items as currency, date time format, or numerical representations.
     */
    locale?: string;
    meta?: Meta;
    name?: Name;
    /**
     * The casual way to address the user in real life, e.g., "Bob" or "Bobby" instead of "Robert".
     */
    nickName?: string;
    password?: string;
    /**
     * Phone numbers for the user.
     */
    phoneNumbers?: Array<MultiValuedAttribute>;
    /**
     * A URI that is a uniform resource locator that points to a resource location representing the user's image.
     */
    photos?: Array<MultiValuedAttribute>;
    /**
     * Indicates the user's preferred written or spoken languages and is generally used for selecting a localized user interface.
     */
    preferredLanguage?: string;
    /**
     * A URI that is a uniform resource locator and that points to a location representing the user's online profile (e.g., a web page).
     */
    profileUrl?: string;
    /**
     * A list of roles for the user that collectively represent who the user is, e.g., "Student", "Faculty".
     */
    roles?: Array<MultiValuedAttribute>;
    /**
     * A multi-valued list of strings indicating the namespaces of the SCIM schemas that define the attributes present in the current JSON structure.
     */
    schemas?: Array<string>;
    /**
     * The User's time zone, in IANA Time Zone database format, also known as the "Olson" time zone database format (e.g., "America/Los_Angeles").
     */
    timezone?: string;
    /**
     * The user's title, such as "Vice President".
     */
    title?: string;
    /**
     * A service provider's unique identifier for the user, typically used by the user to directly authenticate to the service provider.
     */
    userName?: string;
    /**
     * Used to identify the relationship between the organization and the user.
     */
    userType?: string;
    /**
     * A list of certificates associated with the resource (e.g., a User).
     */
    x509Certificates?: Array<MultiValuedAttribute>;
    readonly 'x-class-name'?: string;
    'urn:ietf:params:scim:schemas:extension:liferay:2.0:User'?: UserSchemaExtension;
};
/**
 * The components of the Liferay's User Schema Extension.
 */
export type UserSchemaExtension = {
    birthday?: string;
    male?: boolean;
    readonly 'x-class-name'?: string;
};
export type DeleteV2GroupData = {
    body?: never;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/Groups/{id}';
};
export type DeleteV2GroupResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type GetV2GroupByIdData = {
    body?: never;
    path: {
        id: string;
    };
    query?: {
        excludedAttributes?: string;
    };
    url: '/o/scim/v1.0/v2/Groups/{id}';
};
export type GetV2GroupByIdResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2GroupByIdResponse = GetV2GroupByIdResponses[keyof GetV2GroupByIdResponses];
export type PatchV2GroupData = {
    body?: PatchOp;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/Groups/{id}';
};
export type PatchV2GroupResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type PutV2GroupData = {
    body?: Group;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/Groups/{id}';
};
export type PutV2GroupResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type GetV2GroupsData = {
    body?: never;
    path?: never;
    query?: {
        count?: string;
        excludedAttributes?: string;
        filter?: string;
        startIndex?: string;
    };
    url: '/o/scim/v1.0/v2/Groups';
};
export type GetV2GroupsResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2GroupsResponse = GetV2GroupsResponses[keyof GetV2GroupsResponses];
export type PostV2GroupData = {
    body?: Group;
    path?: never;
    query?: never;
    url: '/o/scim/v1.0/v2/Groups';
};
export type PostV2GroupResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type PostV2GroupSearchData = {
    body?: QueryAttributes;
    path?: never;
    query?: never;
    url: '/o/scim/v1.0/v2/Groups/.search';
};
export type PostV2GroupSearchResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type GetV2ResourceTypeByIdData = {
    body?: never;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/ResourceTypes/{id}';
};
export type GetV2ResourceTypeByIdResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2ResourceTypeByIdResponse = GetV2ResourceTypeByIdResponses[keyof GetV2ResourceTypeByIdResponses];
export type GetV2ResourceTypesData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/o/scim/v1.0/v2/ResourceTypes';
};
export type GetV2ResourceTypesResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2ResourceTypesResponse = GetV2ResourceTypesResponses[keyof GetV2ResourceTypesResponses];
export type GetV2SchemaByIdData = {
    body?: never;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/Schemas/{id}';
};
export type GetV2SchemaByIdResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2SchemaByIdResponse = GetV2SchemaByIdResponses[keyof GetV2SchemaByIdResponses];
export type GetV2SchemasData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/o/scim/v1.0/v2/Schemas';
};
export type GetV2SchemasResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2SchemasResponse = GetV2SchemasResponses[keyof GetV2SchemasResponses];
export type GetV2ServiceProviderConfigData = {
    body?: never;
    path?: never;
    query?: never;
    url: '/o/scim/v1.0/v2/ServiceProviderConfig';
};
export type GetV2ServiceProviderConfigResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2ServiceProviderConfigResponse = GetV2ServiceProviderConfigResponses[keyof GetV2ServiceProviderConfigResponses];
export type DeleteV2UserData = {
    body?: never;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/Users/{id}';
};
export type DeleteV2UserResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type GetV2UserByIdData = {
    body?: never;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/Users/{id}';
};
export type GetV2UserByIdResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2UserByIdResponse = GetV2UserByIdResponses[keyof GetV2UserByIdResponses];
export type PatchV2UserData = {
    body?: PatchOp;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/Users/{id}';
};
export type PatchV2UserResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type PutV2UserData = {
    body?: User;
    path: {
        id: string;
    };
    query?: never;
    url: '/o/scim/v1.0/v2/Users/{id}';
};
export type PutV2UserResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type GetV2UsersData = {
    body?: never;
    path?: never;
    query?: {
        count?: string;
        filter?: string;
        startIndex?: string;
    };
    url: '/o/scim/v1.0/v2/Users';
};
export type GetV2UsersResponses = {
    /**
     * default response
     */
    default: {
        [key: string]: unknown;
    };
};
export type GetV2UsersResponse = GetV2UsersResponses[keyof GetV2UsersResponses];
export type PostV2UserData = {
    body?: User;
    path?: never;
    query?: never;
    url: '/o/scim/v1.0/v2/Users';
};
export type PostV2UserResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type PostV2UserSearchData = {
    body?: QueryAttributes;
    path?: never;
    query?: never;
    url: '/o/scim/v1.0/v2/Users/.search';
};
export type PostV2UserSearchResponses = {
    /**
     * default response
     */
    default: unknown;
};
export type ClientOptions = {
    baseUrl: 'http://localhost:8080' | (string & {});
};
