import type { EmptyResponse } from '../models/EmptyResponse'; import type { GoalAddSupportingRelationshipRequest } from '../models/GoalAddSupportingRelationshipRequest'; import type { GoalRelationshipCompact } from '../models/GoalRelationshipCompact'; import type { GoalRelationshipRequest } from '../models/GoalRelationshipRequest'; import type { GoalRelationshipResponse } from '../models/GoalRelationshipResponse'; import type { GoalRemoveSupportingRelationshipRequest } from '../models/GoalRemoveSupportingRelationshipRequest'; import type { CancelablePromise } from '../core/CancelablePromise'; import type { BaseHttpRequest } from '../core/BaseHttpRequest'; export declare class GoalRelationshipsService { readonly httpRequest: BaseHttpRequest; constructor(httpRequest: BaseHttpRequest); /** * Get a goal relationship * Returns the complete updated goal relationship record for a single goal relationship. * @returns any Successfully retrieved the record for the goal relationship. * @throws ApiError */ getGoalRelationship({ goalRelationshipGid, optPretty, optFields, }: { /** * Globally unique identifier for the goal relationship. */ goalRelationshipGid: string; /** * Provides “pretty” output. * Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. */ optPretty?: boolean; /** * Defines fields to return. * Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. * The id of included objects will always be returned, regardless of the field options. */ optFields?: Array; }): CancelablePromise<{ data?: GoalRelationshipResponse; }>; /** * Update a goal relationship * An existing goal relationship can be updated by making a PUT request on the URL for * that goal relationship. Only the fields provided in the `data` block will be updated; * any unspecified fields will remain unchanged. * * Returns the complete updated goal relationship record. * @returns any Successfully updated the goal relationship. * @throws ApiError */ updateGoalRelationship({ goalRelationshipGid, requestBody, optPretty, optFields, }: { /** * Globally unique identifier for the goal relationship. */ goalRelationshipGid: string; /** * The updated fields for the goal relationship. */ requestBody: { data?: GoalRelationshipRequest; }; /** * Provides “pretty” output. * Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. */ optPretty?: boolean; /** * Defines fields to return. * Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. * The id of included objects will always be returned, regardless of the field options. */ optFields?: Array; }): CancelablePromise<{ data?: GoalRelationshipResponse; }>; /** * Get goal relationships * Returns compact goal relationship records. * @returns any Successfully retrieved the requested goal relationships. * @throws ApiError */ getGoalRelationships({ supportedGoal, optPretty, optFields, resourceSubtype, }: { /** * Globally unique identifier for the supported goal in the goal relationship. */ supportedGoal: string; /** * Provides “pretty” output. * Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. */ optPretty?: boolean; /** * Defines fields to return. * Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. * The id of included objects will always be returned, regardless of the field options. */ optFields?: Array; /** * If provided, filter to goal relationships with a given resource_subtype. */ resourceSubtype?: string; }): CancelablePromise<{ data?: Array; }>; /** * Add a supporting goal relationship * Creates a goal relationship by adding a supporting resource to a given goal. * * Returns the newly created goal relationship record. * @returns any Successfully created the goal relationship. * @throws ApiError */ addSupportingRelationship({ goalGid, requestBody, optPretty, optFields, }: { /** * Globally unique identifier for the goal. */ goalGid: string; /** * The supporting resource to be added to the goal */ requestBody: { data?: GoalAddSupportingRelationshipRequest; }; /** * Provides “pretty” output. * Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. */ optPretty?: boolean; /** * Defines fields to return. * Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. * The id of included objects will always be returned, regardless of the field options. */ optFields?: Array; }): CancelablePromise<{ data?: GoalRelationshipResponse; }>; /** * Removes a supporting goal relationship * Removes a goal relationship for a given parent goal. * @returns any Successfully removed the goal relationship. * @throws ApiError */ removeSupportingRelationship({ goalGid, requestBody, optPretty, optFields, }: { /** * Globally unique identifier for the goal. */ goalGid: string; /** * The supporting resource to be removed from the goal */ requestBody: { data?: GoalRemoveSupportingRelationshipRequest; }; /** * Provides “pretty” output. * Provides the response in a “pretty” format. In the case of JSON this means doing proper line breaking and indentation to make it readable. This will take extra time and increase the response size so it is advisable only to use this during debugging. */ optPretty?: boolean; /** * Defines fields to return. * Some requests return *compact* representations of objects in order to conserve resources and complete the request more efficiently. Other times requests return more information than you may need. This option allows you to list the exact set of fields that the API should be sure to return for the objects. The field names should be provided as paths, described below. * The id of included objects will always be returned, regardless of the field options. */ optFields?: Array; }): CancelablePromise<{ data?: EmptyResponse; }>; }