import { z } from 'zod';
import { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';
import { Readable } from 'node:stream';

interface CreateBoard$1 {
    name: string;
    type: 'kanban' | 'scrum' | 'agility' | string;
    filterId: number;
    location?: {
        type?: 'project' | 'user' | string;
        projectKeyOrId?: string;
    };
}

interface CreateSprint {
    name: string;
    startDate?: string;
    endDate?: string;
    originBoardId: number;
    goal?: string;
}

interface DeleteBoard {
    /** ID of the board to be deleted */
    boardId: number;
}

interface DeleteBoardProperty {
    /** The id of the board from which the property will be removed. */
    boardId: string;
    /** The key of the property to remove. */
    propertyKey: string;
}

interface DeleteBuildByKey {
    /** The `pipelineId` of the build to delete. */
    pipelineId: string;
    /** The `buildNumber` of the build to delete. */
    buildNumber: number;
    /**
     * Only stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted. This can be
     * used help ensure submit/delete requests are applied correctly if issued close together.
     */
    updateSequenceNumber?: number;
}

interface DeleteBuildsByProperty {
    /**
     * Only stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted. This can be
     * used help ensure submit/delete requests are applied correctly if issued close together.
     *
     * If not provided, all stored data that matches the request will be deleted.
     */
    updateSequenceNumber?: number;
}

interface DeleteByProperties {
    /**
     * An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to
     * that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they
     * are issued close together.
     */
    updateSequenceId?: number;
}

interface DeleteDeploymentByKey {
    /** The ID of the deployment's pipeline. */
    pipelineId: string;
    /** The ID of the deployment's environment. */
    environmentId: string;
    /** The deployment's deploymentSequenceNumber. */
    deploymentSequenceNumber: number;
    /**
     * Only stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted. This can be
     * used help ensure submit/delete requests are applied correctly if issued close together.
     */
    updateSequenceNumber?: number;
}

interface DeleteDeploymentsByProperty {
    /**
     * Only stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted. This can be
     * used help ensure submit/delete requests are applied correctly if issued close together.
     *
     * If not provided, all stored data that matches the request will be deleted.
     */
    updateSequenceNumber?: number;
}

interface DeleteEntity {
    repositoryId: string;
    entityType: 'commit' | 'branch' | 'pull_request' | string;
    entityId: string;
    /**
     * An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to
     * that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they
     * are issued close together.
     */
    updateSequenceId?: number;
}

interface DeleteFeatureFlagById {
    /** The ID of the Feature Flag to delete. */
    featureFlagId: string;
    /**
     * Only stored data with an `updateSequenceId` less than or equal to that provided will be deleted. This can be used
     * help ensure submit/delete requests are applied correctly if issued close together.
     */
    updateSequenceId?: number;
}

interface DeleteFeatureFlagsByProperty {
    /**
     * Only stored data with an `updateSequenceId` less than or equal to that provided will be deleted. This can be used
     * help ensure submit/delete requests are applied correctly if issued close together.
     *
     * If not provided, all stored data that matches the request will be deleted.
     */
    updateSequenceId?: number;
}

interface DeleteLinkedWorkspaces {
    /** The IDs of Security Workspaces to delete to this Jira site. */
    workspaceIds: string[];
}

interface DeleteProperty$1 {
    /** The ID of the sprint from which the property will be removed. */
    sprintId: string;
    /** The key of the property to remove. */
    propertyKey: string;
}

interface DeleteRemoteLinkById {
    /** The ID of the Remote Link to fetch. */
    remoteLinkId: string;
    /**
     * Only stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted. This can be
     * used help ensure submit/delete requests are applied correctly if issued close together.
     */
    updateSequenceNumber?: number;
}

interface DeleteRemoteLinksByProperty {
    /**
     * Only stored data with an `updateSequenceNumber` less than or equal to that provided will be deleted. This can be
     * used help ensure submit/delete requests are applied correctly if issued close together.
     *
     * If not provided, all stored data that matches the request will be deleted.
     */
    updateSequenceNumber?: number;
    /**
     * Free-form query parameters to specify which properties to delete by. Properties refer to the arbitrary information
     * the provider tagged Remote Links with previously.
     *
     * For example, if the provider previously tagged a remote link with accountId: "properties": { "accountId":
     * "account-123" }
     *
     * And now they want to delete Remote Links in bulk by that specific accountId as follows: e.g. DELETE
     * /bulkByProperties?accountId=account-123
     */
    params?: unknown;
}

interface DeleteRepository {
    /** The ID of repository to delete */
    repositoryId: string;
    /**
     * An optional property to use to control deletion. Only stored data with an updateSequenceId less than or equal to
     * that provided will be deleted. This can be used to help ensure submit/delete requests are applied correctly if they
     * are issued close together.
     */
    updateSequenceId?: number;
}

interface DeleteSprint {
    /** The ID of the sprint to delete. */
    sprintId: number;
}

interface DeleteVulnerabilitiesByProperty extends Record<string, any> {
    accountId?: string;
    createdBy?: string;
}

interface DeleteVulnerabilityById {
    /** The ID of the Vulnerability to delete. */
    vulnerabilityId: string;
}

interface EstimateIssueForBoard {
    /** The ID or key of the requested issue. */
    issueIdOrKey: string;
    /** The ID of the board required to determine which field is used for estimation. */
    boardId?: number;
    value?: string;
}

interface ExistsByProperties$1 {
    /** An optional property. Filters out entities and repositories which have updateSequenceId greater than specified. */
    updateSequenceId?: number;
}

interface GetAllBoards$1 {
    /**
     * The starting index of the returned boards. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of boards to return per page. See the 'Pagination' section at the top of this page for more
     * details.
     */
    maxResults?: number;
    /** Filters results to boards of the specified types. Valid values: scrum, kanban, simple. */
    type?: string;
    /** Filters results to boards that match or partially match the specified name. */
    name?: string;
    /**
     * Filters results to boards that are relevant to a project. Relevance means that the jql filter defined in board
     * contains a reference to a project.
     */
    projectKeyOrId?: string;
    accountIdLocation?: string;
    projectLocation?: string;
    /** Appends private boards to the end of the list. The name and type fields are excluded for security reasons. */
    includePrivate?: boolean;
    /** If set to true, negate filters used for querying by location. By default false. */
    negateLocationFiltering?: boolean;
    /** Ordering of the results by a given field. If not provided, values will not be sorted. Valid values: name. */
    orderBy?: 'name' | '-name' | '+name' | string;
    /** List of fields to expand for each board. Valid values: admins, permissions. */
    expand?: string;
    /** Filters results to boards that are relevant to a filter. Not supported for next-gen boards. */
    filterId?: number;
    /**
     * Filters results to boards that are relevant to a project types. Support Jira Software, Jira Service Management.
     * Valid values: software, service_desk. By default software.
     */
    projectTypeLocation?: string[];
}

interface GetAllQuickFilters$1 {
    /** The ID of the board that contains the requested quick filters. */
    boardId: number;
    /**
     * The starting index of the returned quick filters. Base index: 0. See the 'Pagination' section at the top of this
     * page for more details.
     */
    startAt?: number;
    /**
     * The maximum number of sprints to return per page. See the 'Pagination' section at the top of this page for more
     * details.
     */
    maxResults?: number;
}

interface GetAllSprints {
    /** The ID of the board that contains the requested sprints. */
    boardId: number;
    /**
     * The starting index of the returned sprints. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of sprints to return per page. See the 'Pagination' section at the top of this page for more
     * details.
     */
    maxResults?: number;
    /**
     * Filters results to sprints in specified states. Valid values: future, active, closed. You can define multiple
     * states separated by commas, e.g. state=active,closed
     */
    state?: string;
}

interface GetAllVersions {
    /** The ID of the board that contains the requested versions. */
    boardId: number;
    /**
     * The starting index of the returned versions. Base index: 0. See the 'Pagination' section at the top of this page
     * for more details.
     */
    startAt?: number;
    /**
     * The maximum number of versions to return per page. See the 'Pagination' section at the top of this page for more
     * details.
     */
    maxResults?: number;
    /** Filters results to versions that are either released or unreleased. Valid values: true, false. */
    released?: string;
}

interface GetBoard$1 {
    /** The ID of the requested board. */
    boardId: number;
}

interface GetBoardByFilterId$1 {
    /**
     * The starting index of the returned boards. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of boards to return per page. Default: 50. See the 'Pagination' section at the top of this page
     * for more details.
     */
    maxResults?: number;
    /** Filters results to boards that are relevant to a filter. Not supported for next-gen boards. */
    filterId: number;
}

interface GetBoardIssuesForEpic {
    /** The ID of the board that contains the requested issues. */
    boardId: number;
    /** The ID of the epic that contains the requested issues. */
    epicId: number;
    /**
     * The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page
     * for more details. Note, the total number of issues returned is limited by the property
     * 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.
     */
    maxResults?: number;
    /**
     * Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of
     * the returned issues.
     */
    jql?: string;
    /** Specifies whether to validate the JQL query or not. Default: true. */
    validateQuery?: boolean;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** A comma-separated list of the parameters to expand. */
    expand?: string;
}

interface GetBoardIssuesForSprint {
    /** The ID of the board that contains requested issues. */
    boardId: number;
    /** The ID of the sprint that contains requested issues. */
    sprintId: number;
    /**
     * The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more
     * details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in
     * your Jira instance. If you exceed this limit, your results will be truncated.
     */
    maxResults?: number;
    /**
     * Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of
     * the returned issues. Note that `username` and `userkey` can't be used as search terms for this parameter due to
     * privacy reasons. Use `accountId` instead.
     */
    jql?: string;
    /** Specifies whether to validate the JQL query or not. Default: true. */
    validateQuery?: boolean;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** A comma-separated list of the parameters to expand. */
    expand?: string;
}

interface GetBoardProperty {
    /** The ID of the board from which the property will be returned. */
    boardId: string;
    /** The key of the property to return. */
    propertyKey: string;
}

interface GetBoardPropertyKeys {
    /** The ID of the board from which property keys will be returned. */
    boardId: string;
}

interface GetBuildByKey$1 {
    /** The `pipelineId` of the build. */
    pipelineId: string;
    /** The `buildNumber` of the build. */
    buildNumber: number;
}

interface GetConfiguration$1 {
    /** The ID of the board for which configuration is requested. */
    boardId: number;
}

interface GetDeploymentByKey$1 {
    /** The ID of the deployment's pipeline. */
    pipelineId: string;
    /** The ID of the deployment's environment. */
    environmentId: string;
    /** The deployment's deploymentSequenceNumber. */
    deploymentSequenceNumber: number;
}

interface GetDeploymentGatingStatusByKey$1 {
    /** The ID of the Deployment's pipeline. */
    pipelineId: string;
    /** The ID of the Deployment's environment. */
    environmentId: string;
    /** The Deployment's deploymentSequenceNumber. */
    deploymentSequenceNumber: number;
}

interface GetEpic {
    /** The id or key of the requested epic. */
    epicIdOrKey: string;
}

interface GetEpics {
    /** The ID of the board that contains the requested epics. */
    boardId: number;
    /**
     * The starting index of the returned epics. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of epics to return per page. See the 'Pagination' section at the top of this page for more
     * details.
     */
    maxResults?: number;
    /** Filters results to epics that are either done or not done. Valid values: true, false. */
    done?: string;
}

interface GetFeatureFlagById$1 {
    /** The ID of the Feature Flag to fetch. */
    featureFlagId: string;
}

interface GetFeaturesForBoard$1 {
    boardId: number;
}

interface GetIssue$2 {
    /** The ID or key of the requested issue. */
    issueIdOrKey: string;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** A comma-separated list of the parameters to expand. */
    expand?: string;
    /** A boolean indicating whether the issue retrieved by this method should be added to the current user's issue history */
    updateHistory?: boolean;
}

interface GetIssueEstimationForBoard {
    /** The ID or key of the requested issue. */
    issueIdOrKey: string;
    /** The ID of the board required to determine which field is used for estimation. */
    boardId?: number;
}

interface GetIssuesForBacklog {
    /** The ID of the board that has the backlog containing the requested issues. */
    boardId: number;
    /**
     * The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page
     * for more details. Note, the total number of issues returned is limited by the property
     * 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.
     */
    maxResults?: number;
    /**
     * Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of
     * the returned issues. Note that `username` and `userkey` can't be used as search terms for this parameter due to
     * privacy reasons. Use `accountId` instead.
     */
    jql?: string;
    /** Specifies whether to validate the JQL query or not. Default: true. */
    validateQuery?: boolean;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** This parameter is currently not used. */
    expand?: string;
}

interface GetIssuesForBoard {
    /** The ID of the board that contains the requested issues. */
    boardId: number;
    /**
     * The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more
     * details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in
     * your Jira instance. If you exceed this limit, your results will be truncated.
     */
    maxResults?: number;
    /**
     * Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of
     * the returned issues. Note that `username` and `userkey` can't be used as search terms for this parameter due to
     * privacy reasons. Use `accountId` instead.
     */
    jql?: string;
    /** Specifies whether to validate the JQL query or not. Default: true. */
    validateQuery?: boolean;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** This parameter is currently not used. */
    expand?: string;
}

interface GetIssuesForEpic {
    /** The id or key of the epic that contains the requested issues. */
    epicIdOrKey: string;
    /**
     * The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of issues to return per page. Default: 50. See the 'Pagination' section at the top of this page
     * for more details. Note, the total number of issues returned is limited by the property
     * 'jira.search.views.default.max' in your Jira instance. If you exceed this limit, your results will be truncated.
     */
    maxResults?: number;
    /**
     * Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of
     * the returned issues. Note that `username` and `userkey` can't be used as search terms for this parameter due to
     * privacy reasons. Use `accountId` instead.
     */
    jql?: string;
    /** Specifies whether to validate the JQL query or not. Default: true. */
    validateQuery?: boolean;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** A comma-separated list of the parameters to expand. */
    expand?: string;
}

interface GetIssuesForSprint {
    /** The ID of the sprint that contains the requested issues. */
    sprintId: number;
    /**
     * The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more
     * details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in
     * your Jira instance. If you exceed this limit, your results will be truncated.
     */
    maxResults?: number;
    /**
     * Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of
     * the returned issues. Note that `username` and `userkey` can't be used as search terms for this parameter due to
     * privacy reasons. Use `accountId` instead.
     */
    jql?: string;
    /** Specifies whether to validate the JQL query or not. Default: true. */
    validateQuery?: boolean;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** A comma-separated list of the parameters to expand. */
    expand?: string;
}

interface GetIssuesWithoutEpic {
    /**
     * The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more
     * details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in
     * your Jira instance. If you exceed this limit, your results will be truncated.
     */
    maxResults?: number;
    /**
     * Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of
     * the returned issues.
     */
    jql?: string;
    /** Specifies whether to validate the JQL query or not. Default: true. */
    validateQuery?: boolean;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** A comma-separated list of the parameters to expand. */
    expand?: string;
}

interface GetIssuesWithoutEpicForBoard {
    /** The ID of the board that contains the requested issues. */
    boardId: number;
    /**
     * The starting index of the returned issues. Base index: 0. See the 'Pagination' section at the top of this page for
     * more details.
     */
    startAt?: number;
    /**
     * The maximum number of issues to return per page. See the 'Pagination' section at the top of this page for more
     * details. Note, the total number of issues returned is limited by the property 'jira.search.views.default.max' in
     * your Jira instance. If you exceed this limit, your results will be truncated.
     */
    maxResults?: number;
    /**
     * Filters results using a JQL query. If you define an order in your JQL query, it will override the default order of
     * the returned issues. Note that `username` and `userkey` can't be used as search terms for this parameter due to
     * privacy reasons. Use `accountId` instead.
     */
    jql?: string;
    /** Specifies whether to validate the JQL query or not. Default: true. */
    validateQuery?: boolean;
    /** The list of fields to return for each issue. By default, all navigable and Agile fields are returned. */
    fields?: string[];
    /** A comma-separated list of the parameters to expand. */
    expand?: string;
}

interface GetLinkedWorkspaceById$1 {
    /** The ID of the workspace to fetch. */
    workspaceId: string;
}

interface GetProjects {
    /** The ID of the board that contains returned projects. */
    boardId: number;
    /**
     * The starting index of the returned projects. Base index: 0. See the 'Pagination' section at the top of this page
     * for more details.
     */
    startAt?: number;
    /**
     * The maximum number of projects to return per page. See the 'Pagination' section at the top of this page for more
     * details.
     */
    maxResults?: number;
}

interface GetProjectsFull {
    /** The ID of the board that contains returned projects. */
    boardId: number;
}

interface GetPropertiesKeys$1 {
    /** The ID of the sprint from which property keys will be returned. */
    sprintId: string;
}

interface GetProperty$1 {
    /** The ID of the sprint from which the property will be returned. */
    sprintId: string;
    /** The key of the property to return. */
    propertyKey: string;
}

interface GetQuickFilter$1 {
    boardId: number;
    /** The ID of the requested quick filter. */
    quickFilterId: number;
}

interface GetRemoteLinkById$1 {
    /** The ID of the Remote Link to fetch. */
    remoteLinkId: string;
}

interface GetReportsForBoard$1 {
    boardId: number;
}

interface GetRepository$1 {
    /** The ID of repository to fetch */
    repositoryId: string;
}

interface GetSprint {
    /** The ID of the requested sprint. */
    sprintId: number;
}

interface GetVulnerabilityById$1 {
    /** The ID of the Vulnerability to fetch. */
    vulnerabilityId: string;
}

interface MoveIssuesToBacklog {
    issues: string[];
}

interface MoveIssuesToBacklogForBoard {
    boardId: number;
    issues?: string[];
    rankBeforeIssue?: string;
    rankAfterIssue?: string;
    rankCustomFieldId?: number;
}

interface MoveIssuesToBoard {
    boardId: number;
    issues: string[];
    rankBeforeIssue?: string;
    rankAfterIssue?: string;
    rankCustomFieldId?: number;
}

interface MoveIssuesToEpic {
    /** The id or key of the epic that you want to assign issues to. */
    epicIdOrKey: string;
    issues?: string[];
}

interface MoveIssuesToSprintAndRank {
    /** The ID of the sprint that you want to assign issues to. */
    sprintId: number;
    issues: string[];
    rankBeforeIssue?: string;
    rankAfterIssue?: string;
    rankCustomFieldId?: number;
}

interface PartiallyUpdateEpic {
    /** The id or key of the epic to update. */
    epicIdOrKey: string;
    name?: string;
    summary?: string;
    color?: {
        key?: 'color_1' | 'color_2' | 'color_3' | 'color_4' | 'color_5' | 'color_6' | 'color_7' | 'color_8' | 'color_9' | 'color_10' | 'color_11' | 'color_12' | 'color_13' | 'color_14' | string;
    };
    done?: boolean;
}

interface PartiallyUpdateSprint {
    /** The ID of the sprint to update. */
    sprintId: number;
    id?: number;
    self?: string;
    state?: string;
    name?: string;
    startDate?: string | Date;
    endDate?: string | Date;
    completeDate?: string;
    createdDate?: string;
    originBoardId?: number;
    goal?: string;
}

interface RankEpics {
    /** The id or key of the epic to rank. */
    epicIdOrKey: string;
    rankBeforeEpic?: string;
    rankAfterEpic?: string;
    rankCustomFieldId?: number;
}

interface RankIssues {
    issues?: string[];
    rankBeforeIssue?: string;
    rankAfterIssue?: string;
    rankCustomFieldId?: number;
}

interface RemoveIssuesFromEpic {
    issues?: string[];
}

interface SetBoardProperty {
    /** The ID of the board on which the property will be set. */
    boardId: string;
    /** The key of the board's property. The maximum length of the key is 255 bytes. */
    propertyKey: string;
}

interface SetProperty$1 {
    /** The ID of the sprint on which the property will be set. */
    sprintId: string;
    /** The key of the sprint's property. The maximum length of the key is 255 bytes. */
    propertyKey: string;
}

interface StoreDevelopmentInformation$1 {
    /**
     * List of repositories containing development information. Must not contain duplicates. Maximum number of entities
     * across all repositories is 1000.
     */
    repositories?: {
        /** The name of this repository. Max length is 255 characters. */
        name: string;
        /** Description of this repository. Max length is 1024 characters. */
        description?: string;
        /** The ID of the repository this repository was forked from, if it's a fork. Max length is 1024 characters. */
        forkOf?: string;
        /** The URL of this repository. Max length is 2000 characters. */
        url: string;
        /**
         * List of commits to update in this repository. Must not contain duplicate entity IDs. Maximum number of commits is
         * 400
         */
        commits?: {
            /**
             * The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits
             * within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with
             * ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is
             * 1024 characters
             */
            id: string;
            /** List of issues keys that this entity is associated with. They must be valid Jira issue keys. */
            issueKeys: string[];
            /**
             * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
             * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis
             * from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each
             * entity and increment that on each update to Jira). Updates for an entity that are received with an
             * updateSqeuenceId lower than what is currently stored will be ignored.
             */
            updateSequenceId: number;
            /** The set of flags for this commit */
            flags?: ('MERGE_COMMIT' | string)[];
            /**
             * The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to
             * 1024 characters.
             */
            message: string;
            /** Describes the author of a particular entity */
            author: {
                /** The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters. */
                email?: string;
            };
            /** The total number of files added, removed, or modified by this commit */
            fileCount: number;
            /** The URL of this commit. Max length is 2000 characters. */
            url: string;
            /**
             * List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path)
             * in the UI. This UI behavior may change without notice.
             */
            files?: {
                /** The path of the file. Max length is 1024 characters. */
                path: string;
                /** The URL of this file. Max length is 2000 characters. */
                url: string;
                /** The operation performed on this file */
                changeType: 'ADDED' | 'COPIED' | 'DELETED' | 'MODIFIED' | 'MOVED' | 'UNKNOWN' | string;
                /** Number of lines added to the file */
                linesAdded: number;
                /** Number of lines removed from the file */
                linesRemoved: number;
            }[];
            /** The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format. */
            authorTimestamp: string;
            /** Shortened identifier for this commit, used for display. Max length is 255 characters. */
            displayId: string;
        }[];
        /**
         * List of branches to update in this repository. Must not contain duplicate entity IDs. Maximum number of branches
         * is 400.
         */
        branches?: {
            /**
             * The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a
             * repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to
             * repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024
             * characters.
             */
            id: string;
            /** List of issues keys that this entity is associated with. They must be valid Jira issue keys. */
            issueKeys: string[];
            /**
             * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
             * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis
             * from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each
             * entity and increment that on each update to Jira). Updates for an entity that are received with an
             * updateSqeuenceId lower than what is currently stored will be ignored.
             */
            updateSequenceId: number;
            /** The name of the branch. Max length is 512 characters. */
            name: string;
            /** Represents a commit in the version control system. */
            lastCommit: {
                /**
                 * The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits
                 * within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with
                 * ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is
                 * 1024 characters
                 */
                id: string;
                /** List of issues keys that this entity is associated with. They must be valid Jira issue keys. */
                issueKeys: string[];
                /**
                 * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
                 * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis
                 * from the provider system, but other alternatives are valid (e.g. a provider could store a counter against
                 * each entity and increment that on each update to Jira). Updates for an entity that are received with an
                 * updateSqeuenceId lower than what is currently stored will be ignored.
                 */
                updateSequenceId: number;
                /** The set of flags for this commit */
                flags?: ('MERGE_COMMIT' | string)[];
                /**
                 * The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down
                 * to 1024 characters.
                 */
                message: string;
                /** Describes the author of a particular entity */
                author: {
                    /** The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters. */
                    email?: string;
                };
                /** The total number of files added, removed, or modified by this commit */
                fileCount: number;
                /** The URL of this commit. Max length is 2000 characters. */
                url: string;
                /**
                 * List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path)
                 * in the UI. This UI behavior may change without notice.
                 */
                files?: {
                    /** The path of the file. Max length is 1024 characters. */
                    path: string;
                    /** The URL of this file. Max length is 2000 characters. */
                    url: string;
                    /** The operation performed on this file */
                    changeType: 'ADDED' | 'COPIED' | 'DELETED' | 'MODIFIED' | 'MOVED' | 'UNKNOWN' | string;
                    /** Number of lines added to the file */
                    linesAdded: number;
                    /** Number of lines removed from the file */
                    linesRemoved: number;
                }[];
                /** The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format. */
                authorTimestamp: string;
                /** Shortened identifier for this commit, used for display. Max length is 255 characters. */
                displayId: string;
            };
            /** The URL of the page for creating a pull request from this branch. Max length is 2000 characters. */
            createPullRequestUrl?: string;
            /** The URL of the branch. Max length is 2000 characters. */
            url: string;
        }[];
        /**
         * List of pull requests to update in this repository. Must not contain duplicate entity IDs. Maximum number of pull
         * requests is 400
         */
        pullRequests?: {
            /**
             * The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a
             * repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to
             * repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024
             * characters
             */
            id: string;
            /** List of issues keys that this entity is associated with. They must be valid Jira issue keys. */
            issueKeys: string[];
            /**
             * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
             * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis
             * from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each
             * entity and increment that on each update to Jira). Updates for an entity that are received with an
             * updateSqeuenceId lower than what is currently stored will be ignored.
             */
            updateSequenceId: number;
            /**
             * The status of the pull request. In the case of concurrent updates, priority is given in the order OPEN, MERGED,
             * DECLINED, DRAFT, UNKNOWN
             */
            status: 'OPEN' | 'MERGED' | 'DECLINED' | 'DRAFT' | 'UNKNOWN' | string;
            /** Title of the pull request. Max length is 1024 characters. */
            title: string;
            /** Describes the author of a particular entity */
            author: {
                /** The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters. */
                email?: string;
            };
            /** The number of comments on the pull request */
            commentCount: number;
            /** The name of the source branch of this PR. Max length is 255 characters. */
            sourceBranch: string;
            /**
             * The url of the source branch of this PR. This is used to match this PR against the branch. Max length is 2000
             * characters.
             */
            sourceBranchUrl?: string;
            /** The most recent update to this PR. Formatted as a UTC ISO 8601 date time format. */
            lastUpdate: string;
            /** The name of destination branch of this PR. Max length is 255 characters. */
            destinationBranch?: string;
            /** The url of the destination branch of this PR. Max length is 2000 characters. */
            destinationBranchUrl?: string;
            /** The list of reviewers of this pull request */
            reviewers?: {
                /** The approval status of this reviewer, default is UNAPPROVED. */
                approvalStatus?: 'APPROVED' | 'NEEDSWORK' | 'UNAPPROVED' | string;
                /** The email address of this reviewer. Max length is 254 characters. */
                email?: string;
                /** The Atlassian Account ID (AAID) of this reviewer. Max length is 128 characters. */
                accountId?: string;
            }[];
            /** The URL of this pull request. Max length is 2000 characters. */
            url: string;
            /** Shortened identifier for this pull request, used for display. Max length is 255 characters. */
            displayId: string;
            /** The number of tasks on the pull request */
            taskCount?: number;
        }[];
        /** The URL of the avatar for this repository. Max length is 2000 characters. */
        avatar?: string;
        /** Description of the avatar for this repository. Max length is 1024 characters. */
        avatarDescription?: string;
        /**
         * The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository,
         * i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y'
         * is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters.
         */
        id: string;
        /**
         * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
         * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from
         * the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity
         * and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId
         * lower than what is currently stored will be ignored.
         */
        updateSequenceId: number;
    }[];
    /** Flag to prevent automatic issue transitions and smart commits being fired, default is false. */
    preventTransitions?: boolean;
    /**
     * Indicates the operation being performed by the provider system when sending this data. "NORMAL" - Data received
     * during normal operation (e.g. a user pushing a branch). "BACKFILL" - Data received while backfilling existing data
     * (e.g. indexing a newly connected account). Default is "NORMAL". Please note that "BACKFILL" operations have a much
     * higher rate-limiting threshold but are also processed slower in comparison to "NORMAL" operations.
     */
    operationType?: 'NORMAL' | 'BACKFILL' | string;
    /**
     * Arbitrary properties to tag the submitted repositories with. These properties can be used for delete operations to
     * e.g. clean up all development information associated with an account in the event that the account is removed from
     * the provider system. Note that these properties will never be returned with repository or entity data. They are not
     * intended for use as metadata to associate with a repository. Maximum length of each key or value is 255 characters.
     * Maximum allowed number of properties key/value pairs is 5. Properties keys cannot start with '_' character.
     * Properties keys cannot contain ':' character.
     */
    properties?: unknown;
    /**
     * Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not
     * considered private information. Hence, it may not contain personally identifiable information.
     */
    providerMetadata?: {
        /** An optional name of the source of the development information data. */
        product?: string;
    };
}

interface SubmitBuilds$1 {
    /**
     * Properties assigned to build data that can then be used for delete / query operations.
     *
     * Examples might be an account or user ID that can then be used to clean up data if an account is removed from the
     * Provider system.
     *
     * Note that these properties will never be returned with build data. They are not intended for use as metadata to
     * associate with a build. Internally they are stored as a hash so that personal information etc. is never stored
     * within Jira.
     *
     * Properties are supplied as key/value pairs, a maximum of 5 properties can be supplied, and keys must not contain
     * ':' or start with '_'.
     */
    properties?: unknown;
    /**
     * A list of builds to submit to Jira.
     *
     * Each build may be associated with one or more Jira issue keys, and will be associated with any properties included
     * in this request.
     */
    builds?: {
        /**
         * The schema version used for this data.
         *
         * Placeholder to support potential schema changes in the future.
         */
        schemaVersion?: '1.0' | string;
        /**
         * An ID that relates a sequence of builds. Depending on your use case this might be a project ID, pipeline ID, plan
         * key etc. - whatever logical unit you use to group a sequence of builds.
         *
         * The combination of `pipelineId` and `buildNumber` must uniquely identify a build you have provided.
         */
        pipelineId: string;
        /**
         * Identifies a build within the sequence of builds identified by the build `pipelineId`.
         *
         * Used to identify the 'most recent' build in that sequence of builds.
         *
         * The combination of `pipelineId` and `buildNumber` must uniquely identify a build you have provided.
         */
        buildNumber: number;
        /**
         * A number used to apply an order to the updates to the build, as identified by `pipelineId` and `buildNumber`, in
         * the case of out-of-order receipt of update requests.
         *
         * It must be a monotonically increasing number. For example, epoch time could be one way to generate the
         * `updateSequenceNumber`.
         *
         * Updates for a build that is received with an `updateSqeuenceNumber` less than or equal to what is currently
         * stored will be ignored.
         */
        updateSequenceNumber: number;
        /**
         * The human-readable name for the build.
         *
         * Will be shown in the UI.
         */
        displayName: string;
        /**
         * An optional description to attach to this build.
         *
         * This may be anything that makes sense in your system.
         */
        description?: string;
        /** A human-readable string that to provide information about the build. */
        label?: string;
        /** The URL to this build in your system. */
        url: string;
        /**
         * The state of a build.
         *
         * `pending` - The build is queued, or some manual action is required. `in_progress` - The build is currently
         * running. `successful` - The build completed successfully. `failed` - The build failed. `cancelled` - The build
         * has been cancelled or stopped. `unknown` - The build is in an unknown state.
         */
        state: 'pending' | 'in_progress' | 'successful' | 'failed' | 'cancelled' | 'unknown' | string;
        /** The last-updated timestamp to present to the user as a summary of the state of the build. */
        lastUpdated: string;
        /**
         * The Jira issue keys to associate the build information with.
         *
         * You are free to associate issue keys in any way you like. However, we recommend that you use the name of the
         * branch the build was executed on, and extract issue keys from that name using a simple regex. This has the
         * advantage that it provides an intuitive association of builds to issue keys.
         */
        issueKeys: string[];
        /** Information about tests that were executed during a build. */
        testInfo?: {
            /** The total number of tests considered during a build. */
            totalNumber: number;
            /** The number of tests that passed during a build. */
            numberPassed: number;
            /** The number of tests that failed during a build. */
            numberFailed: number;
            /** The number of tests that were skipped during a build. */
            numberSkipped?: number;
        };
        /** Optional information that links a build to a commit, branch etc. */
        references?: {
            /** Details about the commit the build was run against. */
            commit?: {
                /** The ID of the commit. E.g. for a Git repository this would be the SHA1 hash. */
                id: string;
                /**
                 * An identifier for the repository containing the commit.
                 *
                 * In most cases this should be the URL of the repository in the SCM provider.
                 *
                 * For cases where the build was executed against a local repository etc. this should be some identifier that is
                 * unique to that repository.
                 */
                repositoryUri: string;
            };
            /** Details about the ref the build was run on. */
            ref?: {
                /** The name of the ref the build ran on */
                name: string;
                /**
                 * An identifer for the ref.
                 *
                 * In most cases this should be the URL of the tag/branch etc. in the SCM provider.
                 *
                 * For cases where the build was executed against a local repository etc. this should be something that uniquely
                 * identifies the ref.
                 */
                uri: string;
            };
        }[];
    }[];
    /**
     * Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not
     * considered private information. Hence, it may not contain personally identifiable information.
     */
    providerMetadata?: {
        /** An optional name of the source of the builds data. */
        product?: string;
    };
}

interface SubmitDeployments$1 {
    /**
     * Properties assigned to deployment data that can then be used for delete / query operations.
     *
     * Examples might be an account or user ID that can then be used to clean up data if an account is removed from the
     * Provider system.
     *
     * Properties are supplied as key/value pairs, and a maximum of 5 properties can be supplied, keys cannot contain ':'
     * or start with '_'.
     */
    properties?: unknown;
    /**
     * A list of deployments to submit to Jira.
     *
     * Each deployment may be associated with one or more Jira issue keys, and will be associated with any properties
     * included in this request.
     */
    deployments?: {
        /**
         * This is the identifier for the deployment. It must be unique for the specified pipeline and environment. It must
         * be a monotonically increasing number, as this is used to sequence the deployments.
         */
        deploymentSequenceNumber: number;
        /**
         * A number used to apply an order to the updates to the deployment, as identified by the deploymentSequenceNumber,
         * in the case of out-of-order receipt of update requests. It must be a monotonically increasing number. For
         * example, epoch time could be one way to generate the updateSequenceNumber.
         */
        updateSequenceNumber: number;
        /**
         * The entities to associate the Deployment information with. It must contain at least one of
         * IssueIdOrKeysAssociation or ServiceIdOrKeysAssociation.
         */
        associations: any[];
        /** The human-readable name for the deployment. Will be shown in the UI. */
        displayName: string;
        /** A URL users can use to link to this deployment, in this environment. */
        url: string;
        /** A short description of the deployment */
        description: string;
        /** The last-updated timestamp to present to the user as a summary of the state of the deployment. */
        lastUpdated: string;
        /**
         * An (optional) additional label that may be displayed with deployment information. Can be used to display version
         * information etc. for the deployment.
         */
        label?: string;
        /** The state of the deployment */
        state: 'unknown' | 'pending' | 'in_progress' | 'cancelled' | 'failed' | 'rolled_back' | 'successful' | string;
        /**
         * This object models the Continuous Delivery (CD) Pipeline concept, an automated process (usually comprised of
         * multiple stages) for getting software from version control right through to the production environment.
         */
        pipeline: {
            /** The identifier of this pipeline, must be unique for the provider. */
            id: string;
            /** The name of the pipeline to present to the user. */
            displayName: string;
            /** A URL users can use to link to this deployment pipeline. */
            url: string;
        };
        /** The environment that the deployment is present in. */
        environment: {
            /** The identifier of this environment, must be unique for the provider so that it can be shared across pipelines. */
            id: string;
            /** The name of the environment to present to the user. */
            displayName: string;
            /** The type of the environment. */
            type: 'unmapped' | 'development' | 'testing' | 'staging' | 'production' | string;
        };
        /** A list of commands to be actioned for this Deployment */
        commands?: {
            /** The command name. */
            command?: string;
        }[];
        /**
         * The DeploymentData schema version used for this deployment data.
         *
         * Placeholder to support potential schema changes in the future.
         */
        schemaVersion?: '1.0' | string;
        /** Describes the user who triggered the deployment */
        triggeredBy?: {
            /** The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters. */
            email?: string;
        };
    }[];
    /**
     * Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not
     * considered private information. Hence, it may not contain personally identifiable information.
     */
    providerMetadata?: {
        /** An optional name of the source of the deployments data. */
        product?: string;
    };
}

interface SubmitFeatureFlags$1 {
    /**
     * Properties assigned to Feature Flag data that can then be used for delete / query operations.
     *
     * Examples might be an account or user ID that can then be used to clean up data if an account is removed from the
     * Provider system.
     *
     * Note that these properties will never be returned with Feature Flag data. They are not intended for use as metadata
     * to associate with a Feature Flag. Internally they are stored as a hash so that personal information etc. is never
     * stored within Jira.
     *
     * Properties are supplied as key/value pairs, a maximum of 5 properties can be supplied, and keys must not contain
     * ':' or start with '_'.
     */
    properties?: unknown;
    /**
     * A list of Feature Flags to submit to Jira.
     *
     * Each Feature Flag may be associated with 1 or more Jira issue keys, and will be associated with any properties
     * included in this request.
     */
    flags?: {
        /**
         * The FeatureFlagData schema version used for this flag data.
         *
         * Placeholder to support potential schema changes in the future.
         */
        schemaVersion?: '1.0' | string;
        /** The identifier for the Feature Flag. Must be unique for a given Provider. */
        id: string;
        /**
         * The identifier that users would use to reference the Feature Flag in their source code etc.
         *
         * Will be made available via the UI for users to copy into their source code etc.
         */
        key: string;
        /**
         * An ID used to apply an ordering to updates for this Feature Flag in the case of out-of-order receipt of update
         * requests.
         *
         * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
         * Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Feature
         * Flag and increment that on each update to Jira).
         *
         * Updates for a Feature Flag that are received with an updateSqeuenceId lower than what is currently stored will be
         * ignored.
         */
        updateSequenceId: number;
        /**
         * The human-readable name for the Feature Flag. Will be shown in the UI.
         *
         * If not provided, will use the ID for display.
         */
        displayName?: string;
        /** The Jira issue keys to associate the Feature Flag information with. */
        issueKeys: string[];
        /**
         * Summary information for a single Feature Flag.
         *
         * Providers may elect to provide information from a specific environment, or they may choose to 'roll up'
         * information from across multiple environments - whatever makes most sense in the Provider system.
         *
         * This is the summary information that will be presented to the user on e.g. the Jira issue screen.
         */
        summary: {
            /**
             * A URL users can use to link to a summary view of this flag, if appropriate.
             *
             * This could be any location that makes sense in the Provider system (e.g. if the summary information comes from
             * a specific environment, it might make sense to link the user to the flag in that environment).
             */
            url?: string;
            /** Status information about a single Feature Flag. */
            status: {
                /**
                 * Whether the Feature Flag is enabled in the given environment (or in summary).
                 *
                 * Enabled may imply a partial rollout, which can be described using the 'rollout' field.
                 */
                enabled: boolean;
                /**
                 * The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as
                 * appropriate.
                 *
                 * This value may be presented to the user in the UI.
                 */
                defaultValue?: string;
                /**
                 * Information about the rollout of a Feature Flag in an environment (or in summary).
                 *
                 * Only one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple
                 * are present.
                 *
                 * This information may be presented to the user in the UI.
                 */
                rollout?: {
                    /** If the Feature Flag rollout is a simple percentage rollout */
                    percentage?: number;
                    /** A text status to display that represents the rollout. This could be e.g. a named cohort. */
                    text?: string;
                    /** A count of the number of rules active for this Feature Flag in an environment. */
                    rules?: number;
                };
            };
            /**
             * The last-updated timestamp to present to the user as a summary of the state of the Feature Flag.
             *
             * Providers may choose to supply the last-updated timestamp from a specific environment, or the 'most recent'
             * last-updated timestamp across all environments - whatever makes sense in the Provider system.
             *
             * Expected format is an RFC3339 formatted string.
             */
            lastUpdated: string;
        };
        /**
         * Detail information for this Feature Flag.
         *
         * This may be information for each environment the Feature Flag is defined in or a selection of environments made
         * by the user, as appropriate.
         */
        details: {
            /** A URL users can use to link to this Feature Flag, in this environment. */
            url: string;
            /**
             * The last-updated timestamp for this Feature Flag, in this environment.
             *
             * Expected format is an RFC3339 formatted string.
             */
            lastUpdated: string;
            /**
             * Details of a single environment.
             *
             * At the simplest this must be the name of the environment.
             *
             * Ideally there is also type information which may be used to group data from multiple Feature Flags and other
             * entities for visualisation in the UI.
             */
            environment: {
                /** The name of the environment. */
                name: string;
                /** The 'type' or 'category' of environment this environment belongs to. */
                type?: 'development' | 'testing' | 'staging' | 'production' | string;
            };
            /** Status information about a single Feature Flag. */
            status: {
                /**
                 * Whether the Feature Flag is enabled in the given environment (or in summary).
                 *
                 * Enabled may imply a partial rollout, which can be described using the 'rollout' field.
                 */
                enabled: boolean;
                /**
                 * The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as
                 * appropriate.
                 *
                 * This value may be presented to the user in the UI.
                 */
                defaultValue?: string;
                /**
                 * Information about the rollout of a Feature Flag in an environment (or in summary).
                 *
                 * Only one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple
                 * are present.
                 *
                 * This information may be presented to the user in the UI.
                 */
                rollout?: {
                    /** If the Feature Flag rollout is a simple percentage rollout */
                    percentage?: number;
                    /** A text status to display that represents the rollout. This could be e.g. a named cohort. */
                    text?: string;
                    /** A count of the number of rules active for this Feature Flag in an environment. */
                    rules?: number;
                };
            };
        }[];
    }[];
    /**
     * Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not
     * considered private information. Hence, it may not contain personally identifiable information.
     */
    providerMetadata?: {
        /** An optional name of the source of the feature flags. */
        product?: string;
    };
}

interface SubmitRemoteLinks$1 {
    /**
     * Properties assigned to Remote Link data that can then be used for delete / query operations.
     *
     * Examples might be an account or user ID that can then be used to clean up data if an account is removed from the
     * Provider system.
     *
     * Properties are supplied as key/value pairs, a maximum of 5 properties can be supplied, and keys must not contain
     * ':' or start with '_'.
     */
    properties?: unknown;
    /**
     * A list of Remote Links to submit to Jira.
     *
     * Each Remote Link may be associated with one or more Jira issue keys, and will be associated with any properties
     * included in this request.
     */
    remoteLinks?: {
        /**
         * The schema version used for this data.
         *
         * Placeholder to support potential schema changes in the future.
         */
        schemaVersion?: '1.0' | string;
        /** The identifier for the Remote Link. Must be unique for a given Provider. */
        id: string;
        /**
         * An ID used to apply an ordering to updates for this Remote Link in the case of out-of-order receipt of update
         * requests.
         *
         * It must be a monotonically increasing number. For example, epoch time could be one way to generate the
         * `updateSequenceNumber`.
         *
         * Updates for a Remote Link that is received with an `updateSqeuenceNumber` less than or equal to what is currently
         * stored will be ignored.
         */
        updateSequenceNumber: number;
        /**
         * The human-readable name for the Remote Link.
         *
         * Will be shown in the UI.
         */
        displayName: string;
        /** The URL to this Remote Link in your system. */
        url: string;
        /**
         * The type of the Remote Link. The current supported types are 'document', 'alert', 'test', 'security', 'logFile',
         * 'prototype', 'coverage', 'bugReport' and 'other'
         */
        type: 'document' | 'alert' | 'test' | 'security' | 'logFile' | 'prototype' | 'coverage' | 'bugReport' | 'other' | string;
        /**
         * An optional description to attach to this Remote Link.
         *
         * This may be anything that makes sense in your system.
         */
        description?: string;
        /** The last-updated timestamp to present to the user as a summary of when Remote Link was last updated. */
        lastUpdated: string;
        /** The entities to associate the Remote Link information with. */
        associations?: unknown[];
        /** The status of a Remote Link. */
        status?: {
            /**
             * Appearance is a fixed set of appearance types affecting the colour of the status lozenge in the UI. The colours
             * they correspond to are equivalent to atlaskit's [Lozenge](https://atlaskit.atlassian.com/packages/core/lozenge)
             * component.
             */
            appearance: 'default' | 'inprogress' | 'moved' | 'new' | 'removed' | 'prototype' | 'success' | string;
            /**
             * The human-readable description for the Remote Link status.
             *
             * Will be shown in the UI.
             */
            label: string;
        };
        /**
         * Optional list of actionIds. They are associated with the actions the provider is able to provide when they
         * registered. Indicates which actions this Remote Link has.
         *
         * If any actions have a templateUrl that requires string substitution, then `attributeMap` must be passed in.
         */
        actionIds?: string[];
        /**
         * Map of key/values (string to string mapping). This is used to build the urls for actions from the templateUrl the
         * provider registered their available actions with.
         */
        attributeMap?: unknown;
    }[];
    /**
     * Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not
     * considered private information. Hence, it may not contain personally identifiable information.
     */
    providerMetadata?: {
        /** An optional name of the source of the Remote Links data. */
        product?: string;
    };
}

interface SubmitVulnerabilities$1 {
    /**
     * Indicates the operation being performed by the provider system when sending this data. "NORMAL" - Data received
     * during real-time, user-triggered actions (e.g. user closed or updated a vulnerability). "SCAN" - Data sent through
     * some automated process (e.g. some periodically scheduled repository scan). "BACKFILL" - Data received while
     * backfilling existing data (e.g. pushing historical vulnerabilities when re-connect a workspace). Default is
     * "NORMAL". "NORMAL" traffic has higher priority but tighter rate limits, "SCAN" traffic has medium priority and
     * looser limits, "BACKFILL" has lower priority and much looser limits
     */
    operationType?: 'NORMAL' | 'SCAN' | 'BACKFILL' | string;
    /**
     * Properties assigned to vulnerability data that can then be used for delete / query operations.
     *
     * Examples might be an account or user ID that can then be used to clean up data if an account is removed from the
     * Provider system.
     *
     * Properties are supplied as key/value pairs, and a maximum of 5 properties can be supplied, keys cannot contain ':'
     * or start with '_'.
     */
    properties?: unknown;
    vulnerabilities?: {
        /**
         * The VulnerabilityData schema version used for this vulnerability data.
         *
         * Placeholder to support potential schema changes in the future.
         */
        schemaVersion: '1.0' | string;
        /** The identifier for the Vulnerability. Must be unique for a given Provider. */
        id: string;
        /**
         * An ID used to apply an ordering to updates for this Vulnerability in the case of out-of-order receipt of update
         * requests.
         *
         * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
         * Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each
         * Vulnerability and increment that on each update to Jira).
         *
         * Updates for a Vulnerability that are received with an updateSequenceId lower than what is currently stored will
         * be ignored.
         */
        updateSequenceNumber: number;
        /**
         * The identifier of the Container where this Vulnerability was found. Must be unique for a given Provider. This
         * must follow this regex pattern: `[a-zA-Z0-9\\-_.~@:{}=]+(/[a-zA-Z0-9\\-_.~@:{}=]+)*`
         */
        containerId: string;
        /**
         * The human-readable name for the Vulnerability. Will be shown in the UI.
         *
         * If not provided, will use the ID for display.
         */
        displayName: string;
        /**
         * A description of the issue in markdown format that will be shown in the UI and used when creating Jira Issues.
         * HTML tags are not supported in the markdown format. For creating a new line `\n` can be used. Read more about the
         * accepted markdown transformations
         * [here](https://atlaskit.atlassian.com/packages/editor/editor-markdown-transformer).
         */
        description: string;
        /**
         * A URL users can use to link to a summary view of this vulnerability, if appropriate.
         *
         * This could be any location that makes sense in the Provider system (e.g. if the summary information comes from a
         * specific project, it might make sense to link the user to the vulnerability in that project).
         */
        url: string;
        /** The type of Vulnerability detected. */
        type: 'sca' | 'sast' | 'dast' | 'unknown' | string;
        /**
         * The timestamp to present to the user that shows when the Vulnerability was introduced.
         *
         * Expected format is an RFC3339 formatted string.
         */
        introducedDate: string;
        /**
         * The last-updated timestamp to present to the user the last time the Vulnerability was updated.
         *
         * Expected format is an RFC3339 formatted string.
         */
        lastUpdated: string;
        /**
         * Severity information for a single Vulnerability.
         *
         * This is the severity information that will be presented to the user on e.g. the Jira Security screen.
         */
        severity: {
            /** The severity level of the Vulnerability. */
            level: 'critical' | 'high' | 'medium' | 'low' | 'unknown' | string;
        };
        /** The identifying information for the Vulnerability. */
        identifiers?: {
            /** The display name of the Vulnerability identified. */
            displayName: string;
            /** A URL users can use to link to the definition of the Vulnerability identified. */
            url: string;
        }[];
        /** The current status of the Vulnerability. */
        status: 'open' | 'closed' | 'ignored' | 'unknown' | string;
        /**
         * Extra information (optional). This data will be shown in the security feature under the vulnerability
         * displayName.
         */
        additionalInfo?: {
            /** The content of the additionalInfo. */
            content: string;
            /** Optional URL linking to the information */
            url?: string;
        };
        /** The entities to associate the Security Vulnerability information with. */
        associations?: unknown[];
    }[];
    /**
     * Information about the provider. This is useful for auditing, logging, debugging, and other internal uses.
     * Information in this property is not considered private, so it should not contain personally identifiable
     * information
     */
    providerMetadata?: {
        /** An optional name of the source of the vulnerabilities. */
        product?: string;
    };
}

interface SubmitWorkspaces {
    /**
     * The IDs of Security Workspaces to link to this Jira site. These must follow this regex pattern:
     * `[a-zA-Z0-9\\-_.~@:{}=]+(\/[a-zA-Z0-9\\-_.~@:{}=]+)*`
     */
    workspaceIds: string[];
}

interface SwapSprint {
    /** The ID of the sprint to swap. */
    sprintId: number;
    sprintToSwapWith?: number;
}

interface ToggleFeatures$1 {
    boardId: number;
    body?: {
        boardId?: number;
        feature?: string;
        enabling?: boolean;
    };
}

interface UpdateSprint {
    /** The ID of the sprint to update. */
    sprintId: number;
    id?: number;
    self?: string;
    state?: string;
    name?: string;
    startDate?: string;
    endDate?: string;
    completeDate?: string;
    createdDate?: string;
    originBoardId?: number;
    goal?: string;
}

interface GetIncidentById$1 {
    /** The ID of the Incident to fetch. */
    incidentId: string;
}

interface DeleteIncidentById {
    /** The ID of the Incident to delete. */
    incidentId: string;
}

interface DeleteReviewById {
    /** The ID of the Review to delete. */
    reviewId: string;
}

interface GetReviewById$1 {
    /** The ID of the Review to fetch. */
    reviewId: string;
}

interface DeleteEntityByProperty extends Record<string, any> {
    accountId?: string;
    createdBy?: string;
}

interface SubmitEntity$1 extends Record<string, any> {
    /**
     * Properties assigned to incidents/components/review data that can then be used for delete / query operations.
     *
     * Examples might be an account or user ID that can then be used to clean up data if an account is removed from the
     * Provider system.
     *
     * Properties are supplied as key/value pairs, and a maximum of 5 properties can be supplied, keys cannot contain ':'
     * or start with '_'.
     */
    properties?: unknown;
    /**
     * Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not
     * considered private information. Hence, it may not contain personally identifiable information.
     */
    providerMetadata?: {
        /** An optional name of the source of the incidents. */
        product?: string;
    };
}

interface GetWorkspaces$1 {
    workspaceId: string;
}

interface DeleteWorkspaces {
    workspaceIds: string[];
}

interface SubmitOperationsWorkspaces$1 {
    /** The IDs of Operations Workspaces that are available to this Jira site. */
    workspaceIds?: string[];
}

interface SubmitComponents$1 {
    /**
     * Properties assigned to incidents/components/review data that can then be used for delete / query operations.
     *
     * Examples might be an account or user ID that can then be used to clean up data if an account is removed from the
     * Provider system.
     *
     * Properties are supplied as key/value pairs, and a maximum of 5 properties can be supplied, keys cannot contain ':'
     * or start with '_'.
     */
    properties?: unknown;
    components: {
        /**
         * The DevOpsComponentData schema version used for this devops component data.
         *
         * Placeholder to support potential schema changes in the future.
         */
        schemaVersion: '1.0' | string;
        /** The identifier for the DevOps Component. Must be unique for a given Provider. */
        id: string;
        /**
         * An ID used to apply an ordering to updates for this DevOps Component in the case of out-of-order receipt of
         * update requests.
         *
         * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
         * Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each DevOps
         * Component and increment that on each update to Jira).
         *
         * Updates for a DevOps Component that are received with an updateSequenceId lower than what is currently stored
         * will be ignored.
         */
        updateSequenceNumber: number;
        /** The human-readable name for the DevOps Component. Will be shown in the UI. */
        name: string;
        /** The human-readable name for the Provider that owns this DevOps Component. Will be shown in the UI. */
        providerName?: string;
        /** A description of the DevOps Component in Markdown format. Will be shown in the UI. */
        description: string;
        /**
         * A URL users can use to link to a summary view of this devops component, if appropriate.
         *
         * This could be any location that makes sense in the Provider system (e.g. if the summary information comes from a
         * specific project, it might make sense to link the user to the component in that project).
         */
        url: string;
        /** A URL to display a logo representing this devops component, if available. */
        avatarUrl: string;
        /** The tier of the component. Will be shown in the UI. */
        tier: 'Tier 1' | 'Tier 2' | 'Tier 3' | 'Tier 4' | string;
        /** The type of the component. Will be shown in the UI. */
        componentType: 'Service' | 'Application' | 'Library' | 'Capability' | 'Cloud resource' | 'Data pipeline' | 'Machine learning model' | 'UI element' | 'Website' | 'Other' | string;
        /**
         * The last-updated timestamp to present to the user the last time the DevOps Component was updated.
         *
         * Expected format is an RFC3339 formatted string.
         */
        lastUpdated: string;
    }[];
    /**
     * Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not
     * considered private information. Hence, it may not contain personally identifiable information.
     */
    providerMetadata?: {
        /** An optional name of the source of the incidents. */
        product?: string;
    };
}

interface DeleteComponentById {
    /** The ID of the Component to delete. */
    componentId: string;
}

interface DeleteComponentsByProperty extends Record<string, any> {
    accountId?: string;
    createdBy?: string;
}

interface GetComponentById$1 {
    /** The ID of the Component to fetch. */
    componentId: string;
}

type index$b_CreateSprint = CreateSprint;
type index$b_DeleteBoard = DeleteBoard;
type index$b_DeleteBoardProperty = DeleteBoardProperty;
type index$b_DeleteBuildByKey = DeleteBuildByKey;
type index$b_DeleteBuildsByProperty = DeleteBuildsByProperty;
type index$b_DeleteByProperties = DeleteByProperties;
type index$b_DeleteComponentById = DeleteComponentById;
type index$b_DeleteComponentsByProperty = DeleteComponentsByProperty;
type index$b_DeleteDeploymentByKey = DeleteDeploymentByKey;
type index$b_DeleteDeploymentsByProperty = DeleteDeploymentsByProperty;
type index$b_DeleteEntity = DeleteEntity;
type index$b_DeleteEntityByProperty = DeleteEntityByProperty;
type index$b_DeleteFeatureFlagById = DeleteFeatureFlagById;
type index$b_DeleteFeatureFlagsByProperty = DeleteFeatureFlagsByProperty;
type index$b_DeleteIncidentById = DeleteIncidentById;
type index$b_DeleteLinkedWorkspaces = DeleteLinkedWorkspaces;
type index$b_DeleteRemoteLinkById = DeleteRemoteLinkById;
type index$b_DeleteRemoteLinksByProperty = DeleteRemoteLinksByProperty;
type index$b_DeleteRepository = DeleteRepository;
type index$b_DeleteReviewById = DeleteReviewById;
type index$b_DeleteSprint = DeleteSprint;
type index$b_DeleteVulnerabilitiesByProperty = DeleteVulnerabilitiesByProperty;
type index$b_DeleteVulnerabilityById = DeleteVulnerabilityById;
type index$b_DeleteWorkspaces = DeleteWorkspaces;
type index$b_EstimateIssueForBoard = EstimateIssueForBoard;
type index$b_GetAllSprints = GetAllSprints;
type index$b_GetAllVersions = GetAllVersions;
type index$b_GetBoardIssuesForEpic = GetBoardIssuesForEpic;
type index$b_GetBoardIssuesForSprint = GetBoardIssuesForSprint;
type index$b_GetBoardProperty = GetBoardProperty;
type index$b_GetBoardPropertyKeys = GetBoardPropertyKeys;
type index$b_GetEpic = GetEpic;
type index$b_GetEpics = GetEpics;
type index$b_GetIssueEstimationForBoard = GetIssueEstimationForBoard;
type index$b_GetIssuesForBacklog = GetIssuesForBacklog;
type index$b_GetIssuesForBoard = GetIssuesForBoard;
type index$b_GetIssuesForEpic = GetIssuesForEpic;
type index$b_GetIssuesForSprint = GetIssuesForSprint;
type index$b_GetIssuesWithoutEpic = GetIssuesWithoutEpic;
type index$b_GetIssuesWithoutEpicForBoard = GetIssuesWithoutEpicForBoard;
type index$b_GetProjects = GetProjects;
type index$b_GetProjectsFull = GetProjectsFull;
type index$b_GetSprint = GetSprint;
type index$b_MoveIssuesToBacklog = MoveIssuesToBacklog;
type index$b_MoveIssuesToBacklogForBoard = MoveIssuesToBacklogForBoard;
type index$b_MoveIssuesToBoard = MoveIssuesToBoard;
type index$b_MoveIssuesToEpic = MoveIssuesToEpic;
type index$b_MoveIssuesToSprintAndRank = MoveIssuesToSprintAndRank;
type index$b_PartiallyUpdateEpic = PartiallyUpdateEpic;
type index$b_PartiallyUpdateSprint = PartiallyUpdateSprint;
type index$b_RankEpics = RankEpics;
type index$b_RankIssues = RankIssues;
type index$b_RemoveIssuesFromEpic = RemoveIssuesFromEpic;
type index$b_SetBoardProperty = SetBoardProperty;
type index$b_SubmitWorkspaces = SubmitWorkspaces;
type index$b_SwapSprint = SwapSprint;
type index$b_UpdateSprint = UpdateSprint;
declare namespace index$b {
  export type { CreateBoard$1 as CreateBoard, index$b_CreateSprint as CreateSprint, index$b_DeleteBoard as DeleteBoard, index$b_DeleteBoardProperty as DeleteBoardProperty, index$b_DeleteBuildByKey as DeleteBuildByKey, index$b_DeleteBuildsByProperty as DeleteBuildsByProperty, index$b_DeleteByProperties as DeleteByProperties, index$b_DeleteComponentById as DeleteComponentById, index$b_DeleteComponentsByProperty as DeleteComponentsByProperty, index$b_DeleteDeploymentByKey as DeleteDeploymentByKey, index$b_DeleteDeploymentsByProperty as DeleteDeploymentsByProperty, index$b_DeleteEntity as DeleteEntity, index$b_DeleteEntityByProperty as DeleteEntityByProperty, index$b_DeleteFeatureFlagById as DeleteFeatureFlagById, index$b_DeleteFeatureFlagsByProperty as DeleteFeatureFlagsByProperty, index$b_DeleteIncidentById as DeleteIncidentById, index$b_DeleteLinkedWorkspaces as DeleteLinkedWorkspaces, DeleteProperty$1 as DeleteProperty, index$b_DeleteRemoteLinkById as DeleteRemoteLinkById, index$b_DeleteRemoteLinksByProperty as DeleteRemoteLinksByProperty, index$b_DeleteRepository as DeleteRepository, index$b_DeleteReviewById as DeleteReviewById, index$b_DeleteSprint as DeleteSprint, index$b_DeleteVulnerabilitiesByProperty as DeleteVulnerabilitiesByProperty, index$b_DeleteVulnerabilityById as DeleteVulnerabilityById, index$b_DeleteWorkspaces as DeleteWorkspaces, index$b_EstimateIssueForBoard as EstimateIssueForBoard, ExistsByProperties$1 as ExistsByProperties, GetAllBoards$1 as GetAllBoards, GetAllQuickFilters$1 as GetAllQuickFilters, index$b_GetAllSprints as GetAllSprints, index$b_GetAllVersions as GetAllVersions, GetBoard$1 as GetBoard, GetBoardByFilterId$1 as GetBoardByFilterId, index$b_GetBoardIssuesForEpic as GetBoardIssuesForEpic, index$b_GetBoardIssuesForSprint as GetBoardIssuesForSprint, index$b_GetBoardProperty as GetBoardProperty, index$b_GetBoardPropertyKeys as GetBoardPropertyKeys, GetBuildByKey$1 as GetBuildByKey, GetComponentById$1 as GetComponentById, GetConfiguration$1 as GetConfiguration, GetDeploymentByKey$1 as GetDeploymentByKey, GetDeploymentGatingStatusByKey$1 as GetDeploymentGatingStatusByKey, index$b_GetEpic as GetEpic, index$b_GetEpics as GetEpics, GetFeatureFlagById$1 as GetFeatureFlagById, GetFeaturesForBoard$1 as GetFeaturesForBoard, GetIncidentById$1 as GetIncidentById, GetIssue$2 as GetIssue, index$b_GetIssueEstimationForBoard as GetIssueEstimationForBoard, index$b_GetIssuesForBacklog as GetIssuesForBacklog, index$b_GetIssuesForBoard as GetIssuesForBoard, index$b_GetIssuesForEpic as GetIssuesForEpic, index$b_GetIssuesForSprint as GetIssuesForSprint, index$b_GetIssuesWithoutEpic as GetIssuesWithoutEpic, index$b_GetIssuesWithoutEpicForBoard as GetIssuesWithoutEpicForBoard, GetLinkedWorkspaceById$1 as GetLinkedWorkspaceById, index$b_GetProjects as GetProjects, index$b_GetProjectsFull as GetProjectsFull, GetPropertiesKeys$1 as GetPropertiesKeys, GetProperty$1 as GetProperty, GetQuickFilter$1 as GetQuickFilter, GetRemoteLinkById$1 as GetRemoteLinkById, GetReportsForBoard$1 as GetReportsForBoard, GetRepository$1 as GetRepository, GetReviewById$1 as GetReviewById, index$b_GetSprint as GetSprint, GetVulnerabilityById$1 as GetVulnerabilityById, GetWorkspaces$1 as GetWorkspaces, index$b_MoveIssuesToBacklog as MoveIssuesToBacklog, index$b_MoveIssuesToBacklogForBoard as MoveIssuesToBacklogForBoard, index$b_MoveIssuesToBoard as MoveIssuesToBoard, index$b_MoveIssuesToEpic as MoveIssuesToEpic, index$b_MoveIssuesToSprintAndRank as MoveIssuesToSprintAndRank, index$b_PartiallyUpdateEpic as PartiallyUpdateEpic, index$b_PartiallyUpdateSprint as PartiallyUpdateSprint, index$b_RankEpics as RankEpics, index$b_RankIssues as RankIssues, index$b_RemoveIssuesFromEpic as RemoveIssuesFromEpic, index$b_SetBoardProperty as SetBoardProperty, SetProperty$1 as SetProperty, StoreDevelopmentInformation$1 as StoreDevelopmentInformation, SubmitBuilds$1 as SubmitBuilds, SubmitComponents$1 as SubmitComponents, SubmitDeployments$1 as SubmitDeployments, SubmitEntity$1 as SubmitEntity, SubmitFeatureFlags$1 as SubmitFeatureFlags, SubmitOperationsWorkspaces$1 as SubmitOperationsWorkspaces, SubmitRemoteLinks$1 as SubmitRemoteLinks, SubmitVulnerabilities$1 as SubmitVulnerabilities, index$b_SubmitWorkspaces as SubmitWorkspaces, index$b_SwapSprint as SwapSprint, ToggleFeatures$1 as ToggleFeatures, index$b_UpdateSprint as UpdateSprint };
}

declare const BasicAuthSchema: z.ZodObject<{
    email: z.ZodString;
    apiToken: z.ZodString;
}, "strict", z.ZodTypeAny, {
    email: string;
    apiToken: string;
}, {
    email: string;
    apiToken: string;
}>;
type BasicAuth = z.infer<typeof BasicAuthSchema>;
declare const OAuth2Schema: z.ZodObject<{
    accessToken: z.ZodString;
}, "strict", z.ZodTypeAny, {
    accessToken: string;
}, {
    accessToken: string;
}>;
type OAuth2 = z.infer<typeof OAuth2Schema>;
declare const MiddlewaresSchema: z.ZodObject<{
    onError: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodVoid>>;
    onResponse: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodVoid>>;
}, "strict", z.ZodTypeAny, {
    onError?: ((args_0: any, ...args: unknown[]) => void) | undefined;
    onResponse?: ((args_0: any, ...args: unknown[]) => void) | undefined;
}, {
    onError?: ((args_0: any, ...args: unknown[]) => void) | undefined;
    onResponse?: ((args_0: any, ...args: unknown[]) => void) | undefined;
}>;
type Middlewares = z.infer<typeof MiddlewaresSchema>;
declare const ConfigSchema: z.ZodObject<{
    host: z.ZodString;
    strictGDPR: z.ZodOptional<z.ZodBoolean>;
    /** Adds `'X-Atlassian-Token': 'no-check'` to each request header */
    noCheckAtlassianToken: z.ZodOptional<z.ZodBoolean>;
    baseRequestConfig: z.ZodOptional<z.ZodAny>;
    authentication: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        basic: z.ZodObject<{
            email: z.ZodString;
            apiToken: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            email: string;
            apiToken: string;
        }, {
            email: string;
            apiToken: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        basic: {
            email: string;
            apiToken: string;
        };
    }, {
        basic: {
            email: string;
            apiToken: string;
        };
    }>, z.ZodObject<{
        oauth2: z.ZodObject<{
            accessToken: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            accessToken: string;
        }, {
            accessToken: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        oauth2: {
            accessToken: string;
        };
    }, {
        oauth2: {
            accessToken: string;
        };
    }>]>>;
    middlewares: z.ZodOptional<z.ZodObject<{
        onError: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodVoid>>;
        onResponse: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodVoid>>;
    }, "strict", z.ZodTypeAny, {
        onError?: ((args_0: any, ...args: unknown[]) => void) | undefined;
        onResponse?: ((args_0: any, ...args: unknown[]) => void) | undefined;
    }, {
        onError?: ((args_0: any, ...args: unknown[]) => void) | undefined;
        onResponse?: ((args_0: any, ...args: unknown[]) => void) | undefined;
    }>>;
}, "strict", z.ZodTypeAny, {
    host: string;
    strictGDPR?: boolean | undefined;
    noCheckAtlassianToken?: boolean | undefined;
    baseRequestConfig?: any;
    authentication?: {
        basic: {
            email: string;
            apiToken: string;
        };
    } | {
        oauth2: {
            accessToken: string;
        };
    } | undefined;
    middlewares?: {
        onError?: ((args_0: any, ...args: unknown[]) => void) | undefined;
        onResponse?: ((args_0: any, ...args: unknown[]) => void) | undefined;
    } | undefined;
}, {
    host: string;
    strictGDPR?: boolean | undefined;
    noCheckAtlassianToken?: boolean | undefined;
    baseRequestConfig?: any;
    authentication?: {
        basic: {
            email: string;
            apiToken: string;
        };
    } | {
        oauth2: {
            accessToken: string;
        };
    } | undefined;
    middlewares?: {
        onError?: ((args_0: any, ...args: unknown[]) => void) | undefined;
        onResponse?: ((args_0: any, ...args: unknown[]) => void) | undefined;
    } | undefined;
}>;
type Config = z.infer<typeof ConfigSchema>;
type JiraError = AxiosError | HttpException;

type Callback<T> = (err: JiraError | null, data?: T) => void;

type RequestConfig = AxiosRequestConfig;

interface Client {
    sendRequest<T>(requestConfig: RequestConfig, callback?: never): Promise<T>;
    sendRequest<T>(requestConfig: RequestConfig, callback?: Callback<T>): Promise<void>;
    sendRequestFullResponse<T>(requestConfig: RequestConfig): Promise<AxiosResponse<T>>;
    handleSuccessResponse<T>(response: any, callback?: Callback<T> | undefined | never): T | void;
    handleFailedResponse<T>(e: Error, callback?: Callback<T> | never): void;
}

declare class BaseClient implements Client {
    protected readonly config: Config;
    private instance;
    constructor(config: Config);
    protected paramSerializer(parameters: Record<string, any>): string;
    protected encode(value: string): string;
    protected removeUndefinedProperties(obj: Record<string, any>): Record<string, any>;
    sendRequest<T>(requestConfig: RequestConfig, callback: never): Promise<T>;
    sendRequest<T>(requestConfig: RequestConfig, callback: Callback<T>): Promise<void>;
    sendRequestFullResponse<T>(requestConfig: RequestConfig): Promise<AxiosResponse<T>>;
    handleSuccessResponse<T>(response: any, callback?: Callback<T> | never): T | void;
    handleFailedResponse<T>(e: unknown, callback?: Callback<T> | never): void;
    private buildErrorHandlingResponse;
}

declare const isUndefined: (obj: any) => obj is undefined;
declare const isNil: (val: any) => val is null | undefined;
declare const isObject: (fn: any) => fn is object;
declare const isString: (val: any) => val is string;
declare const isNumber: (val: any) => val is number;
interface HttpExceptionOptions {
    /** Original cause of the error */
    cause?: unknown;
    description?: string;
}
declare const DEFAULT_EXCEPTION_STATUS = 500;
declare const DEFAULT_EXCEPTION_MESSAGE = "Something went wrong";
declare const DEFAULT_EXCEPTION_CODE = "INTERNAL_SERVER_ERROR";
declare const DEFAULT_EXCEPTION_STATUS_TEXT = "Internal server error";
/** Defines the base HTTP exception, which is handled by the default Exceptions Handler. */
declare class HttpException extends Error {
    readonly response: string | Record<string, any>;
    /**
     * Instantiate a plain HTTP Exception.
     *
     * @example
     *   throw new HttpException('message', HttpStatus.BAD_REQUEST);
     *   throw new HttpException('custom message', HttpStatus.BAD_REQUEST, {
     *     cause: new Error('Cause Error'),
     *   });
     *
     * @param response String, object describing the error condition or the error cause.
     * @param status HTTP response status code.
     * @param options An object used to add an error cause. Configures error chaining support
     * @usageNotes
     * The constructor arguments define the response and the HTTP response status code.
     * - The `response` argument (required) defines the JSON response body. alternatively, it can also be
     *  an error object that is used to define an error [cause](https://nodejs.org/en/blog/release/v16.9.0/#error-cause).
     * - The `status` argument (optional) defines the HTTP Status Code.
     * - The `options` argument (optional) defines additional error options. Currently, it supports the `cause` attribute,
     *  and can be used as an alternative way to specify the error cause: `const error = new HttpException('description', 400, { cause: new Error() });`
     *
     * By default, the JSON response body contains two properties:
     * - `statusCode`: the Http Status Code.
     * - `message`: a short description of the HTTP error by default; override this
     * by supplying a string in the `response` parameter.
     *
     * The `status` argument is required, and should be a valid HTTP status code.
     * Best practice is to use the `HttpStatus` enum imported from `nestjs/common`.
     * @see https://nodejs.org/en/blog/release/v16.9.0/#error-cause
     * @see https://github.com/microsoft/TypeScript/issues/45167
     */
    constructor(response: string | Record<string, any>, status?: number, options?: HttpExceptionOptions);
    readonly cause?: unknown;
    readonly code?: string;
    readonly status: number;
    readonly statusText?: string;
    protected initMessage(response: string | Record<string, any>): any;
    protected initCause(response: string | Record<string, any>, options?: HttpExceptionOptions): unknown;
    protected initCode(response: string | Record<string, any>): string;
    protected initName(): string;
    protected initStatus(response: string | Record<string, any>, status?: number): number;
    protected initStatusText(response: string | Record<string, any>, status?: number): string | undefined;
}

interface ActorInput$1 {
    /**
     * The name of the group to add as a default actor. This parameter cannot be used with the `groupId` parameter. As a
     * group's name can change,use of `groupId` is recommended. This parameter accepts a comma-separated list. For
     * example, `"group":["project-admin", "jira-developers"]`.
     */
    group?: string[];
    /**
     * The ID of the group to add as a default actor. This parameter cannot be used with the `group` parameter This
     * parameter accepts a comma-separated list. For example, `"groupId":["77f6ab39-e755-4570-a6ae-2d7a8df0bcb8",
     * "0c011f85-69ed-49c4-a801-3b18d0f771bc"]`.
     */
    groupId?: string[];
    /**
     * The account IDs of the users to add as default actors. This parameter accepts a comma-separated list. For example,
     * `"user":["5b10a2844c20165700ede21g", "5b109f2e9729b51b54dc274d"]`.
     */
    user?: string[];
}

interface ActorsMap$1 {
    /**
     * The name of the group to add. This parameter cannot be used with the `groupId` parameter. As a group's name can
     * change, use of `groupId` is recommended.
     */
    group?: string[];
    /** The ID of the group to add. This parameter cannot be used with the `group` parameter. */
    groupId?: string[];
    /** The user account ID of the user to add. */
    user?: string[];
}

interface AddAtlassianTeamRequest {
    /** The capacity for the Atlassian team. */
    capacity?: number;
    /** The Atlassian team ID. */
    id: string;
    /** The ID of the issue source for the Atlassian team. */
    issueSourceId?: number;
    /** The planning style for the Atlassian team. This must be "Scrum" or "Kanban". */
    planningStyle: 'Scrum' | 'Kanban' | string;
    /** The sprint length for the Atlassian team. */
    sprintLength?: number;
}

interface AddField$1 {
    /** The ID of the field to add. */
    fieldId: string;
}

interface AddGroup$1 {
    /** The name of the group. */
    name: string;
}

/** The ID of an event that is being mapped to notifications. */
interface NotificationSchemeEventTypeId$1 {
    /** The ID of the notification scheme event. */
    id: string;
}

/** Details of a notification within a notification scheme. */
interface NotificationSchemeNotificationDetails$1 {
    /** The notification type, e.g `CurrentAssignee`, `Group`, `EmailAddress`. */
    notificationType: string;
    /** The value corresponding to the specified notification type. */
    parameter?: string;
}

/** Details of a notification scheme event. */
interface NotificationSchemeEventDetails$1 {
    event?: NotificationSchemeEventTypeId$1;
    /** The list of notifications mapped to a specified event. */
    notifications: NotificationSchemeNotificationDetails$1[];
}

/** Details of notifications which should be added to the notification scheme. */
interface AddNotificationsDetails {
    /** The list of notifications which should be added to the notification scheme. */
    notificationSchemeEvents: NotificationSchemeEventDetails$1[];
}

interface SecuritySchemeLevelMember$1 {
    /** The value corresponding to the specified member type. */
    parameter?: string;
    /** The issue security level member type, e.g `reporter`, `group`, `user`. */
    type: 'reporter' | 'group' | 'user' | string;
}

interface SecuritySchemeLevel$1 {
    /** The description of the issue security scheme level. */
    description?: string;
    /** Specifies whether the level is the default level. False by default. */
    isDefault?: boolean;
    /** The list of level members which should be added to the issue security scheme level. */
    members?: SecuritySchemeLevelMember$1[];
    /** The name of the issue security scheme level. Must be unique. */
    name: string;
}

interface AddSecuritySchemeLevelsRequest$1 {
    /** The list of scheme levels which should be added to the security scheme. */
    levels: SecuritySchemeLevel$1[];
}

/** Announcement banner configuration. */
interface AnnouncementBannerConfiguration$1 {
    /** Hash of the banner data. The client detects updates by comparing hash IDs. */
    hashId?: string;
    /** Flag indicating if the announcement banner can be dismissed by the user. */
    isDismissible?: boolean;
    /** Flag indicating if the announcement banner is enabled or not. */
    isEnabled?: boolean;
    /** The text on the announcement banner. */
    message?: string;
    /** Visibility of the announcement banner. */
    visibility?: string;
}

/** Configuration of the announcement banner. */
interface AnnouncementBannerConfigurationUpdate$1 {
    /** Flag indicating if the announcement banner can be dismissed by the user. */
    isDismissible?: boolean;
    /** Flag indicating if the announcement banner is enabled or not. */
    isEnabled?: boolean;
    /** The text on the announcement banner. */
    message?: string;
    /** Visibility of the announcement banner. Can be public or private. */
    visibility?: string;
}

/** The application the linked item is in. */
interface Application$1 {
    /**
     * The name of the application. Used in conjunction with the (remote) object icon title to display a tooltip for the
     * link's icon. The tooltip takes the format "[application name] icon title". Blank items are excluded from the
     * tooltip title. If both items are blank, the icon tooltop displays as "Web Link". Grouping and sorting of links may
     * place links without an application name last.
     */
    name?: string;
    /** The name-spaced type of the application, used by registered rendering apps. */
    type?: string;
}

/** Details of an application property. */
interface ApplicationProperty$1 {
    /** The allowed values, if applicable. */
    allowedValues?: string[];
    /** The default value of the application property. */
    defaultValue?: string;
    /** The description of the application property. */
    desc?: string;
    example?: string;
    /** The ID of the application property. The ID and key are the same. */
    id?: string;
    /** The key of the application property. The ID and key are the same. */
    key?: string;
    /** The name of the application property. */
    name?: string;
    /** The data type of the application property. */
    type?: string;
    /** The new value. */
    value?: string;
}

/** Details about a group. */
interface GroupName$1 {
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products. For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_.
     */
    groupId?: string;
    /** The name of group. */
    name?: string;
    /** The URL for these group details. */
    self?: string;
}

/** Details of an application role. */
interface ApplicationRole$1 {
    /**
     * The groups that are granted default access for this application role. As a group's name can change, use of
     * `defaultGroupsDetails` is recommended to identify a groups.
     */
    defaultGroups?: string[];
    /** The groups that are granted default access for this application role. */
    defaultGroupsDetails?: GroupName$1[];
    /** The groups associated with the application role. */
    groupDetails?: GroupName$1[];
    /**
     * The groups associated with the application role. As a group's name can change, use of `groupDetails` is recommended
     * to identify a groups.
     */
    groups?: string[];
    hasUnlimitedSeats?: boolean;
    /** The key of the application role. */
    key?: string;
    /** The display name of the application role. */
    name?: string;
    /** The maximum count of users on your license. */
    numberOfSeats?: number;
    /** Indicates if the application role belongs to Jira platform (`jira-core`). */
    platform?: boolean;
    /** The count of users remaining on your license. */
    remainingSeats?: number;
    /** Determines whether this application role should be selected by default on user creation. */
    selectedByDefault?: boolean;
    /** The number of users counting against your license. */
    userCount?: number;
    /** The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license. */
    userCountDescription?: string;
}

/** Details of an item associated with the changed record. */
interface AssociatedItem$1 {
    /** The ID of the associated record. */
    id?: string;
    /** The name of the associated record. */
    name?: string;
    /** The ID of the associated parent record. */
    parentId?: string;
    /** The name of the associated parent record. */
    parentName?: string;
    /** The type of the associated record. */
    typeName?: string;
}

/** The field configuration to issue type mapping. */
interface FieldConfigurationToIssueTypeMapping$1 {
    /** The ID of the field configuration. */
    fieldConfigurationId: string;
    /**
     * The ID of the issue type or _default_. When set to _default_ this field configuration issue type item applies to
     * all issue types without a field configuration. An issue type can be included only once in a request.
     */
    issueTypeId: string;
}

/** Details of a field configuration to issue type mappings. */
interface AssociateFieldConfigurationsWithIssueTypesRequest$1 {
    /** Field configuration to issue type mappings. */
    mappings: FieldConfigurationToIssueTypeMapping$1[];
}

interface AvatarUrls$3 {
    /** The URL of the item's 16x16 pixel avatar. */
    '16x16'?: string;
    /** The URL of the item's 24x24 pixel avatar. */
    '24x24'?: string;
    /** The URL of the item's 32x32 pixel avatar. */
    '32x32'?: string;
    /** The URL of the item's 48x48 pixel avatar. */
    '48x48'?: string;
}

/**
 * User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:*
 *
 * - User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case,
 *   `displayName` provides an indication and other parameters have default values or are blank (for example, email is
 *   blank).
 * - User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted
 *   users. In this case, `accountId` returns _unknown_ and all other parameters have fallback values.
 * - User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have
 *   fallback values.
 */
interface UserDetails$2 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application
     * user) or 'customer' (Jira Service Desk customer user)
     */
    accountType?: string;
    /** Whether the user is active. */
    active?: boolean;
    avatarUrls?: AvatarUrls$3;
    /** The display name of the user. Depending on the user’s privacy settings, this may return an alternative value. */
    displayName?: string;
    /** The email address of the user. Depending on the user’s privacy settings, this may be returned as null. */
    emailAddress?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /** The URL of the user. */
    self?: string;
    /**
     * The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as
     * null.
     */
    timeZone?: string;
}

/** Details about an attachment. */
interface Attachment$5 {
    author?: UserDetails$2;
    /** The content of the attachment. */
    content?: string;
    /** The datetime the attachment was created. */
    created?: string;
    /** The file name of the attachment. */
    filename?: string;
    /** The ID of the attachment. */
    id: string;
    /** The MIME type of the attachment. */
    mimeType?: string;
    /** The URL of the attachment details response. */
    self?: string;
    /** The size of the attachment. */
    size?: number;
    /** The URL of a thumbnail representing the attachment. */
    thumbnail?: string;
}

interface AttachmentArchiveEntry$1 {
    abbreviatedName?: string;
    entryIndex?: number;
    mediaType?: string;
    name?: string;
    size?: number;
}

interface AttachmentArchiveImpl$1 {
    /** The list of the items included in the archive. */
    entries?: AttachmentArchiveEntry$1[];
    /** The number of items in the archive. */
    totalEntryCount?: number;
}

/** Metadata for an item in an attachment archive. */
interface AttachmentArchiveItemReadable$1 {
    /** The position of the item within the archive. */
    index?: number;
    /** The label for the archive item. */
    label?: string;
    /** The MIME type of the archive item. */
    mediaType?: string;
    /** The path of the archive item. */
    path?: string;
    /** The size of the archive item. */
    size?: string;
}

/** Metadata for an archive (for example a zip) and its contents. */
interface AttachmentArchiveMetadataReadable$1 {
    /** The list of the items included in the archive. */
    entries?: AttachmentArchiveItemReadable$1[];
    /** The ID of the attachment. */
    id?: number;
    /** The MIME type of the attachment. */
    mediaType?: string;
    /** The name of the archive file. */
    name?: string;
    /** The number of items included in the archive. */
    totalEntryCount?: number;
}

interface ListWrapperCallbackApplicationRole$1 {
}

interface SimpleListWrapperApplicationRole$1 {
    callback?: ListWrapperCallbackApplicationRole$1;
    items?: ApplicationRole$1[];
    'max-results'?: number;
    pagingCallback?: ListWrapperCallbackApplicationRole$1;
    size?: number;
}

interface ListWrapperCallbackGroupName$1 {
}

interface SimpleListWrapperGroupName$1 {
    callback?: ListWrapperCallbackGroupName$1;
    items?: GroupName$1[];
    'max-results'?: number;
    pagingCallback?: ListWrapperCallbackGroupName$1;
    size?: number;
}

/**
 * A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these
 * exceptions:*
 *
 * - User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case,
 *   `displayName` provides an indication and other parameters have default values or are blank (for example, email is
 *   blank).
 * - User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted
 *   users. In this case, `accountId` returns _unknown_ and all other parameters have fallback values.
 * - User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have
 *   fallback values.
 */
interface User$3 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Required in requests.
     */
    accountId?: string;
    /**
     * The user account type. Can take the following values:
     *
     * `atlassian` regular Atlassian user account `app` system account used for Connect applications and OAuth to
     * represent external systems `customer` Jira Service Desk account representing an external service desk
     */
    accountType?: string;
    /** Whether the user is active. */
    active?: boolean;
    applicationRoles?: SimpleListWrapperApplicationRole$1;
    avatarUrls?: AvatarUrls$3;
    /** The display name of the user. Depending on the user’s privacy setting, this may return an alternative value. */
    displayName?: string;
    /** The email address of the user. Depending on the user’s privacy setting, this may be returned as null. */
    emailAddress?: string;
    /** Expand options that include additional user details in the response. */
    expand?: string;
    groups?: SimpleListWrapperGroupName$1;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /** The locale of the user. Depending on the user’s privacy setting, this may be returned as null. */
    locale?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /** The URL of the user. */
    self?: string;
    /**
     * The time zone specified in the user's profile. Depending on the user’s privacy setting, this may be returned as
     * null.
     */
    timeZone?: string;
}

/** Metadata for an issue attachment. */
interface AttachmentMetadata$1 {
    /** The ID of the attachment. */
    id?: number;
    /** The URL of the attachment metadata details. */
    self?: string;
    /** The name of the attachment file. */
    filename?: string;
    author?: User$3;
    /** The datetime the attachment was created. */
    created?: string;
    /** The size of the attachment. */
    size?: number;
    /** The MIME type of the attachment. */
    mimeType?: string;
    /** Additional properties of the attachment. */
    properties?: unknown;
    /** The URL of the attachment. */
    content?: string;
    /** The URL of a thumbnail representing the attachment. */
    thumbnail?: string;
    /**
     * The file ID of the attachment in the media store. See the [Media
     * API](https://developer.atlassian.com/platform/media/) documentation for more details.
     */
    mediaApiFileId?: string;
}

/** Details of the instance's attachment settings. */
interface AttachmentSettings$1 {
    /** Whether the ability to add attachments is enabled. */
    enabled?: boolean;
    /** The maximum size of attachments permitted, in bytes. */
    uploadLimit?: number;
}

/** Details of names changed in the record event. */
interface ChangedValue$1 {
    /** The value of the field before the change. */
    changedFrom?: string;
    /** The value of the field after the change. */
    changedTo?: string;
    /** The name of the field changed. */
    fieldName?: string;
}

/** An audit record. */
interface AuditRecord$1 {
    /** The ID of the audit record. */
    id?: number;
    /** The summary of the audit record. */
    summary?: string;
    /** The URL of the computer where the creation of the audit record was initiated. */
    remoteAddress?: string;
    /** The date and time on which the audit record was created. */
    created?: string;
    /**
     * The category of the audit record. For a list of these categories, see the help article [Auditing in Jira
     * applications](https://confluence.atlassian.com/x/noXKM).
     */
    category?: string;
    /** The event the audit record originated from. */
    eventSource?: string;
    /** The description of the audit record. */
    description?: string;
    objectItem?: AssociatedItem$1;
    /** The list of values changed in the record event. */
    changedValues?: ChangedValue$1[];
    /** The list of items associated with the changed record. */
    associatedItems?: AssociatedItem$1[];
}

/** Container for a list of audit records. */
interface AuditRecords$3 {
    /** The requested or default limit on the number of audit items to be returned. */
    limit?: number;
    /** The number of audit items skipped before the first item in this list. */
    offset?: number;
    /** The list of audit items. */
    records?: AuditRecord$1[];
    /** The total number of audit items returned. */
    total?: number;
}

/** A field auto-complete suggestion. */
interface AutoCompleteSuggestion$1 {
    /**
     * The display name of a suggested item. If `fieldValue` or `predicateValue` are provided, the matching text is
     * highlighted with the HTML bold tag.
     */
    displayName?: string;
    /** The value of a suggested item. */
    value?: string;
}

/** The results from a JQL query. */
interface AutoCompleteSuggestions$1 {
    /** The list of suggested item. */
    results?: AutoCompleteSuggestion$1[];
}

/** The details of the available dashboard gadget. */
interface AvailableDashboardGadget$1 {
    /** The module key of the gadget type. */
    moduleKey?: string;
    /** The title of the gadget. */
    title: string;
    /** The URI of the gadget type. */
    uri?: string;
}

/** The list of available gadgets. */
interface AvailableDashboardGadgetsResponse$1 {
    /** The list of available gadgets. */
    gadgets: AvailableDashboardGadget$1[];
}

/** The Connect provided ecosystem rules available. */
interface AvailableWorkflowConnectRule {
    /** The add-on providing the rule. */
    addonKey?: string;
    /** The URL creation path segment defined in the Connect module. */
    createUrl?: string;
    /** The rule description. */
    description?: string;
    /** The URL edit path segment defined in the Connect module. */
    editUrl?: string;
    /** The module providing the rule. */
    moduleKey?: string;
    /** The rule name. */
    name?: string;
    /** The rule key. */
    ruleKey?: string;
    /** The rule type. */
    ruleType?: string;
    /** The URL view path segment defined in the Connect module. */
    viewUrl?: string;
}

/** The Forge provided ecosystem rules available. */
interface AvailableWorkflowForgeRule {
    /** The rule description. */
    description?: string;
    /** The unique ARI of the forge rule type. */
    id?: string;
    /** The rule name. */
    name?: string;
    /** The rule key. */
    ruleKey?: string;
    /** The rule type. */
    ruleType?: string;
}

/** The Atlassian provided system rules available. */
interface AvailableWorkflowSystemRule {
    /** The rule description. */
    description: string;
    /** List of rules that conflict with this one. */
    incompatibleRuleKeys: string[];
    /** Whether the rule can be added to an initial transition. */
    isAvailableForInitialTransition: boolean;
    /** Whether the rule is visible. */
    isVisible: boolean;
    /** The rule name. */
    name: string;
    /** The rule key. */
    ruleKey: string;
    /** The rule type. */
    ruleType: string;
}

/** The list of available trigger types. */
interface AvailableWorkflowTriggerTypes {
    /** The description of the trigger rule. */
    description?: string;
    /** The name of the trigger rule. */
    name?: string;
    /** The type identifier of trigger rule. */
    type?: string;
}

/** The trigger rules available. */
interface AvailableWorkflowTriggers {
    /** The list of available trigger types. */
    availableTypes: AvailableWorkflowTriggerTypes[];
    /** The rule key of the rule. */
    ruleKey: string;
}

/** Details of an avatar. */
interface Avatar$1 {
    /** The file name of the avatar icon. Returned for system avatars. */
    fileName?: string;
    /** The ID of the avatar. */
    id: string;
    /** Whether the avatar can be deleted. */
    isDeletable: boolean;
    /** Whether the avatar is used in Jira. For example, shown as a project's avatar. */
    isSelected: boolean;
    /** Whether the avatar is a system avatar. */
    isSystemAvatar: boolean;
    /**
     * The owner of the avatar. For a system avatar the owner is null (and nothing is returned). For non-system avatars
     * this is the appropriate identifier, such as the ID for a project or the account ID for a user.
     */
    owner?: string;
    /** The list of avatar icon URLs. */
    urls: AvatarUrls$3;
}

/** Details about system and custom avatars. */
interface Avatars$3 {
    /** Custom avatars list. */
    custom: Avatar$1[];
    /** System avatars list. */
    system: Avatar$1[];
}

interface AvatarWithDetails$1 {
    /** The content type of the avatar. Expected values include 'image/png', 'image/svg+xml', or any other valid MIME type. */
    contentType: 'image/png' | 'image/svg+xml' | string;
    /** The binary representation of the avatar image. */
    avatar: Uint8Array;
}

/** A change item. */
interface ChangeDetails$1 {
    /** The name of the field changed. */
    field?: string;
    /** The ID of the field changed. */
    fieldId?: string;
    /** The type of the field changed. */
    fieldtype?: string;
    /** The details of the original value. */
    from?: string;
    /** The details of the original value as a string. */
    fromString?: string;
    /** The details of the new value. */
    to?: string;
    /** The details of the new value as a string. */
    toString?: string;
}

/** Details of user or system associated with a issue history metadata item. */
interface HistoryMetadataParticipant$1 {
    /** The URL to an avatar for the user or system associated with a history record. */
    avatarUrl?: string;
    /** The display name of the user or system associated with a history record. */
    displayName?: string;
    /** The key of the display name of the user or system associated with a history record. */
    displayNameKey?: string;
    /** The ID of the user or system associated with a history record. */
    id?: string;
    /** The type of the user or system associated with a history record. */
    type?: string;
    /** The URL of the user or system associated with a history record. */
    url?: string;
}

/** Details of issue history metadata. */
interface HistoryMetadata$1 {
    /** The activity described in the history record. */
    activityDescription?: string;
    /** The key of the activity described in the history record. */
    activityDescriptionKey?: string;
    actor?: HistoryMetadataParticipant$1;
    cause?: HistoryMetadataParticipant$1;
    /** The description of the history record. */
    description?: string;
    /** The description key of the history record. */
    descriptionKey?: string;
    /** The description of the email address associated the history record. */
    emailDescription?: string;
    /** The description key of the email address associated the history record. */
    emailDescriptionKey?: string;
    /** Additional arbitrary information about the history record. */
    extraData?: unknown;
    generator?: HistoryMetadataParticipant$1;
    /** The type of the history record. */
    type?: string;
}

/** A log of changes made to issue fields. Changelogs related to workflow associations are currently being deprecated. */
interface Changelog$1 {
    author?: UserDetails$2;
    /** The date on which the change took place. */
    created?: string;
    historyMetadata?: HistoryMetadata$1;
    /** The ID of the changelog. */
    id?: string;
    /** The list of items changed. */
    items?: ChangeDetails$1[];
}

/** List of changelogs that belong to single issue */
interface IssueChangeLog$1 {
    /** List of changelogs that belongs to given issueId. */
    changeHistories?: Changelog$1[];
    /** The ID of the issue. */
    issueId?: string;
}

/** A page of changelogs which is designed to handle multiple issues */
interface BulkChangelog$1 {
    /** The list of issues changelogs. */
    issueChangeLogs?: IssueChangeLog$1[];
    /**
     * Continuation token to fetch the next page. If this result represents the last or the only page, this token will be
     * null.
     */
    nextPageToken?: string;
}

/** Request bean for bulk changelog retrieval */
interface BulkChangelogRequest$1 {
    /** List of field IDs to filter changelogs */
    fieldIds?: string[];
    /** List of issue IDs/keys to fetch changelogs for */
    issueIdsOrKeys: string[];
    /** The maximum number of items to return per page */
    maxResults?: number;
    /** The cursor for pagination */
    nextPageToken?: string;
}

/** Details for changing owners of shareable entities */
interface BulkChangeOwnerDetails$1 {
    /** Whether the name is fixed automatically if it's duplicated after changing owner. */
    autofixName: boolean;
    /** The account id of the new owner. */
    newOwner: string;
}

/** Details of the contextual configuration for a custom field. */
interface BulkContextualConfiguration$1 {
    /** The field configuration. */
    configuration?: unknown;
    /** The ID of the custom field. */
    customFieldId: string;
    /** The ID of the field context the configuration is associated with. */
    fieldContextId: string;
    /** The ID of the configuration. */
    id: string;
    /** The field value schema. */
    schema?: unknown;
}

/** Details of a custom field option to create. */
interface CustomFieldOptionCreate$1 {
    /** Whether the option is disabled. */
    disabled?: boolean;
    /** For cascading options, the ID of the custom field object containing the cascading option. */
    optionId?: string;
    /** The value of the custom field option. */
    value: string;
}

/** Details of the options to create for a custom field. */
interface BulkCustomFieldOptionCreateRequest$1 {
    /** Details of options to create. */
    options?: CustomFieldOptionCreate$1[];
}

/** Details of a custom field option for a context. */
interface CustomFieldOptionUpdate$1 {
    /** Whether the option is disabled. */
    disabled?: boolean;
    /** The ID of the custom field option. */
    id: string;
    /** The value of the custom field option. */
    value?: string;
}

/** Details of the options to update for a custom field. */
interface BulkCustomFieldOptionUpdateRequest$1 {
    /** Details of the options to update. */
    options?: CustomFieldOptionUpdate$1[];
}

/** Details of a request to bulk edit shareable entity. */
interface BulkEditShareableEntity$1 {
    /** Allowed action for bulk edit shareable entity */
    action: string;
    /** The mapping dashboard id to errors if any. */
    entityErrors?: unknown;
}

/** Describes the error that occurred when retrieving data for a particular issue. */
interface IssueError$1 {
    /** The error that occurred when fetching this issue. */
    errorMessage?: string;
    /** The ID of the issue. */
    id?: string;
}

/**
 * An entity property, for more information see [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
 */
interface EntityProperty$2 {
    /** The key of the property. Required on create and update. */
    key?: string;
    /** The value of the property. Required on create and update. */
    value?: any;
}

/** The group or role to which this item is visible. */
interface Visibility$1 {
    /** The ID of the group or the name of the role that visibility of this item is restricted to. */
    identifier?: string;
    /** Whether visibility of this item is restricted to a group or role. */
    type?: string;
    /**
     * The name of the group or role that visibility of this item is restricted to. Please note that the name of a group
     * is mutable, to reliably identify a group use `identifier`.
     */
    value?: string;
}

/** A comment. */
interface Comment$2 {
    author?: UserDetails$2;
    /** The comment text. */
    comment?: string;
    /** The date and time at which the comment was created. */
    created?: string;
    /** The ID of the comment. */
    id?: string;
    /**
     * Whether the comment was added from an email sent by a person who is not part of the issue. See [Allow external
     * emails to be added as comments on
     * issues](https://support.atlassian.com/jira-service-management-cloud/docs/allow-external-emails-to-be-added-as-comments-on-issues/)for
     * information on setting up this feature.
     */
    jsdAuthorCanSeeRequest?: boolean;
    /**
     * Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud
     * Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk
     * project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its
     * visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request
     * comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post)
     * operation.
     */
    jsdPublic?: boolean;
    /** A list of comment properties. Optional on create and update. */
    properties?: EntityProperty$2[];
    /** The rendered version of the comment. */
    renderedBody?: string;
    /** The URL of the comment. */
    self?: string;
    updateAuthor?: UserDetails$2;
    /** The date and time at which the comment was updated last. */
    updated?: string;
    visibility?: Visibility$1;
}

interface FixVersion$2 {
    self: string;
    id: string;
    description: string;
    name: string;
    archived: boolean;
    released: boolean;
    releaseDate?: string;
}

/**
 * This object is used as follows:*
 *
 * - In the [issueLink](#api-rest-api-2-issueLink-post) resource it defines and reports on the type of link between the
 *   issues. Find a list of issue link types with [Get issue link types](#api-rest-api-2-issueLinkType-get).
 * - In the [issueLinkType](#api-rest-api-2-issueLinkType-post) resource it defines and reports on issue link types.
 */
interface IssueLinkType$1 {
    /**
     * The ID of the issue link type and is used as follows:
     *
     * In the [issueLink](#api-rest-api-2-issueLink-post) resource it is the type of issue link. Required on create when
     * `name` isn't provided. Otherwise, read only. In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource
     * it is read only.
     */
    id?: string;
    /**
     * The description of the issue link type inward link and is used as follows:
     *
     * In the [issueLink](#api-rest-api-2-issueLink-post) resource it is read only. In the [
     * issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is required on create and optional on update.
     * Otherwise, read only.
     */
    inward?: string;
    /**
     * The name of the issue link type and is used as follows:
     *
     * In the [issueLink](#api-rest-api-2-issueLink-post) resource it is the type of issue link. Required on create when
     * `id` isn't provided. Otherwise, read only. In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it
     * is required on create and optional on update. Otherwise, read only.
     */
    name?: string;
    /**
     * The description of the issue link type outward link and is used as follows:
     *
     * In the [issueLink](#api-rest-api-2-issueLink-post) resource it is read only. In the [
     * issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is required on create and optional on update.
     * Otherwise, read only.
     */
    outward?: string;
    /** The URL of the issue link type. Read only. */
    self?: string;
}

/** The ID or key of a linked issue. */
interface LinkedIssue$1 {
    fields?: Fields$2;
    /** The ID of an issue. Required if `key` isn't provided. */
    id?: string;
    /** The key of an issue. Required if `id` isn't provided. */
    key?: string;
    /** The URL of the issue. */
    self?: string;
}

/** Details of a link between issues. */
interface IssueLink$1 {
    /** The ID of the issue link. */
    id?: string;
    inwardIssue?: LinkedIssue$1;
    outwardIssue?: LinkedIssue$1;
    /** The URL of the issue link. */
    self?: string;
    type?: IssueLinkType$1;
}

/** A project category. */
interface UpdatedProjectCategory$1 {
    /** The name of the project category. */
    description?: string;
    /** The ID of the project category. */
    id?: string;
    /** The description of the project category. */
    name?: string;
    /** The URL of the project category. */
    self?: string;
}

/** Details about a project. */
interface ProjectDetails$1 {
    avatarUrls?: AvatarUrls$3;
    /** The ID of the project. */
    id?: string;
    /** The key of the project. */
    key?: string;
    /** The name of the project. */
    name?: string;
    projectCategory?: UpdatedProjectCategory$1;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the
     * project.
     */
    projectTypeKey?: string;
    /** The URL of the project details. */
    self?: string;
    /** Whether or not the project is simplified. */
    simplified?: boolean;
}

/**
 * The projects the item is associated with. Indicated for items associated with [next-gen
 * projects](https://confluence.atlassian.com/x/loMyO).
 */
interface Scope$2 {
    project?: ProjectDetails$1;
    /** The type of scope. */
    type?: string;
}

/** Details about an issue type. */
interface IssueTypeDetails$1 {
    /** The ID of the issue type's avatar. */
    avatarId?: number;
    /** The description of the issue type. */
    description?: string;
    /** Unique ID for next-gen projects. */
    entityId?: string;
    /** Hierarchy level of the issue type. */
    hierarchyLevel?: number;
    /** The URL of the issue type's avatar. */
    iconUrl?: string;
    /** The ID of the issue type. */
    id?: string;
    /** The name of the issue type. */
    name?: string;
    scope?: Scope$2;
    /** The URL of these issue type details. */
    self?: string;
    /** Whether this issue type is used to create subtasks. */
    subtask?: boolean;
}

/** An issue priority. */
interface Priority$1 {
    /** The description of the issue priority. */
    description?: string;
    /** The URL of the icon for the issue priority. */
    iconUrl?: string;
    /** The ID of the issue priority. */
    id?: string;
    /** Whether this priority is the default. */
    isDefault?: boolean;
    /** The name of the issue priority. */
    name?: string;
    /** The URL of the issue priority. */
    self?: string;
    /** The color used to indicate the issue priority. */
    statusColor?: string;
}

/** Details about a project component. */
interface ProjectComponent$1 {
    /** Compass component's ID. Can't be updated. Not required for creating a Project Component. */
    ari?: string;
    assignee?: User$3;
    /**
     * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType`
     * for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the
     * following values:
     *
     * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the
     * component is in. `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for
     * the component. `UNASSIGNED` an assignee is not set for issues created with this component. `PROJECT_DEFAULT` the
     * assignee to any issues created with this component is nominally the default assignee for the project that the
     * component is in.
     *
     *     Default value: `PROJECT_DEFAULT`.
     *     Optional when creating or updating a component.
     */
    assigneeType?: string;
    /** The description for the component. Optional when creating or updating a component. */
    description?: string;
    /** The unique identifier for the component. */
    id?: string;
    /**
     * Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but
     * the component lead is not set, then `false` is returned.
     */
    isAssigneeTypeValid?: boolean;
    lead?: User$3;
    /**
     * The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian
     * products. For example, _5b10ac8d82e05b22cc7d4ef5_.
     */
    leadAccountId?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    leadUserName?: string;
    /** Compass component's metadata. Can't be updated. Not required for creating a Project Component. */
    metadata?: unknown;
    /**
     * The unique name for the component in the project. Required when creating a component. Optional when updating a
     * component. The maximum length is 255 characters.
     */
    name?: string;
    /** The key of the project the component is assigned to. Required when creating a component. Can't be updated. */
    project?: string;
    /** The ID of the project the component is assigned to. */
    projectId?: number;
    realAssignee?: User$3;
    /**
     * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set
     * from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This
     * property is set to one of the following values:
     *
     * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in
     * the project that the component is in. `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component
     * lead has permission to be assigned issues in the project that the component is in. `UNASSIGNED` when `assigneeType`
     * is `UNASSIGNED` and Jira is configured to allow unassigned issues. `PROJECT_DEFAULT` when none of the preceding
     * cases are true.
     */
    realAssigneeType?: string;
    /** The URL of the component. */
    self?: string;
}

/** Details of an issue resolution. */
interface Resolution$1 {
    /** The URL of the issue resolution. */
    self?: string;
    /** The ID of the issue resolution. */
    id?: string;
    /** The description of the issue resolution. */
    description?: string;
    /** The name of the issue resolution. */
    name?: string;
    iconUrl?: string;
    default?: boolean;
}

interface RichText$1 {
    empty?: boolean;
    emptyAdf?: boolean;
    finalised?: boolean;
    valueSet?: boolean;
}

/** A status category. */
interface StatusCategory$3 {
    /** The name of the color used to represent the status category. */
    colorName?: string;
    /** The ID of the status category. */
    id?: number;
    /** The key of the status category. */
    key?: string;
    /** The name of the status category. */
    name?: string;
    /** The URL of the status category. */
    self?: string;
}

/** A status. */
interface StatusDetails$2 {
    /** The description of the status. */
    description?: string;
    /** The URL of the icon used to represent the status. */
    iconUrl?: string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name?: string;
    /** The URL of the status. */
    self?: string;
    statusCategory?: StatusCategory$3;
}

/** Time tracking details. */
interface TimeTrackingDetails$1 {
    /** The original estimate of time needed for this issue in readable format. */
    originalEstimate?: string;
    /** The original estimate of time needed for this issue in seconds. */
    originalEstimateSeconds?: number;
    /** The remaining estimate of time needed for this issue in readable format. */
    remainingEstimate?: string;
    /** The remaining estimate of time needed for this issue in seconds. */
    remainingEstimateSeconds?: number;
    /** Time worked on this issue in readable format. */
    timeSpent?: string;
    /** Time worked on this issue in seconds. */
    timeSpentSeconds?: number;
}

/** The details of votes on an issue. */
interface Votes$1 {
    /** Whether the user making this request has voted on the issue. */
    hasVoted?: boolean;
    /** The URL of these issue vote details. */
    self?: string;
    /**
     * List of the users who have voted on this issue. An empty list is returned when the calling user doesn't have the
     * _View voters and watchers_ project permission.
     */
    voters?: User$3[];
    /** The number of votes on the issue. */
    votes?: number;
}

/** The details of watchers on an issue. */
interface Watchers$1 {
    /** Whether the calling user is watching this issue. */
    isWatching?: boolean;
    /** The URL of these issue watcher details. */
    self?: string;
    /** The number of users watching this issue. */
    watchCount?: number;
    /** Details of the users watching this issue. */
    watchers?: UserDetails$2[];
}

/** Details of a worklog. */
interface Worklog$1 {
    author?: UserDetails$2;
    /** A comment about the worklog. Optional when creating or updating a worklog. */
    comment?: string;
    /** The datetime on which the worklog was created. */
    created?: string;
    /** The ID of the worklog record. */
    id?: string;
    /** The ID of the issue this worklog is for. */
    issueId?: string;
    /** Details of properties for the worklog. Optional when creating or updating a worklog. */
    properties?: EntityProperty$2[];
    /** The URL of the worklog item. */
    self?: string;
    /**
     * The datetime on which the worklog effort was started. Required when creating a worklog. Optional when updating a
     * worklog.
     */
    started?: string;
    /**
     * The time spent working on the issue as days (#d), hours (#h), or minutes (#m or #). Required when creating a
     * worklog if `timeSpentSeconds` isn't provided. Optional when updating a worklog. Cannot be provided if
     * `timeSpentSecond` is provided.
     */
    timeSpent?: string;
    /**
     * The time in seconds spent working on the issue. Required when creating a worklog if `timeSpent` isn't provided.
     * Optional when updating a worklog. Cannot be provided if `timeSpent` is provided.
     */
    timeSpentSeconds?: number;
    updateAuthor?: UserDetails$2;
    /** The datetime on which the worklog was last updated. */
    updated?: string;
    visibility?: Visibility$1;
}

/** Key fields from the linked issue. */
interface Fields$2 extends Record<string, any> {
    /** The estimate of how much longer working on the issue will take, in seconds. */
    aggregatetimespent: number | null;
    /** The assignee of the linked issue. */
    assignee: UserDetails$2;
    /** The list of issue attachments. */
    attachment: Attachment$5[];
    /** The list of issue comment. */
    comment: {
        /** The list of issue comment. */
        comments: Comment$2[];
        self: string;
        maxResults: number;
        total: number;
        startAt: number;
    };
    /** The list of project components the issue belongs to. */
    components: ProjectComponent$1[];
    /** The creation time of the issue. */
    created: string;
    /** The user who created the issue */
    creator: User$3;
    /** The issue description. */
    description?: string;
    /** The time the issue is due. */
    duedate: string | null;
    /** The value of the environment field. */
    environment: RichText$1 | null;
    /** The list of versions where the issue was fixed. */
    fixVersions: FixVersion$2[];
    /** The list of issue links. */
    issuelinks: IssueLink$1[];
    issuerestriction?: {
        issuerestrictions: any;
        shouldDisplay: boolean;
    };
    /** The type of the linked issue. */
    issuetype: IssueTypeDetails$1;
    /** The list of labels associated with the issue. */
    labels: string[];
    lastViewed: string | null;
    /** The issue parent. */
    parent?: Issue$4;
    /** The priority of the linked issue. */
    priority: Priority$1;
    /** The reporter of the issue. */
    reporter: User$3;
    /** The resolution of the issue. */
    resolution: Resolution$1 | null;
    /** The time the issue was resolved at. */
    resolutiondate: string | null;
    /** The status of the linked issue. */
    status: StatusDetails$2;
    statuscategorychangedate?: string;
    /** The list of subtasks. */
    subtasks: Issue$4[];
    /** The summary description of the linked issue. */
    summary: string;
    timeoriginalestimate?: any;
    /** The time that was spent working on the issue, in seconds. */
    timespent: number | null;
    /** The time tracking of the linked issue. */
    timetracking: TimeTrackingDetails$1;
    /** The time when the issue was last updated at. */
    updated: string;
    /** The number of voters of the issue. Returns an error if voting is disabled. */
    votes: Votes$1 & {
        voters: never;
    };
    /** The number of watchers of the issue. Returns an error if watching is disabled. */
    watches: Watchers$1;
    worklog: {
        startAt: number;
        maxResults: number;
        total: number;
        worklogs: Worklog$1[];
    };
    workratio: number;
}

interface IncludedFields$1 {
    actuallyIncluded?: string[];
    excluded?: string[];
    included?: string[];
}

/** The schema of a field. */
interface JsonType$3 {
    /** If the field is a custom field, the configuration of the field. */
    configuration?: unknown;
    /** If the field is a custom field, the URI of the field. */
    custom?: string;
    /** If the field is a custom field, the custom ID of the field. */
    customId?: number;
    /** When the data type is an array, the name of the field items within the array. */
    items?: string;
    /** If the field is a system field, the name of the field. */
    system?: string;
    /** The data type of the field. */
    type: string;
}

/** The metadata describing an issue field. */
interface FieldMetadata {
    /** The list of values allowed in the field. */
    allowedValues?: any[];
    /** The URL that can be used to automatically complete the field. */
    autoCompleteUrl?: string;
    /** The configuration properties. */
    configuration?: any;
    /** The default value of the field. */
    defaultValue?: any;
    /** Whether the field has a default value. */
    hasDefaultValue?: boolean;
    /** The key of the field. */
    key: string;
    /** The name of the field. */
    name: string;
    /** The list of operations that can be performed on the field. */
    operations: string[];
    /** Whether the field is required. */
    required: boolean;
    schema?: JsonType$3;
}

/** The metadata describing a tab in an issue screen. */
interface TabMetadata {
    /** The name of the tab. */
    name: string;
    /** The fields within the tab */
    fields: FieldMetadata[];
}

/** Details of an issue transition. */
interface IssueTransition$3 {
    /** The ID of the issue transition. Required when specifying a transition to undertake. */
    id?: string;
    /** The name of the issue transition. */
    name?: string;
    to?: StatusDetails$2;
    /** Whether there is a screen associated with the issue transition. */
    hasScreen?: boolean;
    /** Whether the issue transition is global, that is, the transition is applied to issues regardless of their status. */
    isGlobal?: boolean;
    /** Whether this is the initial issue transition for the workflow. */
    isInitial?: boolean;
    /** Whether the transition is available to be performed. */
    isAvailable?: boolean;
    /** Whether the issue has to meet criteria before the issue transition is applied. */
    isConditional?: boolean;
    /**
     * Details of the fields associated with the issue transition screen. Use this information to populate `fields` and
     * `update` in a transition request.
     */
    fields?: unknown;
    /** Details of the tabs associated with the issue transition screen and the fields within these tabs. */
    tabs?: TabMetadata[];
    /** Expand options that include additional transition details in the response. */
    expand?: string;
    looped?: boolean;
}

/** A list of editable field details. */
interface IssueUpdateMetadata$1 {
    /** A list of editable field details. */
    fields?: Fields$2;
}

/** Details about the operations available in this version. */
interface SimpleLink$1 {
    href?: string;
    iconClass?: string;
    id?: string;
    label?: string;
    styleClass?: string;
    title?: string;
    weight?: number;
}

/** Details a link group, which defines issue operations. */
interface LinkGroup$2 {
    groups?: LinkGroup$2[];
    header?: SimpleLink$1;
    id?: string;
    links?: SimpleLink$1[];
    styleClass?: string;
    weight?: number;
}

/** Details of the operations that can be performed on the issue. */
interface Operations$3 {
    /** Details of the link groups defining issue operations. */
    linkGroups?: LinkGroup$2[];
}

/** A page of changelogs. */
interface PageOfChangelogs$1 {
    /** The list of changelogs. */
    histories?: Changelog$1[];
    /** The maximum number of results that could be on the page. */
    maxResults?: number;
    /** The index of the first item returned on the page. */
    startAt?: number;
    /** The number of results on the page. */
    total?: number;
}

/** Details about an issue. */
interface Issue$4 {
    /** Expand options that include additional issue details in the response. */
    expand?: string;
    /** The ID of the issue. */
    id: string;
    /** The URL of the issue details. */
    self?: string;
    /** The key of the issue. */
    key: string;
    /** The rendered value of each field present on the issue. */
    renderedFields?: Fields$2;
    /** Details of the issue properties identified in the request. */
    properties?: unknown;
    /** The ID and name of each field present on the issue. */
    names?: Record<string, string>;
    /** The schema describing each field present on the issue. */
    schema?: unknown;
    /** The transitions that can be performed on the issue. */
    transitions?: IssueTransition$3[];
    operations?: Operations$3;
    editmeta?: IssueUpdateMetadata$1;
    changelog?: PageOfChangelogs$1;
    /** The versions of each field on the issue. */
    versionedRepresentations?: unknown;
    fieldsToInclude?: IncludedFields$1;
    fields: Fields$2;
}

/** The list of requested issues & fields. */
interface BulkIssue$1 {
    /**
     * When Jira can't return an issue enumerated in a request due to a retriable error or payload constraint, we'll
     * return the respective issue ID with a corresponding error message. This list is empty when there are no errors
     * Issues which aren't found or that the user doesn't have permission to view won't be returned in this list.
     */
    issueErrors?: IssueError$1[];
    /** The list of issues. */
    issues?: Issue$4[];
}

/** A container for the watch status of a list of issues. */
interface BulkIssueIsWatching$1 {
    /** The map of issue ID to boolean watch status. */
    issuesIsWatching?: unknown;
}

/** Bulk operation filter details. */
interface IssueFilterForBulkPropertySet$1 {
    /** The value of properties to perform the bulk operation on. */
    currentValue?: any;
    /** List of issues to perform the bulk operation on. */
    entityIds?: number[];
    /** Whether the bulk operation occurs only when the property is present on or absent from an issue. */
    hasProperty?: boolean;
}

/** Bulk issue property update request details. */
interface BulkIssuePropertyUpdateRequest$1 {
    /**
     * EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an
     * object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables
     * available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON
     * representation is longer than 32768 characters are ignored.
     */
    expression?: string;
    filter?: IssueFilterForBulkPropertySet$1;
    /**
     * The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob.
     * The maximum length is 32768 characters.
     */
    value?: any;
}

/** Error messages from an operation. */
interface ErrorCollection$1 {
    /** The list of error messages produced by this operation. For example, "input parameter 'key' must be provided" */
    errorMessages?: string[];
    /**
     * The list of errors by parameter returned by the operation. For example,"projectKey": "Project keys must start with
     * an uppercase letter, followed by one or more uppercase alphanumeric characters."
     */
    errors?: unknown;
    status?: number;
}

interface BulkOperationErrorResult$1 {
    elementErrors?: ErrorCollection$1;
    failedElementNumber?: number;
    status?: number;
}

/** List of project permissions and the projects and issues those permissions grant access to. */
interface BulkProjectPermissionGrants$1 {
    /** IDs of the issues the user has the permission for. */
    issues: number[];
    /** A project permission, */
    permission: string;
    /** IDs of the projects the user has the permission for. */
    projects: number[];
}

/** Details of global and project permissions granted to the user. */
interface BulkPermissionGrants$1 {
    /** List of permissions granted to the user. */
    globalPermissions: string[];
    /** List of project permissions and the projects and issues those permissions provide access to. */
    projectPermissions: BulkProjectPermissionGrants$1[];
}

/** Details of project permissions and associated issues and projects to look up. */
interface BulkProjectPermissions$1 {
    /** List of issue IDs. */
    issues?: number[];
    /** List of project permissions. */
    permissions: string[];
    /** List of project IDs. */
    projects?: number[];
}

/** Details of global permissions to look up and project permissions with associated projects and issues to look up. */
interface BulkPermissionsRequest$1 {
    /** The account ID of a user. */
    accountId?: string;
    /** Global permissions to look up. */
    globalPermissions?: string[];
    /** Project permissions with associated projects and issues to look up. */
    projectPermissions?: BulkProjectPermissions$1[];
}

/** Details of a changed worklog. */
interface ChangedWorklog$1 {
    /** Details of properties associated with the change. */
    properties?: EntityProperty$2[];
    /** The datetime of the change. */
    updatedTime?: number;
    /** The ID of the worklog. */
    worklogId?: number;
}

/** List of changed worklogs. */
interface ChangedWorklogs$1 {
    lastPage?: boolean;
    /** The URL of the next list of changed worklogs. */
    nextPage?: string;
    /** The URL of this changed worklogs list. */
    self?: string;
    /** The datetime of the first worklog item in the list. */
    since?: number;
    /** The datetime of the last worklog item in the list. */
    until?: number;
    /** Changed worklog list. */
    values?: ChangedWorklog$1[];
}

/** Details of an issue navigator column item. */
interface ColumnItem$1 {
    /** The issue navigator column label. */
    label?: string;
    /** The issue navigator column value. */
    value?: string;
}

interface Component$1 {
    ari?: string;
    description?: string;
    id?: string;
    metadata?: unknown;
    name?: string;
    self?: string;
}

/** Count of issues assigned to a component. */
interface ComponentIssuesCount$1 {
    /** The count of issues assigned to a component. */
    issueCount?: number;
    /** The URL for this count of issues for a component. */
    self?: string;
}

/** Details about a component with a count of the issues it contains. */
interface ComponentWithIssueCount$1 {
    assignee?: User$3;
    /**
     * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType`
     * for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following
     * values:
     *
     * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the
     * component is in. `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for
     * the component. `UNASSIGNED` an assignee is not set for issues created with this component. `PROJECT_DEFAULT` the
     * assignee to any issues created with this component is nominally the default assignee for the project that the
     * component is in.
     */
    assigneeType?: string;
    /** The description for the component. */
    description?: string;
    /** The unique identifier for the component. */
    id?: string;
    /**
     * Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but
     * the component lead is not set, then `false` is returned.
     */
    isAssigneeTypeValid?: boolean;
    /** Count of issues for the component. */
    issueCount?: number;
    lead?: User$3;
    /** The name for the component. */
    name?: string;
    /** The key of the project to which the component is assigned. */
    project?: string;
    /** Not used. */
    projectId?: number;
    realAssignee?: User$3;
    /**
     * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set
     * from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This
     * property is set to one of the following values:
     *
     * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in
     * the project that the component is in. `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component
     * lead has permission to be assigned issues in the project that the component is in. `UNASSIGNED` when `assigneeType`
     * is `UNASSIGNED` and Jira is configured to allow unassigned issues. `PROJECT_DEFAULT` when none of the preceding
     * cases are true.
     */
    realAssigneeType?: string;
    /** The URL for this count of the issues contained in the component. */
    self?: string;
}

/** The configuration of the rule. */
interface WorkflowRuleConfiguration$1 {
    /** The ID of the rule. */
    id?: string;
    /** The parameters related to the rule. */
    parameters?: unknown;
    /** The rule key of the rule. */
    ruleKey: string;
}

/** The conditions group associated with the transition. */
interface ConditionGroupConfiguration$1 {
    /** The nested conditions of the condition group. */
    conditionGroups?: ConditionGroupConfiguration$1[];
    /** The rules for this condition. */
    conditions?: WorkflowRuleConfiguration$1[];
    /**
     * Determines how the conditions in the group are evaluated. Accepts either `ANY` or `ALL`. If `ANY` is used, at least
     * one condition in the group must be true for the group to evaluate to true. If `ALL` is used, all conditions in the
     * group must be true for the group to evaluate to true.
     */
    operation?: string;
}

/** The conditions group associated with the transition. */
interface ConditionGroupUpdate {
    /** The nested conditions of the condition group. */
    conditionGroups?: ConditionGroupUpdate[];
    /** The rules for this condition. */
    conditions?: WorkflowRuleConfiguration$1[];
    /**
     * Determines how the conditions in the group are evaluated. Accepts either `ANY` or `ALL`. If `ANY` is used, at least
     * one condition in the group must be true for the group to evaluate to true. If `ALL` is used, all conditions in the
     * group must be true for the group to evaluate to true.
     */
    operation: string;
}

/** Details of the time tracking configuration. */
interface TimeTrackingConfiguration$1 {
    /** The default unit of time applied to logged time. */
    defaultUnit: string;
    /** The format that will appear on an issue's _Time Spent_ field. */
    timeFormat: string;
    /** The number of days in a working week. */
    workingDaysPerWeek: number;
    /** The number of hours in a working day. */
    workingHoursPerDay: number;
}

/** Details about the configuration of Jira. */
interface Configuration$1 {
    /** Whether the ability to add attachments to issues is enabled. */
    attachmentsEnabled?: boolean;
    /** Whether the ability to link issues is enabled. */
    issueLinkingEnabled?: boolean;
    /** Whether the ability to create subtasks for issues is enabled. */
    subTasksEnabled?: boolean;
    timeTrackingConfiguration?: TimeTrackingConfiguration$1;
    /**
     * Whether the ability to create unassigned issues is enabled. See [Configuring Jira application
     * options](https://confluence.atlassian.com/x/uYXKM) for details.
     */
    unassignedIssuesAllowed?: boolean;
    /**
     * Whether the ability for users to vote on issues is enabled. See [Configuring Jira application
     * options](https://confluence.atlassian.com/x/uYXKM) for details.
     */
    votingEnabled?: boolean;
    /**
     * Whether the ability for users to watch issues is enabled. See [Configuring Jira application
     * options](https://confluence.atlassian.com/x/uYXKM) for details.
     */
    watchingEnabled?: boolean;
}

/** List of custom fields identifiers which will be used to filter configurations */
interface ConfigurationsListParameters$1 {
    /** List of IDs or keys of the custom fields. It can be a mix of IDs and keys in the same query. */
    fieldIdsOrKeys: string[];
}

/** A list of custom field details. */
interface ConnectCustomFieldValue$1 {
    /** The type of custom field. */
    Type: string;
    /** The custom field ID. */
    fieldID: number;
    /** The issue ID. */
    issueID: number;
    /** The value of number type custom field when `_type` is `NumberIssueField`. */
    number?: number;
    /**
     * The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or
     * `MultiSelectIssueField`.
     */
    optionID?: string;
    /** The value of richText type custom field when `_type` is `RichTextIssueField`. */
    richText?: string;
    /** The value of string type custom field when `_type` is `StringIssueField`. */
    string?: string;
    /** The value of text custom field type when `_type` is `TextIssueField`. */
    text?: string;
}

/** Details of updates for a custom field. */
interface ConnectCustomFieldValues$1 {
    /** The list of custom field update details. */
    updateValueList?: ConnectCustomFieldValue$1[];
}

/**
 * A [Connect module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/) in the same format as in
 * the* [app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).
 */
interface ConnectModule$1 {
}

interface ConnectModules$1 {
    /**
     * A list of app modules in the same format as the `modules` property in the [app
     * descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).
     */
    modules: ConnectModule$1[];
}

/** A rule configuration. */
interface RuleConfiguration$1 {
    /** EXPERIMENTAL: Whether the rule is disabled. */
    disabled?: boolean;
    /**
     * EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule
     * configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-workflow-transition-rules/#api-rest-api-2-workflow-rule-config-get).
     */
    tag?: string;
    /** Configuration of the rule, as it is stored by the Connect or the Forge app on the rule configuration page. */
    value: string;
}

/** A workflow transition. */
interface WorkflowTransition$1 {
    /** The transition ID. */
    id: number;
    /** The transition name. */
    name: string;
}

/** A workflow transition rule. */
interface ConnectWorkflowTransitionRule$1 {
    configuration: RuleConfiguration$1;
    /** The ID of the transition rule. */
    id: string;
    /** The key of the rule, as defined in the Connect app descriptor. */
    key: string;
    transition?: WorkflowTransition$1;
}

/** Details of a project feature. */
interface ProjectFeature$1 {
    /** The key of the feature. */
    feature?: string;
    /** URI for the image representing the feature. */
    imageUri?: string;
    /** Localized display description for the feature. */
    localisedDescription?: string;
    /** Localized display name for the feature. */
    localisedName?: string;
    /** List of keys of the features required to enable the feature. */
    prerequisites?: string[];
    /** The ID of the project. */
    projectId?: number;
    /**
     * The state of the feature. When updating the state of a feature, only ENABLED and DISABLED are supported. Responses
     * can contain all values
     */
    state?: string;
    /** Whether the state of the feature can be updated. */
    toggleLocked?: boolean;
}

/** The list of features on a project. */
interface ContainerForProjectFeatures$1 {
    /** The project features. */
    features?: ProjectFeature$1[];
}

/** ID of a registered webhook or error messages explaining why a webhook wasn't registered. */
interface RegisteredWebhook$1 {
    /** The ID of the webhook. Returned if the webhook is created. */
    createdWebhookId?: number;
    /** Error messages specifying why the webhook creation failed. */
    errors?: string[];
}

/** Container for a list of registered webhooks. Webhook details are returned in the same order as the request. */
interface ContainerForRegisteredWebhooks$1 {
    /** A list of registered webhooks. */
    webhookRegistrationResult?: RegisteredWebhook$1[];
}

/** Container for a list of webhook IDs. */
interface ContainerForWebhookIDs$1 {
    /** A list of webhook IDs. */
    webhookIds: number[];
}

/** Details about a workflow scheme. */
interface WorkflowScheme$1 {
    /**
     * The name of the default workflow for the workflow scheme. The default workflow has _All Unassigned Issue Types_
     * assigned to it in Jira. If `defaultWorkflow` is not specified when creating a workflow scheme, it is set to _Jira
     * Workflow (jira)_.
     */
    defaultWorkflow?: string;
    /** The description of the workflow scheme. */
    description?: string;
    /** Whether the workflow scheme is a draft or not. */
    draft?: boolean;
    /** The ID of the workflow scheme. */
    id?: number;
    /**
     * The issue type to workflow mappings, where each mapping is an issue type ID and workflow name pair. Note that an
     * issue type can only be mapped to one workflow in a workflow scheme.
     */
    issueTypeMappings?: unknown;
    /** The issue types available in Jira. */
    issueTypes?: unknown;
    /**
     * The date-time that the draft workflow scheme was last modified. A modification is a change to the issue
     * type-project mappings only. This property does not apply to non-draft workflows.
     */
    lastModified?: string;
    lastModifiedUser?: User$3;
    /**
     * The name of the workflow scheme. The name must be unique. The maximum length is 255 characters. Required when
     * creating a workflow scheme.
     */
    name?: string;
    /**
     * For draft workflow schemes, this property is the name of the default workflow for the original workflow scheme. The
     * default workflow has _All Unassigned Issue Types_ assigned to it in Jira.
     */
    originalDefaultWorkflow?: string;
    /**
     * For draft workflow schemes, this property is the issue type to workflow mappings for the original workflow scheme,
     * where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one
     * workflow in a workflow scheme.
     */
    originalIssueTypeMappings?: unknown;
    self?: string;
    /**
     * Whether to create or update a draft workflow scheme when updating an active workflow scheme. An active workflow
     * scheme is a workflow scheme that is used by at least one project. The following examples show how this property
     * works:
     *
     * Update an active workflow scheme with `updateDraftIfNeeded` set to `true`: If a draft workflow scheme exists, it is
     * updated. Otherwise, a draft workflow scheme is created. Update an active workflow scheme with `updateDraftIfNeeded`
     * set to `false`: An error is returned, as active workflow schemes cannot be updated. Update an inactive workflow
     * scheme with `updateDraftIfNeeded` set to `true`: The workflow scheme is updated, as inactive workflow schemes do
     * not require drafts to update.
     *
     *     Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

/** A workflow scheme along with a list of projects that use it. */
interface WorkflowSchemeAssociations$1 {
    /** The list of projects that use the workflow scheme. */
    projectIds: string[];
    workflowScheme?: WorkflowScheme$1;
}

/** A container for a list of workflow schemes together with the projects they are associated with. */
interface ContainerOfWorkflowSchemeAssociations$1 {
    /** A list of workflow schemes together with projects they are associated with. */
    values: WorkflowSchemeAssociations$1[];
}

/** The project and issue type mapping with a matching custom field context. */
interface ContextForProjectAndIssueType$1 {
    /** The ID of the custom field context. */
    contextId: string;
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The ID of the project. */
    projectId: string;
}

/** Details of the contextual configuration for a custom field. */
interface ContextualConfiguration$1 {
    /** The ID of the configuration. */
    id: string;
    /** The ID of the field context the configuration is associated with. */
    fieldContextId: string;
    /** The field configuration. */
    configuration?: unknown;
    /** The field value schema. */
    schema?: unknown;
}

/** JQL queries that contained users that could not be found */
interface JQLQueryWithUnknownUsers$1 {
    /** The converted query, with accountIDs instead of user identifiers, or 'unknown' for users that could not be found */
    convertedQuery?: string;
    /** The original query, for reference */
    originalQuery?: string;
}

/** The converted JQL queries. */
interface ConvertedJQLQueries$1 {
    /** List of queries containing user information that could not be mapped to an existing user */
    queriesWithUnknownUsers?: JQLQueryWithUnknownUsers$1[];
    /** The list of converted query strings with account IDs in place of user identifiers. */
    queryStrings?: string[];
}

interface CreateCrossProjectReleaseRequest$1 {
    /** The cross-project release name. */
    name: string;
    /** The IDs of the releases to include in the cross-project release. */
    releaseIds?: number[];
}

/** The details of a created custom field context. */
interface CreateCustomFieldContext$3 {
    /** The description of the context. */
    description?: string;
    /** The ID of the context. */
    id?: string;
    /** The list of issue types IDs for the context. If the list is empty, the context refers to all issue types. */
    issueTypeIds?: string[];
    /** The name of the context. */
    name: string;
    /** The list of project IDs associated with the context. If the list is empty, the context is global. */
    projectIds?: string[];
}

interface CreateCustomFieldRequest$1 {
    /** The custom field ID. */
    customFieldId: number;
    /** Allows filtering issues based on their values for the custom field. */
    filter?: boolean;
}

interface CreateDateFieldRequest$1 {
    /** A date custom field ID. This is required if the type is "DateCustomField". */
    dateCustomFieldId?: number;
    /** The date field type. This must be "DueDate", "TargetStartDate", "TargetEndDate" or "DateCustomField". */
    type: 'DueDate' | 'TargetStartDate' | 'TargetEndDate' | 'DateCustomField' | string;
}

interface WarningCollection {
    warnings?: string[];
}

interface NestedResponse$1 {
    errorCollection?: ErrorCollection$1;
    status?: number;
    warningCollection?: WarningCollection;
}

/** Details about a created issue or subtask. */
interface CreatedIssue$1 {
    /** The ID of the created issue or subtask. */
    id: string;
    /** The key of the created issue or subtask. */
    key: string;
    /** The URL of the created issue or subtask. */
    self: string;
    transition?: NestedResponse$1;
    watchers?: NestedResponse$1;
}

/** Details about the issues created and the errors for requests that failed. */
interface CreatedIssues$1 {
    /** Error details for failed issue creation requests. */
    errors?: BulkOperationErrorResult$1[];
    /** Details of the issues created. */
    issues?: CreatedIssue$1[];
}

interface CreateExclusionRulesRequest$1 {
    /** The IDs of the issues to exclude from the plan. */
    issueIds?: number[];
    /** The IDs of the issue types to exclude from the plan. */
    issueTypeIds?: number[];
    /** Issues completed this number of days ago will be excluded from the plan. */
    numberOfDaysToShowCompletedIssues?: number;
    /** The IDs of the releases to exclude from the plan. */
    releaseIds?: number[];
    /** The IDs of the work status categories to exclude from the plan. */
    workStatusCategoryIds?: number[];
    /** The IDs of the work statuses to exclude from the plan. */
    workStatusIds?: number[];
}

/** Issue security scheme and it's details */
interface CreateIssueSecuritySchemeDetails$1 {
    /** The description of the issue security scheme. */
    description?: string;
    /** The list of scheme levels which should be added to the security scheme. */
    levels?: SecuritySchemeLevel$1[];
    /** The name of the issue security scheme. Must be unique (case-insensitive). */
    name: string;
}

interface CreateIssueSourceRequest$1 {
    /** The issue source type. This must be "Board", "Project" or "Filter". */
    type: 'Board' | 'Project' | 'Filter' | string;
    /**
     * The issue source value. This must be a board ID if the type is "Board", a project ID if the type is "Project" or a
     * filter ID if the type is "Filter".
     */
    value: number;
}

/** Details of a notification scheme. */
interface CreateNotificationSchemeDetails$1 {
    /** The description of the notification scheme. */
    description?: string;
    /** The name of the notification scheme. Must be unique (case-insensitive). */
    name: string;
    /** The list of notifications which should be added to the notification scheme. */
    notificationSchemeEvents?: NotificationSchemeEventDetails$1[];
}

interface CreatePermissionHolderRequest$1 {
    /** The permission holder type. This must be "Group" or "AccountId". */
    type: 'Group' | 'AccountId' | string;
    /**
     * The permission holder value. This must be a group name if the type is "Group" or an account ID if the type is
     * "AccountId".
     */
    value: string;
}

interface CreatePermissionRequest$1 {
    holder?: CreatePermissionHolderRequest$1;
    /** The permission type. This must be "View" or "Edit". */
    type: 'View' | 'Edit' | string;
}

interface CreatePlanOnlyTeamRequest {
    /** The capacity for the plan-only team. */
    capacity?: number;
    /** The ID of the issue source for the plan-only team. */
    issueSourceId?: number;
    /** The account IDs of the plan-only team members. */
    memberAccountIds?: string[];
    /** The plan-only team name. */
    name: string;
    /** The planning style for the plan-only team. This must be "Scrum" or "Kanban". */
    planningStyle: 'Scrum' | 'Kanban' | string;
    /** The sprint length for the plan-only team. */
    sprintLength?: number;
}

interface CreateSchedulingRequest$1 {
    /** The dependencies for the plan. This must be "Sequential" or "Concurrent". */
    dependencies?: 'Sequential' | 'Concurrent' | string;
    endDate?: CreateDateFieldRequest$1;
    /** The estimation unit for the plan. This must be "StoryPoints", "Days" or "Hours". */
    estimation: 'StoryPoints' | 'Days' | 'Hours' | string;
    /** The inferred dates for the plan. This must be "None", "SprintDates" or "ReleaseDates". */
    inferredDates?: 'None' | 'SprintDates' | 'ReleaseDates' | string;
    startDate?: CreateDateFieldRequest$1;
}

interface CreatePlanRequest {
    /** The cross-project releases to include in the plan. */
    crossProjectReleases?: CreateCrossProjectReleaseRequest$1[];
    /** The custom fields for the plan. */
    customFields?: CreateCustomFieldRequest$1[];
    exclusionRules?: CreateExclusionRulesRequest$1;
    /** The issue sources to include in the plan. */
    issueSources: CreateIssueSourceRequest$1[];
    /** The account ID of the plan lead. */
    leadAccountId?: string;
    /** The plan name. */
    name: string;
    /** The permissions for the plan. */
    permissions?: CreatePermissionRequest$1[];
    scheduling?: CreateSchedulingRequest$1;
}

/** Details of an issue priority. */
interface CreatePriorityDetails$1 {
    /**
     * The ID for the avatar for the priority. Either the iconUrl or avatarId must be defined, but not both. This
     * parameter is nullable and will become mandatory once the iconUrl parameter is deprecated.
     */
    avatarId?: number;
    /** The description of the priority. */
    description?: string;
    /**
     * The URL of an icon for the priority. Accepted protocols are HTTP and HTTPS. Built in icons can also be used. Either
     * the iconUrl or avatarId must be defined, but not both.
     *
     * @deprecated This property is deprecated and will be removed in a future version. Use `avatarId` instead.
     */
    iconUrl?: '/images/icons/priorities/blocker.png' | '/images/icons/priorities/critical.png' | '/images/icons/priorities/high.png' | '/images/icons/priorities/highest.png' | '/images/icons/priorities/low.png' | '/images/icons/priorities/lowest.png' | '/images/icons/priorities/major.png' | '/images/icons/priorities/medium.png' | '/images/icons/priorities/minor.png' | '/images/icons/priorities/trivial.png' | '/images/icons/priorities/blocker_new.png' | '/images/icons/priorities/critical_new.png' | '/images/icons/priorities/high_new.png' | '/images/icons/priorities/highest_new.png' | '/images/icons/priorities/low_new.png' | '/images/icons/priorities/lowest_new.png' | '/images/icons/priorities/major_new.png' | '/images/icons/priorities/medium_new.png' | '/images/icons/priorities/minor_new.png' | '/images/icons/priorities/trivial_new.png' | string;
    /** The name of the priority. Must be unique. */
    name: string;
    /** The status color of the priority in 3-digit or 6-digit hexadecimal format. */
    statusColor: string;
}

/** Mapping of issue priorities for changes in priority schemes. */
interface PriorityMapping$1 {
    /**
     * The mapping of priorities for issues being migrated **into** this priority scheme. Key is the old priority ID,
     * value is the new priority ID (must exist in this priority scheme).
     *
     *     E.g. The current priority scheme has priority ID `10001`. Issues with priority ID `10000` are being migrated into this priority scheme will need mapping to new priorities. The `in` mapping would be `{"10000": 10001}`.
     */
    in?: unknown;
    /**
     * The mapping of priorities for issues being migrated **out of** this priority scheme. Key is the old priority ID
     * (must exist in this priority scheme), value is the new priority ID (must exist in the default priority scheme).
     * Required for updating an existing priority scheme. Not used when creating a new priority scheme.
     *
     *     E.g. The current priority scheme has priority ID `10001`. Issues with priority ID `10001` are being migrated out of this priority scheme will need mapping to new priorities. The `out` mapping would be `{"10001": 10000}`.
     */
    out?: unknown;
}

/** Details of a new priority scheme */
interface CreatePrioritySchemeDetails {
    /** The ID of the default priority for the priority scheme. */
    defaultPriorityId: number;
    /** The description of the priority scheme. */
    description?: string;
    mappings?: PriorityMapping$1;
    /** The name of the priority scheme. Must be unique. */
    name: string;
    /** The IDs of priorities in the scheme. */
    priorityIds: number[];
    /** The IDs of projects that will use the priority scheme. */
    projectIds?: number[];
}

/** Details about the project. */
interface CreateProjectDetails$1 {
    /**
     * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric
     * characters. The maximum length is 10 characters.
     */
    key: string;
    /** The name of the project. */
    name: string;
    /** A brief description of the project. */
    description?: string;
    /**
     * The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be
     * provided with `lead`.
     */
    leadAccountId: string;
    /** A link to information about this project, such as project documentation */
    url?: string;
    /** The default assignee when creating issues for this project. */
    assigneeType?: string;
    /** An integer value for the project's avatar. */
    avatarId?: number;
    /**
     * The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues.
     * Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security
     * scheme IDs.
     */
    issueSecurityScheme?: number;
    /**
     * The ID of the permission scheme for the project. Use the [Get all permission
     * schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs.
     */
    permissionScheme?: number;
    /**
     * The ID of the notification scheme for the project. Use the [Get notification
     * schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs.
     */
    notificationScheme?: number;
    /**
     * The ID of the project's category. A complete list of category IDs is found using the [Get all project
     * categories](#api-rest-api-2-projectCategory-get) operation.
     */
    categoryId?: number;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which
     * defines the application-specific feature set. If you don't specify the project template you have to specify the
     * project type.
     */
    projectTypeKey: 'business' | 'service_desk' | 'software' | string;
    /**
     * A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the
     * `projectTypeKey`.
     */
    projectTemplateKey?: 'com.atlassian.jira-core-project-templates:jira-core-simplified-content-management' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-process-control' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-procurement' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-project-management' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking' | 'com.atlassian.servicedesk:simplified-it-service-management' | 'com.atlassian.servicedesk:simplified-general-service-desk' | 'com.atlassian.servicedesk:simplified-internal-service-desk' | 'com.atlassian.servicedesk:simplified-external-service-desk' | 'com.atlassian.servicedesk:simplified-hr-service-desk' | 'com.atlassian.servicedesk:simplified-facilities-service-desk' | 'com.atlassian.servicedesk:simplified-legal-service-desk' | 'com.pyxis.greenhopper.jira:gh-simplified-agility-kanban' | 'com.pyxis.greenhopper.jira:gh-simplified-agility-scrum' | 'com.pyxis.greenhopper.jira:gh-simplified-basic' | 'com.pyxis.greenhopper.jira:gh-simplified-kanban-classic' | 'com.pyxis.greenhopper.jira:gh-simplified-scrum-classic' | string;
    /**
     * The ID of the workflow scheme for the project. Use the [Get all workflow
     * schemes](#api-rest-api-2-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the
     * workflow scheme you cannot specify the project template key.
     */
    workflowScheme?: number;
    /**
     * The ID of the issue type screen scheme for the project. Use the [Get all issue type screen
     * schemes](#api-rest-api-2-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you
     * specify the issue type screen scheme you cannot specify the project template key.
     */
    issueTypeScreenScheme?: number;
    /**
     * The ID of the issue type scheme for the project. Use the [Get all issue type
     * schemes](#api-rest-api-2-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the
     * issue type scheme you cannot specify the project template key.
     */
    issueTypeScheme?: number;
    /**
     * The ID of the field configuration scheme for the project. Use the [Get all field configuration
     * schemes](#api-rest-api-2-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs.
     * If you specify the field configuration scheme you cannot specify the project template key.
     */
    fieldConfigurationScheme?: number;
}

/** Details of an issue resolution. */
interface CreateResolutionDetails$1 {
    /** The description of the resolution. */
    description?: string;
    /** The name of the resolution. Must be unique (case-insensitive). */
    name: string;
}

/** The details of a UI modification's context, which define where to activate the UI modification. */
interface UiModificationContextDetails$1 {
    /** The ID of the UI modification context. */
    id?: string;
    /** Whether a context is available. For example, when a project is deleted the context becomes unavailable. */
    isAvailable?: boolean;
    /** The issue type ID of the context. */
    issueTypeId: string;
    /** The project ID of the context. */
    projectId: string;
    /** The view type of the context. Only `GIC` (Global Issue Create) is supported. */
    viewType: string;
}

/** The details of a UI modification. */
interface CreateUiModificationDetails$1 {
    /** List of contexts of the UI modification. The maximum number of contexts is 1000. */
    contexts?: UiModificationContextDetails$1[];
    /** The data of the UI modification. The maximum size of the data is 50000 characters. */
    data?: string;
    /** The description of the UI modification. The maximum length is 255 characters. */
    description?: string;
    /** The name of the UI modification. The maximum length is 255 characters. */
    name: string;
}

interface CreateUpdateRoleRequest$1 {
    /**
     * A description of the project role. Required when fully updating a project role. Optional when creating or partially
     * updating a project role.
     */
    description?: string;
    /**
     * The name of the project role. Must be unique. Cannot begin or end with whitespace. The maximum length is 255
     * characters. Required when creating a project role. Optional when partially updating a project role.
     */
    name?: string;
}

/** A workflow transition condition. */
interface CreateWorkflowCondition$1 {
    /** The list of workflow conditions. */
    conditions?: CreateWorkflowCondition$1[];
    /** EXPERIMENTAL. The configuration of the transition rule. */
    configuration?: unknown;
    /** The compound condition operator. */
    operator?: string;
    /** The type of the transition rule. */
    type?: string;
}

/** The details of a transition status. */
interface CreateWorkflowStatusDetails$1 {
    /** The ID of the status. */
    id: string;
    /** The properties of the status. */
    properties?: unknown;
}

/** A workflow transition rule. */
interface CreateWorkflowTransitionRule$1 {
    /** EXPERIMENTAL. The configuration of the transition rule. */
    configuration?: unknown;
    /** The type of the transition rule. */
    type: string;
}

/** The details of a workflow transition rules. */
interface CreateWorkflowTransitionRulesDetails$1 {
    conditions?: CreateWorkflowCondition$1;
    /**
     * The workflow post functions.
     *
     * _Note:_* The default post functions are always added to the _initial_ transition, as in:
     *
     *         "postFunctions": [
     *         {
     *             "type": "IssueCreateFunction"
     *         },
     *         {
     *             "type": "IssueReindexFunction"
     *         },
     *         {
     *             "type": "FireIssueEventFunction",
     *             "configuration": {
     *                 "event": {
     *                     "id": "1",
     *                     "name": "issue_created"
     *                 }
     *             }
     *         }
     *     ]
     *
     * _Note:_* The default post functions are always added to the _global_ and _directed_ transitions, as in:
     *
     *         "postFunctions": [
     *         {
     *             "type": "UpdateIssueStatusFunction"
     *         },
     *         {
     *             "type": "CreateCommentFunction"
     *         },
     *         {
     *             "type": "GenerateChangeHistoryFunction"
     *         },
     *         {
     *             "type": "IssueReindexFunction"
     *         },
     *         {
     *             "type": "FireIssueEventFunction",
     *             "configuration": {
     *                 "event": {
     *                     "id": "13",
     *                     "name": "issue_generic"
     *                 }
     *             }
     *         }
     *     ]
     */
    postFunctions?: CreateWorkflowTransitionRule$1[];
    /**
     * The workflow validators.
     *
     * _Note:_* The default permission validator is always added to the _initial_ transition, as in:
     *
     *         "validators": [
     *         {
     *             "type": "PermissionValidator",
     *             "configuration": {
     *                 "permissionKey": "CREATE_ISSUES"
     *             }
     *         }
     *     ]
     */
    validators?: CreateWorkflowTransitionRule$1[];
}

/** The details of a transition screen. */
interface CreateWorkflowTransitionScreenDetails$1 {
    /** The ID of the screen. */
    id: string;
}

/** The details of a workflow transition. */
interface CreateWorkflowTransitionDetails$1 {
    /** The description of the transition. The maximum length is 1000 characters. */
    description?: string;
    /** The statuses the transition can start from. */
    from?: string[];
    /** The name of the transition. The maximum length is 60 characters. */
    name: string;
    /** The properties of the transition. */
    properties?: unknown;
    rules?: CreateWorkflowTransitionRulesDetails$1;
    screen?: CreateWorkflowTransitionScreenDetails$1;
    /** The status the transition goes to. */
    to: string;
    /** The type of the transition. */
    type: string;
}

/** The details of a workflow. */
interface CreateWorkflowDetails$1 {
    /** The description of the workflow. The maximum length is 1000 characters. */
    description?: string;
    /**
     * The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be
     * separated by a whitespace but the name cannot start or end with a whitespace.
     */
    name: string;
    /**
     * The statuses of the workflow. Any status that does not include a transition is added to the workflow without a
     * transition.
     */
    statuses: CreateWorkflowStatusDetails$1[];
    /**
     * The transitions of the workflow. For the request to be valid, these transitions must:
     *
     * Include one _initial_ transition. not use the same name for a _global_ and _directed_ transition. have a unique
     * name for each _global_ transition. have a unique 'to' status for each _global_ transition. have unique names for
     * each transition from a status. not have a 'from' status on _initial_ and _global_ transitions. have a 'from' status
     * on _directed_ transitions.
     *
     *     All the transition statuses must be included in `statuses`.
     */
    transitions: CreateWorkflowTransitionDetails$1[];
}

interface CustomContextVariable$1 {
    /** Type of custom context variable. */
    type: string;
}

/** Details of configurations for a custom field. */
interface CustomFieldConfigurations$1 {
    /** The list of custom field configuration details. */
    configurations: ContextualConfiguration$1[];
}

/** The details of a custom field context. */
interface CustomFieldContext$1 {
    /** The description of the context. */
    description: string;
    /** The ID of the context. */
    id: string;
    /** Whether the context apply to all issue types. */
    isAnyIssueType: boolean;
    /** Whether the context is global. */
    isGlobalContext: boolean;
    /** The name of the context. */
    name: string;
}

interface CustomFieldContextDefaultValue$1 {
}

/** Default values to update. */
interface CustomFieldContextDefaultValueUpdate$1 {
    defaultValues?: CustomFieldContextDefaultValue$1[];
}

/** Details of the custom field options for a context. */
interface CustomFieldContextOption$1 {
    /** Whether the option is disabled. */
    disabled: boolean;
    /** The ID of the custom field option. */
    id: string;
    /** For cascading options, the ID of the custom field option containing the cascading option. */
    optionId?: string;
    /** The value of the custom field option. */
    value: string;
}

/** Details of a context to project association. */
interface CustomFieldContextProjectMapping$1 {
    /** The ID of the context. */
    contextId: string;
    /** Whether context is global. */
    isGlobalContext?: boolean;
    /** The ID of the project. */
    projectId?: string;
}

/** Details of a custom field context. */
interface CustomFieldContextUpdateDetails$1 {
    /** The description of the custom field context. The maximum length is 255 characters. */
    description?: string;
    /** The name of the custom field context. The name must be unique. The maximum length is 255 characters. */
    name?: string;
}

/** A list of custom field options for a context. */
interface CustomFieldCreatedContextOptionsList$1 {
    /** The created custom field options. */
    options?: CustomFieldContextOption$1[];
}

interface CustomFieldDefinitionJson$1 {
    /** The name of the custom field, which is displayed in Jira. This is not the unique identifier. */
    name: string;
    /** The description of the custom field, which is displayed in Jira. */
    description?: string;
    /**
     * The type of the custom field. These built-in custom field types are available:
     *
     * `cascadingselect`: Enables values to be selected from two levels of select lists (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`) `datepicker`: Stores a date using a picker
     * control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`) `datetime`: Stores a date with a
     * time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`) `float`: Stores and validates
     * a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`) `grouppicker`:
     * Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`)
     * `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:importid`) `labels`: Stores labels (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:labels`) `multicheckboxes`: Stores multiple values using
     * checkboxes (value: `) `multigrouppicker`: Stores multiple user groups using a picker control (value: `)
     * `multiselect`: Stores multiple values using a select list (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`) `multiuserpicker`: Stores multiple users using
     * a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`) `multiversion`:
     * Stores multiple versions from the versions available in a project using a picker control (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`) `project`: Stores a project from a list of
     * projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`)
     * `radiobuttons`: Stores a value using radio buttons (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`) `readonlyfield`: Stores a read-only text value,
     * which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`)
     * `select`: Stores a value from a configurable list of options (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:select`) `textarea`: Stores a long text string using a multiline
     * text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`) `textfield`: Stores a text string
     * using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`) `url`: Stores a
     * URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`) `userpicker`: Stores a user using a picker
     * control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`) `version`: Stores a version using a
     * picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`)
     *
     * To create a field based on a [Forge custom field
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-),
     * use the ID of the Forge custom field type as the value. For example,
     * `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`.
     */
    type: string;
    /**
     * The searcher defines the way the field is searched in Jira. For example,
     * _com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher_. The search UI (basic search and JQL
     * search) will display different operations and values for the field, based on the field searcher. You must specify a
     * searcher that is valid for the field type, as listed below (abbreviated values shown):
     *
     * `cascadingselect`: `cascadingselectsearcher` `datepicker`: `daterange` `datetime`: `datetimerange` `float`:
     * `exactnumber` or `numberrange` `grouppicker`: `grouppickersearcher` `importid`: `exactnumber` or `numberrange`
     * `labels`: `labelsearcher` `multicheckboxes`: `multiselectsearcher` `multigrouppicker`: `multiselectsearcher`
     * `multiselect`: `multiselectsearcher` `multiuserpicker`: `userpickergroupsearcher` `multiversion`: `versionsearcher`
     * `project`: `projectsearcher` `radiobuttons`: `multiselectsearcher` `readonlyfield`: `textsearcher` `select`:
     * `multiselectsearcher` `textarea`: `textsearcher` `textfield`: `textsearcher` `url`: `exacttextsearcher`
     * `userpicker`: `userpickergroupsearcher` `version`: `versionsearcher`
     *
     * If no searcher is provided, the field isn't searchable. However, [Forge custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-)
     * have a searcher set automatically, so are always searchable.
     */
    searcherKey?: string;
}

/** Details of a custom option for a field. */
interface CustomFieldOption$1 {
    /** The URL of these custom field option details. */
    self?: string;
    /** The value of the custom field option. */
    value?: string;
}

/** Details about the replacement for a deleted version. */
interface CustomFieldReplacement$1 {
    /** The ID of the custom field in which to replace the version number. */
    customFieldId?: number;
    /** The version number to use as a replacement for the deleted version. */
    moveTo?: number;
}

/** A list of custom field options for a context. */
interface CustomFieldUpdatedContextOptionsList$1 {
    /** The updated custom field options. */
    options?: CustomFieldOptionUpdate$1[];
}

/** A list of issue IDs and the value to update a custom field to. */
interface CustomFieldValueUpdate$1 {
    /** The list of issue IDs. */
    issueIds: number[];
    /**
     * The value for the custom field. The value must be compatible with the [custom field
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#data-types) as
     * follows:
     *
     * - `string` the value must be a string.
     * - `number` the value must be a number.
     * - `datetime` the value must be a string that represents a date in the ISO format, for example
     *   `"2021-01-18T12:00:00-03:00"`.
     * - `user` the value must be an object that contains the `accountId` field.
     * - `group` the value must be an object that contains the group `name` field.
     *
     * A list of appropriate values must be provided if the field is of the `list` [collection
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#collection-types).
     */
    value: any;
}

/** Details of updates for a custom field. */
interface CustomFieldValueUpdateDetails {
    /** The list of custom field update details. */
    updates?: CustomFieldValueUpdate$1[];
}

interface UserAvatarUrls$1 {
    /** The URL of the user's 16x16 pixel avatar. */
    '16x16'?: string;
    /** The URL of the user's 24x24 pixel avatar. */
    '24x24'?: string;
    /** The URL of the user's 32x32 pixel avatar. */
    '32x32'?: string;
    /** The URL of the user's 48x48 pixel avatar. */
    '48x48'?: string;
}

interface DashboardUser$1 {
    /** The URL of the user. */
    self?: string;
    /** The display name of the user. Depending on the user’s privacy setting, this may return an alternative value. */
    displayName?: string;
    /** Whether the user is active. */
    active?: boolean;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    avatarUrls?: UserAvatarUrls$1;
}

interface HierarchyLevel$1 {
    /** The name of this hierarchy level. */
    name?: string;
    /** The level of this item in the hierarchy. */
    level?: number;
    /** The issue types available in this hierarchy level. */
    issueTypeIds?: number[];
    globalHierarchyLevel?: string;
}

/** The project issue type hierarchy. */
interface Hierarchy$1 {
    /** Details about the hierarchy level. */
    levels?: HierarchyLevel$1[];
}

/** A project category. */
interface ProjectCategory$1 {
    /** The description of the project category. */
    description?: string;
    /** The ID of the project category. */
    id?: string;
    /** The name of the project category. Required on create, optional on update. */
    name?: string;
    /** The URL of the project category. */
    self?: string;
}

/** Additional details about a project. */
interface ProjectInsight$1 {
    /** The last issue update time. */
    lastIssueUpdateTime?: string;
    /** Total issue count. */
    totalIssueCount?: number;
}

interface ProjectLandingPageInfo$1 {
    attributes?: unknown;
    boardId?: number;
    boardName?: string;
    projectKey?: string;
    projectType?: string;
    queueCategory?: string;
    queueId?: number;
    queueName?: string;
    simpleBoard?: boolean;
    simplified?: boolean;
    url?: string;
}

/** Permissions which a user has on a project. */
interface ProjectPermissions$1 {
    /** Whether the logged user can edit the project. */
    canEdit?: boolean;
}

/** Contains details about a version approver. */
interface VersionApprover$1 {
    /** The Atlassian account ID of the approver. */
    accountId?: string;
    /** A description of why the user is declining the approval. */
    declineReason?: string;
    /** A description of what the user is approving within the specified version. */
    description?: string;
    /** The status of the approval, which can be _PENDING_, _APPROVED_, or _DECLINED_ */
    status?: string;
}

/** Counts of the number of issues in various statuses. */
interface VersionIssuesStatus$1 {
    /** Count of issues with status _done_. */
    done?: number;
    /** Count of issues with status _in progress_. */
    inProgress?: number;
    /** Count of issues with status _to do_. */
    toDo?: number;
    /** Count of issues with a status other than _to do_, _in progress_, and _done_. */
    unmapped?: number;
}

/** Details about a project version. */
interface Version$2 {
    /** If the expand option `approvers` is used, returns a list containing the approvers for this version. */
    approvers?: VersionApprover$1[];
    /** Indicates that the version is archived. Optional when creating or updating a version. */
    archived?: boolean;
    /** The description of the version. Optional when creating or updating a version. The maximum size is 16,384 bytes. */
    description?: string;
    /** If the expand option `driver` is used, returns the Atlassian account ID of the driver. */
    driver?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about version in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `operations` Returns the list of operations available for this version.
     * - `issuesstatus` Returns the count of issues in this version for each of the status categories _to do_, _in
     *   progress_, _done_, and _unmapped_. The _unmapped_ property contains a count of issues with a status other than
     *   _to do_, _in progress_, and _done_.
     *
     * Optional for create and update.
     */
    expand?: 'operations' | 'issuesstatus' | ('operations' | 'issuesstatus')[] | string | string[];
    /** The URL of the version. */
    self?: string;
    /** The ID of the version. */
    id?: string;
    /**
     * The unique name of the version. Required when creating a version. Optional when updating a version. The maximum
     * length is 255 characters.
     */
    name?: string;
    /**
     * Indicates that the version is released. If the version is released a request to release again is ignored. Not
     * applicable when creating a version. Optional when updating a version.
     */
    released?: boolean;
    /**
     * The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a
     * version.
     */
    startDate?: string;
    /**
     * The release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a
     * version.
     */
    releaseDate?: string;
    /** Indicates that the version is overdue. */
    overdue?: boolean;
    /**
     * The date on which work on this version is expected to start, expressed in the instance's _Day/Month/Year Format_
     * date format.
     */
    userStartDate?: string;
    /**
     * The date on which work on this version is expected to finish, expressed in the instance's _Day/Month/Year Format_
     * date format.
     */
    userReleaseDate?: string;
    /**
     * The ID of the project to which this version is attached. Required when creating a version. Not applicable when
     * updating a version.
     */
    projectId: string | number;
    /**
     * The URL of the self link to the version to which all unfixed issues are moved when a version is released. Not
     * applicable when creating a version. Optional when updating a version.
     */
    moveUnfixedIssuesTo?: string;
    /** If the expand option `operations` is used, returns the list of operations available for this version. */
    operations?: SimpleLink$1[];
    issuesStatusForFixVersion?: VersionIssuesStatus$1;
}

/** Details about a project. */
interface Project$2 {
    /** Whether the project is archived. */
    archived?: boolean;
    archivedBy?: User$3;
    /** The date when the project was archived. */
    archivedDate?: string;
    /** The default assignee when creating issues for this project. */
    assigneeType?: string;
    avatarUrls?: AvatarUrls$3;
    /** List of the components contained in the project. */
    components?: ProjectComponent$1[];
    /** Whether the project is marked as deleted. */
    deleted?: boolean;
    deletedBy?: User$3;
    /** The date when the project was marked as deleted. */
    deletedDate?: string;
    /** A brief description of the project. */
    description?: string;
    /** An email address associated with the project. */
    email?: string;
    /** Expand options that include additional project details in the response. */
    expand?: string;
    /** Whether the project is selected as a favorite. */
    favourite?: boolean;
    /** The ID of the project. */
    id?: string;
    insight?: ProjectInsight$1;
    /** Whether the project is private. */
    isPrivate?: boolean;
    issueTypeHierarchy?: Hierarchy$1;
    /** List of the issue types available in the project. */
    issueTypes?: IssueTypeDetails$1[];
    /** The key of the project. */
    key?: string;
    landingPageInfo?: ProjectLandingPageInfo$1;
    lead?: User$3;
    /** The name of the project. */
    name?: string;
    permissions?: ProjectPermissions$1;
    projectCategory?: ProjectCategory$1;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the
     * project.
     */
    projectTypeKey?: string;
    /** Map of project properties */
    properties?: unknown;
    /** The date when the project is deleted permanently. */
    retentionTillDate?: string;
    /**
     * The name and self URL for each role defined in the project. For more information, see [Create project
     * role](#api-rest-api-2-role-post).
     */
    roles?: unknown;
    /** The URL of the project details. */
    self?: string;
    /** Whether the project is simplified. */
    simplified?: boolean;
    /** The type of the project. */
    style?: string;
    /** A link to information about this project, such as project documentation. */
    url?: string;
    /** Unique ID for next-gen projects. */
    uuid?: string;
    /** The versions defined in the project. For more information, see [Create version](#api-rest-api-2-version-post). */
    versions?: Version$2[];
}

/** Details of the group associated with the role. */
interface ProjectRoleGroup$1 {
    /** The display name of the group. */
    displayName?: string;
    /** The ID of the group. */
    groupId?: string;
    /** The name of the group. As a group's name can change, use of `groupId` is recommended to identify the group. */
    name?: string;
}

/** Details of the user associated with the role. */
interface ProjectRoleUser$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Returns _unknown_ if the record is deleted and corrupted, for example, as the result of
     * a server import.
     */
    accountId?: string;
}

/** Details about a user assigned to a project role. */
interface RoleActor$1 {
    actorGroup?: ProjectRoleGroup$1;
    actorUser?: ProjectRoleUser$1;
    /** The avatar of the role actor. */
    avatarUrl?: string;
    /**
     * The display name of the role actor. For users, depending on the user’s privacy setting, this may return an
     * alternative value for the user's name.
     */
    displayName?: string;
    /** The ID of the role actor. */
    id?: number;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /** The type of role actor. */
    type?: string;
}

/** Details about the roles in a project. */
interface ProjectRole$1 {
    /** The list of users who act in this role. */
    actors?: RoleActor$1[];
    /** Whether this role is the admin role for the project. */
    admin?: boolean;
    /** Whether the calling user is part of this role. */
    currentUserRole?: boolean;
    /** Whether this role is the default role for the project */
    default?: boolean;
    /** The description of the project role. */
    description?: string;
    /** The ID of the project role. */
    id?: number;
    /** The name of the project role. */
    name?: string;
    /** Whether the roles are configurable for this project. */
    roleConfigurable?: boolean;
    scope?: Scope$2;
    /** The URL the project role details. */
    self?: string;
    /** The translated name of the project role. */
    translatedName?: string;
}

/** Details of a share permission for the filter. */
interface SharePermission$1 {
    /** The unique identifier of the share permission. */
    id?: number;
    /**
     * The type of share permission:
     *
     * - `user` Shared with a user.
     * - `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.
     * - `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.
     * - `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in
     *   requests, where it needs to be specify with `projectId` and `projectRoleId`.
     * - `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.
     * - `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as
     *   the `type`.
     * - `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.
     */
    type: 'user' | 'group' | 'project' | 'projectRole' | 'global' | 'loggedin' | 'project-unknown' | string;
    project?: Project$2;
    role?: ProjectRole$1;
    group?: GroupName$1;
    user?: User$3;
}

/** Details of a dashboard. */
interface Dashboard$1 {
    description?: string;
    /** The ID of the dashboard. */
    id: string;
    /** Whether the dashboard is selected as a favorite by the user. */
    isFavourite?: boolean;
    /** The name of the dashboard. */
    name?: string;
    owner?: DashboardUser$1;
    /** The number of users who have this dashboard as a favorite. */
    popularity?: number;
    /** The rank of this dashboard. */
    rank?: number;
    /** The URL of these dashboard details. */
    self?: string;
    /** The details of any view share permissions for the dashboard. */
    sharePermissions?: SharePermission$1[];
    /** The details of any edit share permissions for the dashboard. */
    editPermissions?: SharePermission$1[];
    /** The automatic refresh interval for the dashboard in milliseconds. */
    automaticRefreshMs?: number;
    /** The URL of the dashboard. */
    view?: string;
    /** Whether the current user has permission to edit the dashboard. */
    isWritable?: boolean;
    /** Whether the current dashboard is system dashboard. */
    systemDashboard?: boolean;
}

/** Details of a dashboard. */
interface DashboardDetails$1 {
    /** The description of the dashboard. */
    description?: string;
    /** The edit permissions for the dashboard. */
    editPermissions: SharePermission$1[];
    /** The name of the dashboard. */
    name: string;
    /** The share permissions for the dashboard. */
    sharePermissions: SharePermission$1[];
}

/** Details of a gadget position. */
interface DashboardGadgetPosition$1 {
    'The row position of the gadget.': number;
    'The column position of the gadget.': number;
}

/** Details of a gadget. */
interface DashboardGadget$1 {
    /** The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`. */
    color: string;
    /** The ID of the gadget instance. */
    id: number;
    /** The module key of the gadget type. */
    moduleKey?: string;
    position?: DashboardGadgetPosition$1;
    /** The title of the gadget. */
    title: string;
    /** The URI of the gadget type. */
    uri?: string;
}

/** The list of gadgets on the dashboard. */
interface DashboardGadgetResponse$1 {
    /** The list of gadgets. */
    gadgets: DashboardGadget$1[];
}

/** Details of the settings for a dashboard gadget. */
interface DashboardGadgetSettings$1 {
    /** The module key of the gadget type. Can't be provided with `uri`. */
    moduleKey?: string;
    /** The URI of the gadget type. Can't be provided with `moduleKey`. */
    uri?: string;
    /** The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`. */
    color?: 'blue' | 'red' | 'yellow' | 'green' | 'cyan' | 'purple' | 'gray' | 'white' | string;
    position?: DashboardGadgetPosition$1;
    /** The title of the gadget. */
    title?: string;
    /**
     * Whether to ignore the validation of module key and URI. For example, when a gadget is created that is a part of an
     * application that isn't installed.
     */
    ignoreUriAndModuleKeyValidation?: boolean;
}

/** The details of the gadget to update. */
interface DashboardGadgetUpdateRequest$1 {
    /** The title of the gadget. */
    title?: string;
    /** The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`. */
    color?: 'blue' | 'red' | 'yellow' | 'green' | 'cyan' | 'purple' | 'gray' | 'white' | string;
    position?: DashboardGadgetPosition$1;
}

/** The data classification. */
interface DataClassificationTag$1 {
    /** The color of the data classification object. */
    color?: string;
    /** The description of the data classification object. */
    description?: string;
    /** The guideline of the data classification object. */
    guideline?: string;
    /** The ID of the data classification object. */
    id: string;
    /** The name of the data classification object. */
    name?: string;
    /** The rank of the data classification object. */
    rank?: number;
    /** The status of the data classification object. */
    status: string;
}

/** The data classification. */
interface DataClassificationLevels$1 {
    /** The data classifications. */
    classifications?: DataClassificationTag$1[];
}

/** List issues archived within a specified date range. */
interface DateRangeFilter$1 {
    /** List issues archived after a specified date, passed in the YYYY-MM-DD format. */
    dateAfter: string;
    /** List issues archived before a specified date provided in the YYYY-MM-DD format. */
    dateBefore: string;
}

/** Details of scheme and new default level. */
interface DefaultLevelValue$1 {
    /**
     * The ID of the issue security level to set as default for the specified scheme. Providing null will reset the
     * default level.
     */
    defaultLevelId: string;
    /** The ID of the issue security scheme to set default level for. */
    issueSecuritySchemeId: string;
}

/** Details of the scope of the default sharing for new filters and dashboards. */
interface DefaultShareScope$1 {
    /**
     * The scope of the default sharing for new filters and dashboards:
     *
     * `AUTHENTICATED` Shared with all logged-in users. `GLOBAL` Shared with all logged-in users. This shows as
     * `AUTHENTICATED` in the response. `PRIVATE` Not shared with any users.
     */
    scope: string;
}

/** Details about the default workflow. */
interface DefaultWorkflow$1 {
    /**
     * Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated
     * with the new default workflow. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
    /** The name of the workflow to set as the default workflow. */
    workflow: string;
}

/** The version details of the workflow. */
interface DocumentVersion$1 {
    /** The version UUID. */
    id?: string;
    /** The version number. */
    versionNumber?: number;
}

interface DuplicatePlanRequest {
    /** The plan name. */
    name: string;
}

interface EnhancedSearchRequest$1 {
    /**
     * The [JQL](https://confluence.atlassian.com/x/egORLQ) expression. For performance reasons, this parameter requires a
     * bounded query. A bounded query is a query with a search restriction.
     *
     * - Example of an unbounded query: `order by key desc`.
     * - Example of a bounded query: `assignee = currentUser() order by key`.
     *
     * Additionally, `orderBy` clause can contain a maximum of 7 fields.
     */
    jql?: string;
    /**
     * The token for a page to fetch that is not the first page. The first page has a `nextPageToken` of `null`. Use the
     * `nextPageToken` to fetch the next page of issues.
     */
    nextPageToken?: string;
    /**
     * The maximum number of items to return per page. To manage page size, API may return fewer items per page where a
     * large number of fields are requested. The greatest number of items returned per page is achieved when requesting
     * `id` or `key` only.
     *
     * It returns max 5000 issues.
     *
     * Default: `50`
     *
     * Format: `int32`
     */
    maxResults?: number;
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * - `*all` Returns all fields.
     * - `*navigable` Returns navigable fields.
     * - `id` Returns only issue IDs.
     * - Any issue field, prefixed with a minus to exclude.
     *
     * The default is `id`.
     *
     * Examples:
     *
     * - `summary,comment` Returns only the summary and comments fields.
     * - `-description` Returns all navigable (default) fields except description.
     * - `*all,-comment` Returns all fields except comments.
     *
     * Multiple `fields` parameters can be included in a request.
     *
     * Note: By default, this resource returns IDs only. This differs from [GET
     * issue](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-issueidorkey-get)
     * where the default is all fields.
     */
    fields?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about issues in the response. Note that, unlike the majority of instances where `expand` is specified,
     * `expand` is defined as a comma-delimited string of values. The expand options are:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     *
     * Examples: `names,changelog` Returns the display name of each field as well as a list of recent updates to an issue.
     */
    expand?: 'renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | ('renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations')[] | string | string[];
    /** A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list. */
    properties?: string[];
    /** Reference fields by their key (rather than ID). The default is `false`. */
    fieldsByKeys?: boolean;
    /** Fail this request early if we can't retrieve all field data. The default is `false`. */
    failFast?: boolean;
    /** Strong consistency issue ids to be reconciled with search results. Accepts max 50 ids. All issues must exist. */
    reconcileIssues?: number[];
}

interface EntityPropertyDetails$1 {
    /** The entity property ID. */
    entityId: number;
    /** The entity property key. */
    key: string;
    /** The new value of the entity property. */
    value: string;
}

interface Error$2 {
    count?: number;
    issueIdsOrKeys?: string[];
    message?: string;
}

interface Errors$1 {
    issueIsSubtask?: Error$2;
    issuesInArchivedProjects?: Error$2;
    issuesInUnlicensedProjects?: Error$2;
    issuesNotFound?: Error$2;
}

/** The description of the page of issues loaded by the provided JQL query. */
interface JExpEvaluateIssuesJqlMetaData$1 {
    /** Next Page token for the next page of issues. */
    nextPageToken?: string;
}

/** Meta data describing the `issues` context variable. */
interface JExpEvaluateIssuesMeta$1 {
    /**
     * The description of the page of issues loaded by the provided JQL query. This bean will be replacing
     * IssuesJqlMetaDataBean bean as part of new `evaluate` endpoint
     */
    jql?: JExpEvaluateIssuesJqlMetaData$1;
}

interface JiraExpressionsComplexityValue$1 {
    /** The maximum allowed complexity. The evaluation will fail if this value is exceeded. */
    limit: number;
    /** The complexity value of the current expression. */
    value: number;
}

interface JiraExpressionsComplexity$1 {
    steps?: JiraExpressionsComplexityValue$1;
    expensiveOperations?: JiraExpressionsComplexityValue$1;
    beans?: JiraExpressionsComplexityValue$1;
    primitiveValues?: JiraExpressionsComplexityValue$1;
}

interface JExpEvaluateMetaData {
    /**
     * Contains information about the expression complexity. For example, the number of steps it took to evaluate the
     * expression.
     */
    complexity?: JiraExpressionsComplexity$1;
    /**
     * Contains information about the `issues` variable in the context. For example, is the issues were loaded with JQL,
     * information about the page will be included here.
     */
    issues?: JExpEvaluateIssuesMeta$1;
}

/**
 * The result of evaluating a Jira expression.This bean will be replacing `JiraExpressionResultBean` bean as part of new
 * evaluate endpoint
 */
interface EvaluatedJiraExpression$1 {
    meta?: JExpEvaluateMetaData;
    /**
     * The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some
     * expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if
     * that's the case a simple string representation is returned. These string representations should not be relied upon
     * and may change without notice.)
     */
    value: unknown;
}

/** Details about a field. */
interface FieldDetails$1 {
    /**
     * The names that can be used to reference the field in an advanced search. For more information, see [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ).
     */
    clauseNames?: string[];
    /** Whether the field is a custom field. */
    custom?: boolean;
    /** The ID of the field. */
    id?: string;
    /** The key of the field. */
    key?: string;
    /** The name of the field. */
    name?: string;
    /** Whether the field can be used as a column on the issue navigator. */
    navigable?: boolean;
    /** Whether the content of the field can be used to order lists. */
    orderable?: boolean;
    schema?: JsonType$3;
    scope?: Scope$2;
    /** Whether the content of the field can be searched. */
    searchable?: boolean;
}

/** Details about a notification associated with an event. */
interface EventNotification$1 {
    /** The email address. */
    emailAddress?: string;
    /** Expand options that include additional event notification details in the response. */
    expand?: string;
    field?: FieldDetails$1;
    group?: GroupName$1;
    /** The ID of the notification. */
    id?: number;
    /** Identifies the recipients of the notification. */
    notificationType?: string;
    /**
     * As a group's name can change, use of `recipient` is recommended. The identifier associated with the
     * `notificationType` value that defines the receiver of the notification, where the receiver isn't implied by
     * `notificationType` value. So, when `notificationType` is:
     *
     * `User` The `parameter` is the user account ID. `Group` The `parameter` is the group name. `ProjectRole` The
     * `parameter` is the project role ID. `UserCustomField` The `parameter` is the ID of the custom field.
     * `GroupCustomField` The `parameter` is the ID of the custom field.
     */
    parameter?: string;
    projectRole?: ProjectRole$1;
    /**
     * The identifier associated with the `notificationType` value that defines the receiver of the notification, where
     * the receiver isn't implied by the `notificationType` value. So, when `notificationType` is:
     *
     * `User`, `recipient` is the user account ID. `Group`, `recipient` is the group ID. `ProjectRole`, `recipient` is the
     * project role ID. `UserCustomField`, `recipient` is the ID of the custom field. `GroupCustomField`, `recipient` is
     * the ID of the custom field.
     */
    recipient?: string;
    user?: UserDetails$2;
}

/** The response for status request for a running/completed export task. */
interface ExportArchivedIssuesTaskProgress$1 {
    fileUrl?: string;
    payload?: string;
    progress?: number;
    status?: string;
    submittedTime?: string;
    taskId?: string;
}

/** Details about a failed webhook. */
interface FailedWebhook$1 {
    /** The webhook body. */
    body?: string;
    /** The time the webhook was added to the list of failed webhooks (that is, the time of the last failed retry). */
    failureTime: number;
    /** The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier` header with the webhook. */
    id: string;
    /** The original webhook destination. */
    url: string;
}

/** A page of failed webhooks. */
interface FailedWebhooks$1 {
    /**
     * The maximum number of items on the page. If the list of values is shorter than this number, then there are no more
     * pages.
     */
    maxResults: number;
    /**
     * The URL to the next page of results. Present only if the request returned at least one result.The next page may be
     * empty at the time of receiving the response, but new failed webhooks may appear in time. You can save the URL to
     * the next page and query for new results periodically (for example, every hour).
     */
    next?: string;
    /** The list of webhooks. */
    values: FailedWebhook$1[];
}

/** Information about the most recent use of a field. */
interface FieldLastUsed$1 {
    /**
     * Last used value type:
     *
     * _TRACKED_: field is tracked and a last used date is available. _NOT_TRACKED_: field is not tracked, last used date
     * is not available. _NO_INFORMATION_: field is tracked, but no last used date is available.
     */
    type?: string;
    /** The date when the value of the field last changed. */
    value?: string;
}

/** Details of a field. */
interface Field$1 {
    /** Number of contexts where the field is used. */
    contextsCount?: number;
    /** The description of the field. */
    description?: string;
    /** The ID of the field. */
    id: string;
    /** Whether the field is locked. */
    isLocked?: boolean;
    /** Whether the field is shown on screen or not. */
    isUnscreenable?: boolean;
    /** The key of the field. */
    key?: string;
    lastUsed?: FieldLastUsed$1;
    /** The name of the field. */
    name: string;
    /** Number of projects where the field is used. */
    projectsCount?: number;
    schema: JsonType$3;
    /** Number of screens where the field is used. */
    screensCount?: number;
    /** The searcher key of the field. Returned for custom fields. */
    searcherKey?: string;
}

/** Field association for example PROJECT_ID. */
interface AssociationContextObject$1 {
    identifier?: {};
    type: string;
}

/** Identifier for a field for example FIELD_ID. */
interface FieldIdentifierObject$1 {
    identifier?: {};
    type: string;
}

/** Details of field associations with projects. */
interface FieldAssociationsRequest$1 {
    /** Contexts to associate/unassociate the fields with. */
    associationContexts: AssociationContextObject$1[];
    /** Fields to associate/unassociate with projects. */
    fields: FieldIdentifierObject$1[];
}

/** Details of a field configuration. */
interface FieldConfiguration$1 {
    /** The description of the field configuration. */
    description: string;
    /** The ID of the field configuration. */
    id: number;
    /** Whether the field configuration is the default. */
    isDefault?: boolean;
    /** The name of the field configuration. */
    name: string;
}

/** Details of a field configuration. */
interface FieldConfigurationDetails$1 {
    /** The description of the field configuration. */
    description?: string;
    /** The name of the field configuration. Must be unique. */
    name: string;
}

/** The field configuration for an issue type. */
interface FieldConfigurationIssueTypeItem$1 {
    /** The ID of the field configuration. */
    fieldConfigurationId: string;
    /** The ID of the field configuration scheme. */
    fieldConfigurationSchemeId: string;
    /**
     * The ID of the issue type or _default_. When set to _default_ this field configuration issue type item applies to
     * all issue types without a field configuration.
     */
    issueTypeId: string;
}

/** A field within a field configuration. */
interface FieldConfigurationItem$1 {
    /** The description of the field within the field configuration. */
    description?: string;
    /** The ID of the field within the field configuration. */
    id: string;
    /** Whether the field is hidden in the field configuration. */
    isHidden?: boolean;
    /** Whether the field is required in the field configuration. */
    isRequired?: boolean;
    /** The renderer type for the field within the field configuration. */
    renderer?: string;
}

/** Details of field configuration items. */
interface FieldConfigurationItemsDetails$1 {
    /** Details of fields in a field configuration. */
    fieldConfigurationItems: FieldConfigurationItem$1[];
}

/** Details of a field configuration scheme. */
interface FieldConfigurationScheme$1 {
    /** The description of the field configuration scheme. */
    description?: string;
    /** The ID of the field configuration scheme. */
    id: string;
    /** The name of the field configuration scheme. */
    name: string;
}

/** Associated field configuration scheme and project. */
interface FieldConfigurationSchemeProjectAssociation$1 {
    /**
     * The ID of the field configuration scheme. If the field configuration scheme ID is `null`, the operation assigns the
     * default field configuration scheme.
     */
    fieldConfigurationSchemeId?: string;
    /** The ID of the project. */
    projectId: string;
}

/** Project list with assigned field configuration schema. */
interface FieldConfigurationSchemeProjects$1 {
    fieldConfigurationScheme?: FieldConfigurationScheme$1;
    /** The IDs of projects using the field configuration scheme. */
    projectIds: string[];
}

/** The metadata describing an issue field for createmeta. */
interface FieldCreateMetadata$1 {
    /** The list of values allowed in the field. */
    allowedValues?: unknown[];
    /** The URL that can be used to automatically complete the field. */
    autoCompleteUrl?: string;
    /** The configuration properties. */
    configuration?: unknown;
    /** The default value of the field. */
    defaultValue?: unknown;
    /** The field id. */
    fieldId: string;
    /** Whether the field has a default value. */
    hasDefaultValue?: boolean;
    /** The key of the field. */
    key: string;
    /** The name of the field. */
    name: string;
    /** The list of operations that can be performed on the field. */
    operations: string[];
    /** Whether the field is required. */
    required: boolean;
    schema?: JsonType$3;
}

/** Details of a field that can be used in advanced searches. */
interface FieldReferenceData$1 {
    /** Whether the field provide auto-complete suggestions. */
    auto?: string;
    /** If the item is a custom field, the ID of the custom field. */
    cfid?: string;
    /** Whether this field has been deprecated. */
    deprecated?: string;
    /** The searcher key of the field, only passed when the field is deprecated. */
    deprecatedSearcherKey?: string;
    /**
     * The display name contains the following:
     *
     * For system fields, the field name. For example, `Summary`. for collapsed custom fields, the field name followed by
     * a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`. for other custom
     * fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`.
     */
    displayName?: string;
    /** The valid search operators for the field. */
    operators?: string[];
    /** Whether the field can be used in a query's `ORDER BY` clause. */
    orderable?: string;
    /** Whether the content of this field can be searched. */
    searchable?: string;
    /** The data types of items in the field. */
    types?: string[];
    /** The field identifier. */
    value?: string;
}

/** Details of a user or group subscribing to a filter. */
interface FilterSubscription$1 {
    group?: GroupName$1;
    /** The ID of the filter subscription. */
    id?: number;
    user?: User$3;
}

/** A paginated list of subscriptions to a filter. */
interface FilterSubscriptionsList$1 {
    /** The index of the last item returned on the page. */
    'end-index'?: number;
    /** The list of items. */
    items?: FilterSubscription$1[];
    /** The maximum number of results that could be on the page. */
    'max-results'?: number;
    /** The number of items on the page. */
    size?: number;
    /** The index of the first item returned on the page. */
    'start-index'?: number;
}

/**
 * A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the
 * projects that the filter is shared with.
 */
interface UserList$1 {
    /** The index of the last item returned on the page. */
    'end-index'?: number;
    /** The list of items. */
    items?: User$3[];
    /** The maximum number of results that could be on the page. */
    'max-results'?: number;
    /** The number of items on the page. */
    size?: number;
    /** The index of the first item returned on the page. */
    'start-index'?: number;
}

/** Details about a filter. */
interface Filter$1 {
    /**
     * @experimental [Experimental] Approximate last used time. Returns the date and time when the filter was last used. Returns `null`
     * if the filter hasn't been used after tracking was enabled. For performance reasons, timestamps aren't updated in
     * real time and therefore may not be exactly accurate.
     */
    approximateLastUsed?: string;
    /** A description of the filter. */
    description?: string;
    /** The groups and projects that can edit the filter. */
    editPermissions?: SharePermission$1[];
    /** Whether the filter is selected as a favorite. */
    favourite?: boolean;
    /** The count of how many users have selected this filter as a favorite, including the filter owner. */
    favouritedCount?: number;
    /** The unique identifier for the filter. */
    id?: string;
    /** The JQL query for the filter. For example, _project = SSP AND issuetype = Bug_. */
    jql?: string;
    /** The name of the filter. Must be unique. */
    name: string;
    owner?: User$3;
    /**
     * A URL to view the filter results in Jira, using the [Search for issues using
     * JQL](#api-rest-api-2-filter-search-get) operation with the filter's JQL string to return the filter results. For
     * example, _https://your-domain.atlassian.net/rest/api/2/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug_.
     */
    searchUrl?: string;
    /** The URL of the filter. */
    self?: string;
    /** The groups and projects that the filter is shared with. */
    sharePermissions?: SharePermission$1[];
    sharedUsers?: UserList$1;
    subscriptions?: FilterSubscriptionsList$1;
    /**
     * A URL to view the filter results in Jira, using the ID of the filter. For example,
     * _https://your-domain.atlassian.net/issues/?filter=10100_.
     */
    viewUrl?: string;
}

/** Details of a filter. */
interface FilterDetails$1 {
    /**
     * @experimental [Experimental] Approximate last used time. Returns the date and time when the filter was last used. Returns `null`
     * if the filter hasn't been used after tracking was enabled. For performance reasons, timestamps aren't updated in
     * real time and therefore may not be exactly accurate.
     */
    approximateLastUsed?: string;
    /** The description of the filter. */
    description?: string;
    /**
     * The groups and projects that can edit the filter. This can be specified when updating a filter, but not when
     * creating a filter.
     */
    editPermissions?: SharePermission$1[];
    /** Expand options that include additional filter details in the response. */
    expand?: string;
    /** Whether the filter is selected as a favorite by any users, not including the filter owner. */
    favourite?: boolean;
    /** The count of how many users have selected this filter as a favorite, including the filter owner. */
    favouritedCount?: number;
    /** The unique identifier for the filter. */
    id?: string;
    /** The JQL query for the filter. For example, _project = SSP AND issuetype = Bug_. */
    jql?: string;
    /** The name of the filter. */
    name: string;
    owner?: User$3;
    /**
     * A URL to view the filter results in Jira, using the [Search for issues using
     * JQL](#api-rest-api-2-filter-search-get) operation with the filter's JQL string to return the filter results. For
     * example, _https://your-domain.atlassian.net/rest/api/2/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug_.
     */
    searchUrl?: string;
    /** The URL of the filter. */
    self?: string;
    /**
     * The groups and projects that the filter is shared with. This can be specified when updating a filter, but not when
     * creating a filter.
     */
    sharePermissions?: SharePermission$1[];
    /** The users that are subscribed to the filter. */
    subscriptions?: FilterSubscription$1[];
    /**
     * A URL to view the filter results in Jira, using the ID of the filter. For example,
     * _https://your-domain.atlassian.net/issues/?filter=10100_.
     */
    viewUrl?: string;
}

/** A group label. */
interface GroupLabel$1 {
    /** The group label name. */
    text?: string;
    /** The title of the group label. */
    title?: string;
    /** The type of the group label. */
    type?: string;
}

/** A group found in a search. */
interface FoundGroup$1 {
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products. For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_.
     */
    groupId?: string;
    /** The group name with the matched query string highlighted with the HTML bold tag. */
    html?: string;
    labels?: GroupLabel$1[];
    /** The name of the group. The name of a group is mutable, to reliably identify a group use ``groupId`.` */
    name?: string;
}

/**
 * The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched
 * groups.
 */
interface FoundGroups$1 {
    groups?: FoundGroup$1[];
    /** Header text indicating the number of groups in the response and the total number of groups found in the search. */
    header?: string;
    /** The total number of groups found in the search. */
    total?: number;
}

/** A user found in a search. */
interface UserPickerUser$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The avatar URL of the user. */
    avatarUrl?: string;
    /** The display name of the user. Depending on the user’s privacy setting, this may be returned as null. */
    displayName?: string;
    /**
     * The display name, email address, and key of the user with the matched query string highlighted with the HTML bold
     * tag.
     */
    html?: string;
    /**
     * This property is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /**
     * This property is no longer available . See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
}

/**
 * The list of users found in a search, including header text (Showing X of Y matching users) and total of matched
 * users.
 */
interface FoundUsers$1 {
    /** Header text indicating the number of users in the response and the total number of users found in the search. */
    header?: string;
    /** The total number of users found in the search. */
    total?: number;
    users?: UserPickerUser$1[];
}

/** List of users and groups found in a search. */
interface FoundUsersAndGroups$1 {
    groups?: FoundGroups$1;
    users?: FoundUsers$1;
}

/** Details of functions that can be used in advanced searches. */
interface FunctionReferenceData$1 {
    /** The display name of the function. */
    displayName?: string;
    /** Whether the function can take a list of arguments. */
    isList?: string;
    /** The data types returned by the function. */
    types?: string[];
    /** The function identifier. */
    value?: string;
}

interface GetAtlassianTeamResponse$1 {
    /** The capacity for the Atlassian team. */
    capacity?: number;
    /** The Atlassian team ID. */
    id: string;
    /** The ID of the issue source for the Atlassian team. */
    issueSourceId?: number;
    /** The planning style for the Atlassian team. This is "Scrum" or "Kanban". */
    planningStyle: 'Scrum' | 'Kanban' | string;
    /** The sprint length for the Atlassian team. */
    sprintLength?: number;
}

interface GetCrossProjectReleaseResponse$1 {
    /** The cross-project release name. */
    name?: string;
    /** The IDs of the releases included in the cross-project release. */
    releaseIds?: number[];
}

interface GetCustomFieldResponse$1 {
    /** The custom field ID. */
    customFieldId: number;
    /** Allows filtering issues based on their values for the custom field. */
    filter?: boolean;
}

interface GetDateFieldResponse$1 {
    /** A date custom field ID. This is returned if the type is "DateCustomField". */
    dateCustomFieldId?: number;
    /** The date field type. This is "DueDate", "TargetStartDate", "TargetEndDate" or "DateCustomField". */
    type: 'DueDate' | 'TargetStartDate' | 'TargetEndDate' | 'DateCustomField' | string;
}

interface GetExclusionRulesResponse$1 {
    /** The IDs of the issues excluded from the plan. */
    issueIds?: number[];
    /** The IDs of the issue types excluded from the plan. */
    issueTypeIds?: number[];
    /** Issues completed this number of days ago are excluded from the plan. */
    numberOfDaysToShowCompletedIssues: number;
    /** The IDs of the releases excluded from the plan. */
    releaseIds?: number[];
    /** The IDs of the work status categories excluded from the plan. */
    workStatusCategoryIds?: number[];
    /** The IDs of the work statuses excluded from the plan. */
    workStatusIds?: number[];
}

interface GetIssueSourceResponse$1 {
    /** The issue source type. This is "Board", "Project" or "Filter". */
    type: 'Board' | 'Project' | 'Filter' | 'Custom' | string;
    /**
     * The issue source value. This is a board ID if the type is "Board", a project ID if the type is "Project" or a
     * filter ID if the type is "Filter".
     */
    value: number;
}

interface GetPermissionHolderResponse$1 {
    /** The permission holder type. This is "Group" or "AccountId". */
    type: 'Group' | 'AccountId' | string;
    /**
     * The permission holder value. This is a group name if the type is "Group" or an account ID if the type is
     * "AccountId".
     */
    value: string;
}

interface GetPermissionResponse$1 {
    holder?: GetPermissionHolderResponse$1;
    /** The permission type. This is "View" or "Edit". */
    type: 'View' | 'Edit' | string;
}

interface GetPlanOnlyTeamResponse$1 {
    /** The capacity for the plan-only team. */
    capacity?: number;
    /** The plan-only team ID. */
    id: number;
    /** The ID of the issue source for the plan-only team. */
    issueSourceId?: number;
    /** The account IDs of the plan-only team members. */
    memberAccountIds?: string[];
    /** The plan-only team name. */
    name: string;
    /** The planning style for the plan-only team. This is "Scrum" or "Kanban". */
    planningStyle: 'Scrum' | 'Kanban' | string;
    /** The sprint length for the plan-only team. */
    sprintLength?: number;
}

interface GetPlanResponseForPage$1 {
    /** The plan ID. */
    id: string;
    /** The issue sources included in the plan. */
    issueSources?: GetIssueSourceResponse$1[];
    /** The plan name. */
    name: string;
    /** The plan status. This is "Active", "Trashed" or "Archived". */
    status: 'Active' | 'Trashed' | 'Archived' | string;
}

interface GetSchedulingResponse$1 {
    /** The dependencies for the plan. This is "Sequential" or "Concurrent". */
    dependencies: 'Sequential' | 'Concurrent' | string;
    endDate?: GetDateFieldResponse$1;
    /** The estimation unit for the plan. This is "StoryPoints", "Days" or "Hours". */
    estimation: 'StoryPoints' | 'Days' | 'Hours' | string;
    /** The inferred dates for the plan. This is "None", "SprintDates" or "ReleaseDates". */
    inferredDates: 'None' | 'SprintDates' | 'ReleaseDates' | string;
    startDate?: GetDateFieldResponse$1;
}

interface GetTeamResponseForPage$1 {
    /** The team ID. */
    id: string;
    /** The team name. This is returned if the type is "PlanOnly". */
    name?: string;
    /** The team type. This is "PlanOnly" or "Atlassian". */
    type: 'PlanOnly' | 'Atlassian' | string;
}

interface GlobalScope$1 {
    /**
     * Defines the behavior of the option in the global context.If notSelectable is set, the option cannot be set as the
     * field's value. This is useful for archiving an option that has previously been selected but shouldn't be used
     * anymore.If defaultValue is set, the option is selected by default.
     */
    attributes?: string[];
}

/**
 * A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example,
 * `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40.
 */
interface PagedListUserDetailsApplicationUser$1 {
    /** The index of the last item returned on the page. */
    'end-index'?: number;
    /** The list of items. */
    items?: UserDetails$2[];
    /** The maximum number of results that could be on the page. */
    'max-results'?: number;
    /** The number of items on the page. */
    size?: number;
    /** The index of the first item returned on the page. */
    'start-index'?: number;
}

interface Group$2 {
    /** Expand options that include additional group details in the response. */
    expand?: string;
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products. For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_.
     */
    groupId?: string;
    /** The name of group. */
    name?: string;
    /** The URL for these group details. */
    self?: string;
    users?: PagedListUserDetailsApplicationUser$1;
}

/** Details about a group. */
interface GroupDetails$1 {
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products. For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_.
     */
    groupId?: string;
    /** The name of the group. */
    name?: string;
}

/**
 * An icon. If no icon is defined:
 *
 * - For a status icon, no status icon displays in Jira.
 * - For the remote object icon, the default link icon displays in Jira.
 */
interface Icon$1 {
    /** The URL of the tooltip, used only for a status icon. If not set, the status icon in Jira is not clickable. */
    link?: string;
    /**
     * The title of the icon. This is used as follows:
     *
     * For a status icon it is used as a tooltip on the icon. If not set, the status icon doesn't display a tooltip in
     * Jira. For the remote object icon it is used in conjunction with the application name to display a tooltip for the
     * link's icon. The tooltip takes the format "[application name] icon title". Blank itemsare excluded from the tooltip
     * title. If both items are blank, the icon tooltop displays as "Web Link".
     */
    title?: string;
    /** The URL of an icon that displays at 16x16 pixel in Jira. */
    url16x16?: string;
}

interface Id$1 {
    /**
     * The ID of the permission scheme to associate with the project. Use the [Get all permission
     * schemes](#api-rest-api-2-permissionscheme-get) resource to get a list of permission scheme IDs.
     */
    id: number;
}

interface IdOrKey$1 {
    /** The ID of the referenced item. */
    id?: number;
    /** The key of the referenced item. */
    key?: string;
}

interface IdSearchRequest$1 {
    /** A [JQL](https://confluence.atlassian.com/x/egORLQ) expression. Order by clauses are not allowed. */
    jql?: string;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The continuation token to fetch the next page. This token is provided by the response of this endpoint. */
    nextPageToken?: string;
}

/** Result of your JQL search. Returns a list of issue IDs and a token to fetch the next page if one exists. */
interface IdSearchResults$1 {
    /** The list of issue IDs found by the search. */
    issueIds?: number[];
    /**
     * Continuation token to fetch the next page. If this result represents the last or the only page this token will be
     * null.
     */
    nextPageToken?: string;
}

/** Number of archived/unarchived issues and list of errors that occurred during the action, if any. */
interface IssueArchivalSync$1 {
    errors?: Errors$1;
    numberOfIssuesUpdated?: number;
}

/** A list of changelog IDs. */
interface IssueChangelogIds$1 {
    /** The list of changelog IDs. */
    changelogIds: number[];
}

interface IssueCommentListRequest$1 {
    /** The list of comment IDs. A maximum of 1000 IDs can be specified. */
    ids: number[];
}

interface IssueContextVariable {
    /** The issue ID. */
    id?: number;
    /** The issue key. */
    key?: string;
    /** Type of custom context variable. */
    type: string;
}

/** Details of the issue creation metadata for an issue type. */
interface IssueTypeIssueCreateMetadata$1 {
    /** The ID of the issue type's avatar. */
    avatarId?: number;
    /** The description of the issue type. */
    description?: string;
    /** Unique ID for next-gen projects. */
    entityId?: string;
    /** Expand options that include additional issue type metadata details in the response. */
    expand?: string;
    /** List of the fields available when creating an issue for the issue type. */
    fields?: unknown;
    /** Hierarchy level of the issue type. */
    hierarchyLevel?: number;
    /** The URL of the issue type's avatar. */
    iconUrl?: string;
    /** The ID of the issue type. */
    id?: string;
    /** The name of the issue type. */
    name?: string;
    scope?: Scope$2;
    /** The URL of these issue type details. */
    self?: string;
    /** Whether this issue type is used to create subtasks. */
    subtask?: boolean;
}

/** Details of the issue creation metadata for a project. */
interface ProjectIssueCreateMetadata$1 {
    avatarUrls?: AvatarUrls$3;
    /** Expand options that include additional project issue create metadata details in the response. */
    expand?: string;
    /** The ID of the project. */
    id?: string;
    /** List of the issue types supported by the project. */
    issuetypes?: IssueTypeIssueCreateMetadata$1[];
    /** The key of the project. */
    key?: string;
    /** The name of the project. */
    name?: string;
    /** The URL of the project. */
    self?: string;
}

/** The wrapper for the issue creation metadata for a list of projects. */
interface IssueCreateMetadata$1 {
    /** Expand options that include additional project details in the response. */
    expand?: string;
    /** List of projects and their issue creation metadata. */
    projects?: ProjectIssueCreateMetadata$1[];
}

/**
 * Lists of issues and entity properties. See [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
 */
interface IssueEntityProperties$1 {
    /** A list of entity property IDs. */
    entitiesIds?: number[];
    /** A list of entity property keys and values. */
    properties?: unknown;
}

/**
 * An issue ID with entity property values. See [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
 */
interface IssueEntityPropertiesForMultiUpdate$1 {
    /** The ID of the issue. */
    issueID?: number;
    /** Entity properties to set on the issue. The maximum length of an issue property value is 32768 characters. */
    properties?: unknown;
}

/** Details about an issue event. */
interface IssueEvent$1 {
    /** The ID of the event. */
    id: number;
    /** The name of the event. */
    name: string;
}

interface ProjectScope$1 {
    /**
     * Defines the behavior of the option in the project.If notSelectable is set, the option cannot be set as the field's
     * value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If
     * defaultValue is set, the option is selected by default.
     */
    attributes?: string[];
    /** The ID of the project that the option's behavior applies to. */
    id?: number;
}

interface IssueFieldOptionScope$1 {
    global?: GlobalScope$1;
    /**
     * Defines the projects in which the option is available and the behavior of the option within each project. Specify
     * one object per project. The behavior of the option in a project context overrides the behavior in the global
     * context.
     */
    projects2?: ProjectScope$1[];
}

/** Details of the projects the option is available in. */
interface IssueFieldOptionConfiguration$1 {
    scope?: IssueFieldOptionScope$1;
}

/** Details of the options for a select list issue field. */
interface IssueFieldOption$1 {
    config?: IssueFieldOptionConfiguration$1;
    /** The unique identifier for the option. This is only unique within the select field's set of options. */
    id: number;
    /**
     * The properties of the object, as arbitrary key-value pairs. These properties can be searched using JQL, if the
     * extractions (see [Issue Field Option Property
     * Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)) are defined
     * in the descriptor for the issue field module.
     */
    properties?: Record<string, any>;
    /** The option's name, which is displayed in Jira. */
    value: string;
}

interface IssueFieldOptionCreate$1 {
    config?: IssueFieldOptionConfiguration$1;
    /**
     * The properties of the option as arbitrary key-value pairs. These properties can be searched using JQL, if the
     * extractions (see https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)
     * are defined in the descriptor for the issue field module.
     */
    properties?: unknown;
    /** The option's name, which is displayed in Jira. */
    value: string;
}

/** Bulk operation filter details. */
interface IssueFilterForBulkPropertyDelete$1 {
    /** The value of properties to perform the bulk operation on. */
    currentValue?: any;
    /** List of issues to perform the bulk delete operation on. */
    entityIds?: number[];
}

interface IssueLimitReport$1 {
    /** A list of ids of issues approaching the limit and their field count */
    issuesApproachingLimit?: unknown;
    /** A list of ids of issues breaching the limit and their field count */
    issuesBreachingLimit?: unknown;
    /** The fields and their defined limits */
    limits?: unknown;
}

interface IssueLimitReportRequest {
    /**
     * A list of fields and their respective approaching limit threshold. Required for querying issues approaching limits.
     * Optional for querying issues breaching limits. Accepted fields are: `comment`, `worklog`, `attachment`,
     * `remoteIssueLinks`, and `issuelinks`. Example: `{"issuesApproachingLimitParams": {"comment": 4500, "attachment":
     * 1800}}`
     */
    issuesApproachingLimitParams?: unknown;
}

/** A list of issue link type beans. */
interface IssueLinkTypes$3 {
    /** The issue link type bean. */
    issueLinkTypes?: IssueLinkType$1[];
}

/** A list of issue IDs. */
interface IssueList$1 {
    /** The list of issue IDs. */
    issueIds: string[];
}

/** A list of the issues matched to a JQL query or details of errors encountered during matching. */
interface IssueMatchesForJQL$1 {
    /** A list of errors. */
    errors: string[];
    /** A list of issue IDs. */
    matchedIssues: number[];
}

/** A list of matched issues or errors for each JQL query, in the order the JQL queries were passed. */
interface IssueMatches$1 {
    matches: IssueMatchesForJQL$1[];
}

/** An issue suggested for use in the issue picker auto-completion. */
interface SuggestedIssue$1 {
    /** The ID of the issue. */
    id?: number;
    /** The URL of the issue type's avatar. */
    img?: string;
    /** The key of the issue. */
    key?: string;
    /** The key of the issue in HTML format. */
    keyHtml?: string;
    /** The phrase containing the query string in HTML format, with the string highlighted with HTML bold tags. */
    summary?: string;
    /** The phrase containing the query string, as plain text. */
    summaryText?: string;
}

/** A type of issue suggested for use in auto-completion. */
interface IssuePickerSuggestionsIssueType$1 {
    /** The ID of the type of issues suggested for use in auto-completion. */
    id?: string;
    /** A list of issues suggested for use in auto-completion. */
    issues?: SuggestedIssue$1[];
    /** The label of the type of issues suggested for use in auto-completion. */
    label?: string;
    /** If no issue suggestions are found, returns a message indicating no suggestions were found, */
    msg?: string;
    /** If issue suggestions are found, returns a message indicating the number of issues suggestions found and returned. */
    sub?: string;
}

/** A list of issues suggested for use in auto-completion. */
interface IssuePickerSuggestions$1 {
    /** A list of issues for an issue type suggested for use in auto-completion. */
    sections?: IssuePickerSuggestionsIssueType$1[];
}

/** List of issues and JQL queries. */
interface IssuesAndJQLQueries$1 {
    /** A list of issue IDs. */
    issueIds: number[];
    /** A list of JQL queries. */
    jqls: string[];
}

/**
 * Details of a user, group, field, or project role that holds a permission. See [Holder
 * object](../api-group-permission-schemes/#holder-object) in _Get all permission schemes_ for more information.
 */
interface PermissionHolder$1 {
    /** Expand options that include additional permission holder details in the response. */
    expand?: string;
    /**
     * As a group's name can change, use of `value` is recommended. The identifier associated withthe `type` value that
     * defines the holder of the permission.
     */
    parameter?: string;
    /** The type of permission holder. */
    type: string;
    /** The identifier associated with the `type` value that defines the holder of the permission. */
    value?: string;
}

/** Issue security level member. */
interface IssueSecurityLevelMember$1 {
    holder?: PermissionHolder$1;
    /** The ID of the issue security level member. */
    id: number;
    /** The ID of the issue security level. */
    issueSecurityLevelId: number;
}

/** Details about a project using security scheme mapping. */
interface IssueSecuritySchemeToProjectMapping$1 {
    issueSecuritySchemeId: string;
    projectId: string;
}

/** The description of the page of issues loaded by the provided JQL query. */
interface IssuesJqlMetaData$1 {
    /** The number of issues that were loaded in this evaluation. */
    count: number;
    /** The maximum number of issues that could be loaded in this evaluation. */
    maxResults: number;
    /** The index of the first issue. */
    startAt: number;
    /** The total number of issues the JQL returned. */
    totalCount: number;
    /** Any warnings related to the JQL query. Present only if the validation mode was set to `warn`. */
    validationWarnings?: string[];
}

/** Meta data describing the `issues` context variable. */
interface IssuesMeta$1 {
    jql?: IssuesJqlMetaData$1;
}

/** Details of an issue update request. */
interface IssueUpdateDetails$1 {
    /**
     * List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field
     * provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are
     * required, use `update`. Fields included in here cannot be included in `update`.
     */
    fields?: Partial<Fields$2> | any;
    historyMetadata?: HistoryMetadata$1;
    /** Details of issue properties to be added or update. */
    properties?: EntityProperty$2[];
    transition?: IssueTransition$3;
    /**
     * A Map containing the field name and a list of operations to perform on the issue screen field. Note that fields
     * included in here cannot be included in `fields`.
     */
    update?: unknown;
}

interface IssuesUpdate$1 {
    issueUpdates?: IssueUpdateDetails$1[];
}

interface IssueTypeCreate$1 {
    /** The description of the issue type. */
    description?: string;
    /**
     * The hierarchy level of the issue type. Use:
     *
     * `-1` for Subtask. `0` for Base.
     *
     * Defaults to `0`.
     */
    hierarchyLevel?: number;
    /** The unique name for the issue type. The maximum length is 60 characters. */
    name: string;
}

/** The list of issue type IDs. */
interface IssueTypeIds$1 {
    /** The list of issue type IDs. */
    issueTypeIds: string[];
}

/** The list of issue type IDs to be removed from the field configuration scheme. */
interface IssueTypeIdsToRemove$1 {
    /**
     * The list of issue type IDs. Must contain unique values not longer than 255 characters and not be empty. Maximum of
     * 100 IDs.
     */
    issueTypeIds: string[];
}

/** Details of an issue type. */
interface IssueTypeInfo$1 {
    /** The avatar of the issue type. */
    avatarId?: number;
    /** The ID of the issue type. */
    id?: number;
    /** The name of the issue type. */
    name?: string;
}

/** Details of an issue type scheme. */
interface IssueTypeScheme$1 {
    /** The ID of the default issue type of the issue type scheme. */
    defaultIssueTypeId?: string;
    /** The description of the issue type scheme. */
    description?: string;
    /** The ID of the issue type scheme. */
    id: string;
    /** Whether the issue type scheme is the default. */
    isDefault?: boolean;
    /** The name of the issue type scheme. */
    name: string;
}

/** Details of an issue type scheme and its associated issue types. */
interface IssueTypeSchemeDetails$1 {
    /** The ID of the default issue type of the issue type scheme. This ID must be included in `issueTypeIds`. */
    defaultIssueTypeId?: string;
    /** The description of the issue type scheme. The maximum length is 4000 characters. */
    description?: string;
    /** The list of issue types IDs of the issue type scheme. At least one standard issue type ID is required. */
    issueTypeIds: string[];
    /** The name of the issue type scheme. The name must be unique. The maximum length is 255 characters. */
    name: string;
}

/** The ID of an issue type scheme. */
interface IssueTypeSchemeID$1 {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: string;
}

/** Issue type scheme item. */
interface IssueTypeSchemeMapping$1 {
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: string;
}

/** Details of the association between an issue type scheme and project. */
interface IssueTypeSchemeProjectAssociation$1 {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: string;
    /** The ID of the project. */
    projectId: string;
}

/** Issue type scheme with a list of the projects that use it. */
interface IssueTypeSchemeProjects$1 {
    issueTypeScheme?: IssueTypeScheme$1;
    /** The IDs of the projects using the issue type scheme. */
    projectIds: string[];
}

/** Details of the name, description, and default issue type for an issue type scheme. */
interface IssueTypeSchemeUpdateDetails$1 {
    /** The ID of the default issue type of the issue type scheme. */
    defaultIssueTypeId?: string;
    /** The description of the issue type scheme. The maximum length is 4000 characters. */
    description?: string;
    /** The name of the issue type scheme. The name must be unique. The maximum length is 255 characters. */
    name?: string;
}

/** Details of an issue type screen scheme. */
interface IssueTypeScreenScheme$1 {
    /** The description of the issue type screen scheme. */
    description?: string;
    /** The ID of the issue type screen scheme. */
    id: string;
    /** The name of the issue type screen scheme. */
    name: string;
}

/** The IDs of the screen schemes for the issue type IDs. */
interface IssueTypeScreenSchemeMapping$1 {
    /**
     * The ID of the issue type or _default_. Only issue types used in classic projects are accepted. An entry for
     * _default_ must be provided and defines the mapping for all issue types without a screen scheme.
     */
    issueTypeId: string;
    /** The ID of the screen scheme. Only screen schemes used in classic projects are accepted. */
    screenSchemeId: string;
}

/** The details of an issue type screen scheme. */
interface IssueTypeScreenSchemeDetails$1 {
    /** The description of the issue type screen scheme. The maximum length is 255 characters. */
    description?: string;
    /**
     * The IDs of the screen schemes for the issue type IDs and _default_. A _default_ entry is required to create an
     * issue type screen scheme, it defines the mapping for all issue types without a screen scheme.
     */
    issueTypeMappings: IssueTypeScreenSchemeMapping$1[];
    /** The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters. */
    name: string;
}

/** The ID of an issue type screen scheme. */
interface IssueTypeScreenSchemeId$1 {
    /** The ID of the issue type screen scheme. */
    id: string;
}

/** The screen scheme for an issue type. */
interface IssueTypeScreenSchemeItem$1 {
    /**
     * The ID of the issue type or _default_. Only issue types used in classic projects are accepted. When creating an
     * issue screen scheme, an entry for _default_ must be provided and defines the mapping for all issue types without a
     * screen scheme. Otherwise, a _default_ entry can't be provided.
     */
    issueTypeId: string;
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
    /** The ID of the screen scheme. */
    screenSchemeId: string;
}

/** A list of issue type screen scheme mappings. */
interface IssueTypeScreenSchemeMappingDetails$1 {
    /**
     * The list of issue type to screen scheme mappings. A _default_ entry cannot be specified because a default entry is
     * added when an issue type screen scheme is created.
     */
    issueTypeMappings: IssueTypeScreenSchemeMapping$1[];
}

/** Associated issue type screen scheme and project. */
interface IssueTypeScreenSchemeProjectAssociation$1 {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId?: string;
    /** The ID of the project. */
    projectId?: string;
}

/** Issue type screen scheme with a list of the projects that use it. */
interface IssueTypeScreenSchemesProjects$1 {
    issueTypeScreenScheme?: IssueTypeScreenScheme$1;
    /** The IDs of the projects using the issue type screen scheme. */
    projectIds: string[];
}

/** Details of an issue type screen scheme. */
interface IssueTypeScreenSchemeUpdateDetails$1 {
    /** The description of the issue type screen scheme. The maximum length is 255 characters. */
    description?: string;
    /** The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters. */
    name?: string;
}

/** Details about the mapping between issue types and a workflow. */
interface IssueTypesWorkflowMapping$1 {
    /** Whether the workflow is the default workflow for the workflow scheme. */
    defaultMapping?: boolean;
    /** The list of issue type IDs. */
    issueTypes?: string[];
    /**
     * Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated
     * with the new workflow-issue types mapping. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
    /** The name of the workflow. Optional if updating the workflow-issue types mapping. */
    workflow?: string;
}

/** Mapping of an issue type to a context. */
interface IssueTypeToContextMapping$1 {
    /** The ID of the context. */
    contextId: string;
    /** Whether the context is mapped to any issue type. */
    isAnyIssueType?: boolean;
    /** The ID of the issue type. */
    issueTypeId?: string;
}

interface IssueTypeUpdate$1 {
    /** The ID of an issue type avatar. */
    avatarId?: number;
    /** The description of the issue type. */
    description?: string;
    /** The unique name for the issue type. The maximum length is 60 characters. */
    name?: string;
}

/** Status details for an issue type. */
interface IssueTypeWithStatus$1 {
    /** The ID of the issue type. */
    id: string;
    /** The name of the issue type. */
    name: string;
    /** The URL of the issue type's status details. */
    self: string;
    /** List of status details for the issue type. */
    statuses: StatusDetails$2[];
    /** Whether this issue type represents subtasks. */
    subtask: boolean;
}

/** Details about the mapping between an issue type and a workflow. */
interface IssueTypeWorkflowMapping$1 {
    /** The ID of the issue type. Not required if updating the issue type-workflow mapping. */
    issueType?: string;
    /**
     * Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the
     * workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types
     * mapping.
     */
    updateDraftIfNeeded?: boolean;
    /** The name of the workflow. */
    workflow?: string;
}

/** The JQL query that specifies the set of issues available in the Jira expression. */
interface JexpEvaluateCtxJqlIssues$1 {
    /**
     * The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to
     * ensure the maximum value has not been exceeded.
     */
    maxResults?: number;
    /**
     * The token for a page to fetch that is not the first page. The first page has a `nextPageToken` of `null`. Use the
     * `nextPageToken` to fetch the next page of issues.
     */
    nextPageToken?: string;
    /** The JQL query, required to be bounded. Additionally, `orderBy` clause can contain a maximum of 7 fields */
    query?: string;
}

/** The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. */
interface JexpEvaluateCtxIssues$1 {
    jql?: JexpEvaluateCtxJqlIssues$1;
}

/**
 * The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all
 * issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To
 * determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated,
 * inspect `meta.issues.jql.count` in the response.
 */
interface JexpJqlIssues$1 {
    /**
     * The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to
     * ensure the maximum value has not been exceeded.
     */
    maxResults?: number;
    /** The JQL query. */
    query?: string;
    /** The index of the first issue to return from the JQL query. */
    startAt?: number;
    /** Determines how to validate the JQL query and treat the validation results. */
    validation?: string;
}

/** The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. */
interface JexpIssues$1 {
    jql?: JexpJqlIssues$1;
}

/** Details about the complexity of the analysed Jira expression. */
interface JiraExpressionComplexity$1 {
    /**
     * Information that can be used to determine how many [expensive
     * operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) the
     * evaluation of the expression will perform. This information may be a formula or number. For example:
     *
     * `issues.map(i => i.comments)` performs as many expensive operations as there are issues on the issues list. So this
     * parameter returns `N`, where `N` is the size of issue list. `new Issue(10010).comments` gets comments for one
     * issue, so its complexity is `2` (`1` to retrieve issue 10010 from the database plus `1` to get its comments).
     */
    expensiveOperations: string;
    /** Variables used in the formula, mapped to the parts of the expression they refer to. */
    variables?: unknown;
}

/**
 * Details about syntax and type errors. The error details apply to the entire expression, unless the object includes:*
 *
 * - `line` and `column`
 * - `expression`
 */
interface JiraExpressionValidationError$1 {
    /** The text column in which the error occurred. */
    column?: number;
    /** The part of the expression in which the error occurred. */
    expression?: string;
    /** The text line in which the error occurred. */
    line?: number;
    /** Details about the error. */
    message: string;
    /** The error type. */
    type: string;
}

/** Details about the analysed Jira expression. */
interface JiraExpressionAnalysis$1 {
    complexity?: JiraExpressionComplexity$1;
    /** A list of validation errors. Not included if the expression is valid. */
    errors?: JiraExpressionValidationError$1[];
    /** The analysed expression. */
    expression: string;
    /** EXPERIMENTAL. The inferred type of the expression. */
    type?: string;
    /**
     * Whether the expression is valid and the interpreter will evaluate it. Note that the expression may fail at runtime
     * (for example, if it executes too many expensive operations).
     */
    valid: boolean;
}

interface JiraExpressionEvalContext$1 {
    /** The ID of the board that is available under the `board` variable when evaluating the expression. */
    board?: number;
    /**
     * Custom context variables and their types. These variable types are available for use in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     */
    custom?: CustomContextVariable$1[];
    /**
     * The ID of the customer request that is available under the `customerRequest` variable when evaluating the
     * expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will
     * have a different type.
     */
    customerRequest?: number;
    issue?: IdOrKey$1;
    issues?: JexpIssues$1;
    project?: IdOrKey$1;
    /** The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression. */
    serviceDesk?: number;
    /** The ID of the sprint that is available under the `sprint` variable when evaluating the expression. */
    sprint?: number;
}

interface JiraExpressionEvalRequest$1 {
    context?: JiraExpressionEvalContext$1;
    /** The Jira expression to evaluate. */
    expression: string;
}

interface JsonContextVariable {
    /** Type of custom context variable. */
    type: string;
    /** A JSON object containing custom content. */
    value?: any;
}

interface UserContextVariable {
    /** The account ID of the user. */
    accountId: string;
    /** Type of custom context variable. */
    type: string;
}

interface JiraExpressionEvaluateContext$1 {
    issue?: IdOrKey$1;
    issues?: JexpEvaluateCtxIssues$1;
    project?: IdOrKey$1;
    /** The ID of the sprint that is available under the `sprint` variable when evaluating the expression. */
    sprint?: number;
    /** The ID of the board that is available under the `board` variable when evaluating the expression. */
    board?: number;
    /** The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression. */
    serviceDesk?: number;
    /**
     * The ID of the customer request that is available under the `customerRequest` variable when evaluating the
     * expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will
     * have a different type.
     */
    customerRequest?: number;
    /**
     * Custom context variables and their types. These variable types are available for use in a custom context:
     *
     * `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     * specified as an Atlassian account ID. `issue`: An
     * [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID
     * or key. All the fields of the issue object are available in the Jira expression. `json`: A JSON object containing
     * custom content. `list`: A JSON list of `user`, `issue`, or `json` variable types.
     */
    custom?: (UserContextVariable | IssueContextVariable | JsonContextVariable)[];
}

interface JiraExpressionEvaluationMetaData$1 {
    complexity?: JiraExpressionsComplexity$1;
    issues?: IssuesMeta$1;
}

interface JiraExpressionEvalUsingEnhancedSearchRequest$1 {
    /** The Jira expression to evaluate. */
    expression: string;
    /** The context in which the Jira expression is evaluated. */
    context?: JiraExpressionEvaluateContext$1;
}

/** Details of Jira expressions for analysis. */
interface JiraExpressionForAnalysis$1 {
    /**
     * Context variables and their types. The type checker assumes that [common context
     * variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables), such as
     * `issue` or `project`, are available in context and sets their type. Use this property to override the default types
     * or provide details of new variables.
     */
    contextVariables?: unknown;
    /** The list of Jira expressions to analyse. */
    expressions: string[];
}

/** The result of evaluating a Jira expression. */
interface JiraExpressionResult$1 {
    meta?: JiraExpressionEvaluationMetaData$1;
    /**
     * The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some
     * expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if
     * that's the case a simple string representation is returned. These string representations should not be relied upon
     * and may change without notice.)
     */
    value: any;
}

/** Details about the analysed Jira expression. */
interface JiraExpressionsAnalysis$1 {
    /** The results of Jira expressions analysis. */
    results: JiraExpressionAnalysis$1[];
}

/** Project ID details. */
interface ProjectId$1 {
    /** The ID of the project. */
    id: string;
}

/** Projects and issue types where the status is used. Only available if the `usages` expand is requested. */
interface ProjectIssueTypes$1 {
    /** IDs of the issue types */
    issueTypes?: string[];
    project?: ProjectId$1;
}

/** The scope of the status. */
interface StatusScope$1 {
    project?: ProjectId$1;
    /** The scope of the status. `GLOBAL` for company-managed projects and `PROJECT` for team-managed projects. */
    type: string;
}

/** Details of a status. */
interface JiraStatus$1 {
    /** The description of the status. */
    description?: string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name?: string;
    scope?: StatusScope$1;
    /** The category of the status. */
    statusCategory?: string;
    /** Projects and issue types where the status is used. Only available if the `usages` expand is requested. */
    usages?: ProjectIssueTypes$1[];
}

/** The starting point for the statuses in the workflow. */
interface WorkflowLayout$1 {
    /** The x axis location. */
    x?: number;
    /** The y axis location. */
    y?: number;
}

/** The x and y location of the status in the workflow. */
interface WorkflowStatusLayout$1 {
    /** The x axis location. */
    x?: number;
    /** The y axis location. */
    y?: number;
}

/** The statuses referenced in the workflow. */
interface WorkflowReferenceStatus$1 {
    /** Indicates if the status is deprecated. */
    deprecated?: boolean;
    layout?: WorkflowStatusLayout$1;
    /** The properties associated with the status. */
    properties?: unknown;
    /** The reference of the status. */
    statusReference?: string;
}

/** The scope of the workflow. */
interface WorkflowScope$1 {
    project?: ProjectId$1;
    /** The scope of the workflow. `GLOBAL` for company-managed projects and `PROJECT` for team-managed projects. */
    type: string;
}

/** The status reference and port that a transition is connected to. */
interface WorkflowStatusAndPort$1 {
    /** The port the transition is connected to this status. */
    port?: number;
    /** The reference of this status. */
    statusReference?: string;
}

/** The trigger configuration associated with a workflow. */
interface WorkflowTrigger$1 {
    /** The ID of the trigger. */
    id?: string;
    /** The parameters of the trigger. */
    parameters: unknown;
    /** The rule key of the trigger. */
    ruleKey: string;
}

/** The transitions of the workflow. */
interface WorkflowTransitions$1 {
    /** The post-functions of the transition. */
    actions?: WorkflowRuleConfiguration$1[];
    conditions?: ConditionGroupConfiguration$1;
    /** The custom event ID of the transition. */
    customIssueEventId?: string;
    /** The description of the transition. */
    description?: string;
    /** The statuses the transition can start from. */
    from?: WorkflowStatusAndPort$1[];
    /** The ID of the transition. */
    id?: string;
    /** The name of the transition. */
    name?: string;
    /** The properties of the transition. */
    properties?: unknown;
    to?: WorkflowStatusAndPort$1;
    transitionScreen?: WorkflowRuleConfiguration$1;
    /** The triggers of the transition. */
    triggers?: WorkflowTrigger$1[];
    /** The transition type. */
    type?: string;
    /** The validators of the transition. */
    validators?: WorkflowRuleConfiguration$1[];
}

/** Details of a workflow. */
interface JiraWorkflow$1 {
    /** The description of the workflow. */
    description?: string;
    /** The ID of the workflow. */
    id?: string;
    /** Indicates if the workflow can be edited. */
    isEditable?: boolean;
    /** The name of the workflow. */
    name?: string;
    scope?: WorkflowScope$1;
    startPointLayout?: WorkflowLayout$1;
    /** The statuses referenced in this workflow. */
    statuses?: WorkflowReferenceStatus$1[];
    /** If there is a current [asynchronous task](#async-operations) operation for this workflow. */
    taskId?: string;
    /** The transitions of the workflow. */
    transitions?: WorkflowTransitions$1[];
    /**
     * Use the optional `workflows.usages` expand to get additional information about the projects and issue types
     * associated with the requested workflows.
     */
    usages?: ProjectIssueTypes$1[];
    version?: DocumentVersion$1;
}

/** Details of a status. */
interface JiraWorkflowStatus$1 {
    /** The description of the status. */
    description?: string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name?: string;
    scope?: WorkflowScope$1;
    /** The category of the status. */
    statusCategory?: string;
    /** The reference of the status. */
    statusReference?: string;
    /**
     * The `statuses.usages` expand is an optional parameter that can be used when reading and updating statuses in Jira.
     * It provides additional information about the projects and issue types associated with the requested statuses.
     */
    usages?: ProjectIssueTypes$1[];
}

interface JQLCount$1 {
    /** Number of issues matching JQL query. */
    count?: number;
}

interface JQLCountRequest$1 {
    /**
     * A [JQL](https://confluence.atlassian.com/x/egORLQ) expression. For performance reasons, this parameter requires a
     * bounded query. A bounded query is a query with a search restriction.
     */
    jql?: string;
}

/** Jql function precomputation. */
interface JqlFunctionPrecomputation$1 {
    arguments?: string[];
    created?: string;
    field?: string;
    functionKey?: string;
    functionName?: string;
    id?: string;
    operator?: string;
    updated?: string;
    used?: string;
    value?: string;
}

/** Request to fetch precomputations by ID. */
interface JqlFunctionPrecomputationGetByIdRequest$1 {
    precomputationIDs?: string[];
}

/** Get precomputations by ID response. */
interface JqlFunctionPrecomputationGetByIdResponse$1 {
    /** List of precomputations that were not found. */
    notFoundPrecomputationIDs?: string[];
    /** The list of precomputations. */
    precomputations?: JqlFunctionPrecomputation$1[];
}

/** Precomputation id and its new value. */
interface JqlFunctionPrecomputationUpdate$1 {
    id: number;
    value: string;
}

/** List of pairs (id and value) for precomputation updates. */
interface JqlFunctionPrecomputationUpdateRequest$1 {
    values: JqlFunctionPrecomputationUpdate$1[];
}

/** The JQL queries to be converted. */
interface JQLPersonalDataMigrationRequest$1 {
    /** A list of queries with user identifiers. Maximum of 100 queries. */
    queryStrings?: string[];
}

/** A list of JQL queries to parse. */
interface JqlQueriesToParse$1 {
    /** A list of queries to parse. */
    queries: string[];
}

/**
 * The JQL query to sanitize for the account ID. If the account ID is null, sanitizing is performed for an anonymous
 * user.
 */
interface JqlQueryToSanitize$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The query to sanitize. */
    query: string;
}

/** The list of JQL queries to sanitize for the given account IDs. */
interface JqlQueriesToSanitize$1 {
    /** The list of JQL queries to sanitize. Must contain unique values. Maximum of 20 queries. */
    queries: JqlQueryToSanitize$1[];
}

/** A JQL query clause. */
interface JqlQueryClause$1 {
}

/** Details of an entity property. */
interface JqlQueryFieldEntityProperty$1 {
    /** The object on which the property is set. */
    entity: string;
    /** The key of the property. */
    key: string;
    /** The path in the property value to query. */
    path: string;
    /**
     * The type of the property value extraction. Not available if the extraction for the property is not registered on
     * the instance with the [Entity
     * property](https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/) module.
     */
    type?: string;
}

/**
 * A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ)
 * for more information about fields in JQL queries.
 */
interface JqlQueryField$1 {
    /** The encoded name of the field, which can be used directly in a JQL query. */
    encodedName?: string;
    /** The name of the field. */
    name: string;
    /** When the field refers to a value in an entity property, details of the entity property value. */
    property?: JqlQueryFieldEntityProperty$1[];
}

/** An element of the order-by JQL clause. */
interface JqlQueryOrderByClauseElement$1 {
    /** The direction in which to order the results. */
    direction?: string;
    field: JqlQueryField$1;
}

/** Details of the order-by JQL clause. */
interface JqlQueryOrderByClause$1 {
    /** The list of order-by clause fields and their ordering directives. */
    fields: JqlQueryOrderByClauseElement$1[];
}

/** A parsed JQL query. */
interface JqlQuery$1 {
    orderBy?: JqlQueryOrderByClause$1;
    where?: JqlQueryClause$1;
}

/** Lists of JQL reference data. */
interface JQLReferenceData$1 {
    /** List of JQL query reserved words. */
    jqlReservedWords?: string[];
    /** List of fields usable in JQL queries. */
    visibleFieldNames?: FieldReferenceData$1[];
    /** List of functions usable in JQL queries. */
    visibleFunctionNames?: FunctionReferenceData$1[];
}

interface JsonNode$1 {
    array?: boolean;
    bigDecimal?: boolean;
    bigInteger?: boolean;
    bigIntegerValue?: number;
    binary?: boolean;
    binaryValue?: string[];
    boolean?: boolean;
    booleanValue?: boolean;
    containerNode?: boolean;
    decimalValue?: number;
    double?: boolean;
    doubleValue?: number;
    elements?: unknown;
    fieldNames?: unknown;
    fields?: unknown;
    floatingPointNumber?: boolean;
    int?: boolean;
    intValue?: number;
    integralNumber?: boolean;
    long?: boolean;
    longValue?: number;
    missingNode?: boolean;
    null?: boolean;
    number?: boolean;
    numberType?: 'INT' | 'LONG' | 'BIG_INTEGER' | 'FLOAT' | 'DOUBLE' | 'BIG_DECIMAL' | string;
    numberValue?: number;
    object?: boolean;
    pojo?: boolean;
    textValue?: string;
    textual?: boolean;
    valueAsBoolean?: boolean;
    valueAsDouble?: number;
    valueAsInt?: number;
    valueAsLong?: number;
    valueAsText?: string;
    valueNode?: boolean;
}

/** Details about a licensed Jira application. */
interface LicensedApplication$1 {
    /** The ID of the application. */
    id: string;
    /** The licensing plan. */
    plan: string;
}

/** Details about a license for the Jira instance. */
interface License$1 {
    /** The applications under this license. */
    applications: LicensedApplication$1[];
}

/** A license metric */
interface LicenseMetric$1 {
    /** The key of the license metric. */
    key: string;
    /** The value for the license metric. */
    value: string;
}

interface LinkIssueRequestJson$1 {
    comment?: Comment$2;
    inwardIssue: LinkedIssue$1;
    outwardIssue: LinkedIssue$1;
    type: IssueLinkType$1;
}

/** Details of a locale. */
interface Locale$1 {
    /**
     * The locale code. The Java the locale format is used: a two character language code (ISO 639), an underscore, and
     * two letter country code (ISO 3166). For example, en_US represents a locale of English (United States). Required on
     * create.
     */
    locale?: string;
}

/** The list of status mappings. */
interface WorkflowAssociationStatusMapping$1 {
    /** The ID of the status in the new workflow. */
    newStatusId: string;
    /** The ID of the status in the old workflow that isn't present in the new workflow. */
    oldStatusId: string;
}

/**
 * Overrides, for the selected issue types, any status mappings provided in `statusMappingsByWorkflows`. Status mappings
 * are required when the new workflow for an issue type doesn't contain all statuses that the old workflow has. Status
 * mappings can be provided by a combination of `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`.
 */
interface MappingsByIssueTypeOverride$1 {
    /** The ID of the issue type for this mapping. */
    issueTypeId: string;
    /** The list of status mappings. */
    statusMappings: WorkflowAssociationStatusMapping$1[];
}

/**
 * The status mappings by workflows. Status mappings are required when the new workflow for an issue type doesn't
 * contain all statuses that the old workflow has. Status mappings can be provided by a combination of
 * `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`.
 */
interface MappingsByWorkflow$1 {
    /** The ID of the new workflow. */
    newWorkflowId: string;
    /** The ID of the old workflow. */
    oldWorkflowId: string;
    /** The list of status mappings. */
    statusMappings: WorkflowAssociationStatusMapping$1[];
}

interface MoveField$1 {
    /**
     * The ID of the screen tab field after which to place the moved screen tab field. Required if `position` isn't
     * provided.
     */
    after?: string;
    /** The named position to which the screen tab field should be moved. Required if `after` isn't provided. */
    position?: string;
}

/**
 * A list of issues and their respective properties to set or update. See [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
 */
interface MultiIssueEntityProperties$1 {
    /** A list of issue IDs and their respective properties. */
    issues?: IssueEntityPropertiesForMultiUpdate$1[];
}

/** A custom field and its new value with a list of issue to update. */
interface MultipleCustomFieldValuesUpdate$1 {
    /** The ID or key of the custom field. For example, `customfield_10010`. */
    customField: string;
    /** The list of issue IDs. */
    issueIds: number[];
    /**
     * The value for the custom field. The value must be compatible with the [custom field
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#data-types) as
     * follows:
     *
     * `string` the value must be a string. `number` the value must be a number. `datetime` the value must be a string
     * that represents a date in the ISO format or the simplified extended ISO format. For example,
     * `"2023-01-18T12:00:00-03:00"` or `"2023-01-18T12:00:00.000Z"`. However, the milliseconds part is ignored. `user`
     * the value must be an object that contains the `accountId` field. `group` the value must be an object that contains
     * the group `name` or `groupId` field. Because group names can change, we recommend using `groupId`.
     *
     * A list of appropriate values must be provided if the field is of the `list` [collection
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#collection-types).
     */
    value: unknown;
}

/** List of updates for a custom fields. */
interface MultipleCustomFieldValuesUpdateDetails$1 {
    updates?: MultipleCustomFieldValuesUpdate$1[];
}

/** The user details. */
interface NewUserDetails$1 {
    /** The email address for the user. */
    emailAddress: string;
    /**
     * This property is no longer available. See the [migration
     * guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /**
     * This property is no longer available. See the [migration
     * guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /**
     * This property is no longer available. If the user has an Atlassian account, their password is not changed. If the
     * user does not have an Atlassian account, they are sent an email asking them set up an account.
     */
    password?: string;
    /**
     * Products the new user has access to. Valid products are: jira-core, jira-servicedesk, jira-product-discovery,
     * jira-software. If left empty, the user will get default product access. To create a user without product access,
     * set this field to be an empty array.
     */
    products?: 'jira-core' | 'jira-servicedesk' | 'jira-product-discovery' | 'jira-software' | '' | string | string[];
    /** The URL of the user. */
    self?: string;
}

/** Details of the users and groups to receive the notification. */
interface NotificationRecipients$1 {
    /** Whether the notification should be sent to the issue's assignees. */
    assignee?: boolean;
    /** List of groupIds to receive the notification. */
    groupIds?: string[];
    /** List of groups to receive the notification. */
    groups?: GroupName$1[];
    /** Whether the notification should be sent to the issue's reporter. */
    reporter?: boolean;
    /** List of users to receive the notification. */
    users?: UserDetails$2[];
    /** Whether the notification should be sent to the issue's voters. */
    voters?: boolean;
    /** Whether the notification should be sent to the issue's watchers. */
    watchers?: boolean;
}

/** Details of the permission. */
interface RestrictedPermission$1 {
    /**
     * The ID of the permission. Either `id` or `key` must be specified. Use [Get all
     * permissions](#api-rest-api-2-permissions-get) to get the list of permissions.
     */
    id?: string;
    /**
     * The key of the permission. Either `id` or `key` must be specified. Use [Get all
     * permissions](#api-rest-api-2-permissions-get) to get the list of permissions.
     */
    key?: string;
}

/** Details of the group membership or permissions needed to receive the notification. */
interface NotificationRecipientsRestrictions$1 {
    /** List of groupId memberships required to receive the notification. */
    groupIds?: string[];
    /** List of group memberships required to receive the notification. */
    groups?: GroupName$1[];
    /** List of permissions required to receive the notification. */
    permissions?: RestrictedPermission$1[];
}

/** Details about a notification. */
interface Notification$1 {
    /** The HTML body of the email notification for the issue. */
    htmlBody?: string;
    restrict?: NotificationRecipientsRestrictions$1;
    /**
     * The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue
     * key and summary.
     */
    subject?: string;
    /** The plain text body of the email notification for the issue. */
    textBody?: string;
    to?: NotificationRecipients$1;
}

/** Details about a notification event. */
interface NotificationEvent$1 {
    /** The description of the event. */
    description?: string;
    /**
     * The ID of the event. The event can be a [Jira system
     * event](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or a [custom
     * event](https://confluence.atlassian.com/x/AIlKLg).
     */
    id?: number;
    /** The name of the event. */
    name?: string;
    templateEvent?: NotificationEvent$1;
}

/** Details about a notification scheme event. */
interface NotificationSchemeEvent$1 {
    event?: NotificationEvent$1;
    notifications?: EventNotification$1[];
}

/** Details about a notification scheme. */
interface NotificationScheme$1 {
    /** The description of the notification scheme. */
    description?: string;
    /** Expand options that include additional notification scheme details in the response. */
    expand?: string;
    /** The ID of the notification scheme. */
    id?: number;
    /** The name of the notification scheme. */
    name?: string;
    /** The notification events and associated recipients. */
    notificationSchemeEvents?: NotificationSchemeEvent$1[];
    /** The list of project IDs associated with the notification scheme. */
    projects?: number[];
    scope?: Scope$2;
    self?: string;
}

interface NotificationSchemeAndProjectMapping$1 {
    notificationSchemeId?: string;
    projectId?: string;
}

/** A page of items. */
interface NotificationSchemeAndProjectMappingPage$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: NotificationSchemeAndProjectMapping$1[];
}

/** The ID of a notification scheme. */
interface NotificationSchemeId$1 {
    /** The ID of a notification scheme. */
    id: string;
}

interface OldToNewSecurityLevelMappings$1 {
    /** The new issue security level ID. Providing null will clear the assigned old level from issues. */
    newLevelId: string;
    /** The old issue security level ID. Providing null will remap all issues without any assigned levels. */
    oldLevelId: string;
}

interface OperationMessage$1 {
    /** The human-readable message that describes the result. */
    message: string;
    /** The status code of the response. */
    statusCode: number;
}

/** An ordered list of custom field option IDs and information on where to move them. */
interface OrderOfCustomFieldOptions$1 {
    /**
     * The ID of the custom field option or cascading option to place the moved options after. Required if `position`
     * isn't provided.
     */
    after?: string;
    /**
     * A list of IDs of custom field options to move. The order of the custom field option IDs in the list is the order
     * they are given after the move. The list must contain custom field options or cascading options, but not both.
     */
    customFieldOptionIds: string[];
    /** The position the custom field options should be moved to. Required if `after` isn't provided. */
    position?: string;
}

/** An ordered list of issue type IDs and information about where to move them. */
interface OrderOfIssueTypes$1 {
    /** The ID of the issue type to place the moved issue types after. Required if `position` isn't provided. */
    after?: string;
    /**
     * A list of the issue type IDs to move. The order of the issue type IDs in the list is the order they are given after
     * the move.
     */
    issueTypeIds: string[];
    /** The position the issue types should be moved to. Required if `after` isn't provided. */
    position?: string;
}

/** A page of items. */
interface PageBulkContextualConfiguration$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: BulkContextualConfiguration$1[];
}

/** A page of items. */
interface PageChangelog$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: Changelog$1[];
}

/** A page of items. */
interface PageComment$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: Comment$2[];
}

/** A page of items. */
interface PageComponentWithIssueCount$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: ComponentWithIssueCount$1[];
}

/** A page of items. */
interface PageContextForProjectAndIssueType$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: ContextForProjectAndIssueType$1[];
}

/** A page of items. */
interface PageContextualConfiguration$1 {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: ContextualConfiguration$1[];
}

/** A page of items. */
interface PageCustomFieldContext$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: CustomFieldContext$1[];
}

/** A page of items. */
interface PageCustomFieldContextDefaultValue$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: CustomFieldContextDefaultValue$1[];
}

/** A page of items. */
interface PageCustomFieldContextOption$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: CustomFieldContextOption$1[];
}

/** A page of items. */
interface PageCustomFieldContextProjectMapping$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: CustomFieldContextProjectMapping$1[];
}

/** A page of items. */
interface PageDashboard$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: Dashboard$1[];
}

/** A page of items. */
interface PageField$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: Field$1[];
}

/** A page of items. */
interface PageFieldConfiguration {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: FieldConfiguration$1[];
}

/** A page of items. */
interface PageFieldConfigurationIssueTypeItem$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: FieldConfigurationIssueTypeItem$1[];
}

/** A page of items. */
interface PageFieldConfigurationItem$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: FieldConfigurationItem$1[];
}

/** A page of items. */
interface PageFieldConfigurationScheme$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: FieldConfigurationScheme$1[];
}

/** A page of items. */
interface PageFieldConfigurationSchemeProjects$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: FieldConfigurationSchemeProjects$1[];
}

/** A page of items. */
interface PageFilterDetails$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: FilterDetails$1[];
}

/** A page of items. */
interface PageGroupDetails$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: GroupDetails$1[];
}

/** A page of items. */
interface PageIssueFieldOption$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueFieldOption$1[];
}

/** A page of items. */
interface PageIssueSecurityLevelMember$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueSecurityLevelMember$1[];
}

/** A page of items. */
interface PageIssueSecuritySchemeToProjectMapping$1 {
    /** Whether this is the last page. */
    isLast: boolean;
    /** The maximum number of items that could be returned. */
    maxResults: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self: string;
    /** The index of the first item returned. */
    startAt: number;
    /** The number of items returned. */
    total: number;
    /** The list of items. */
    values: IssueSecuritySchemeToProjectMapping$1[];
}

/** A page of items. */
interface PageIssueTypeScheme$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueTypeScheme$1[];
}

/** A page of items. */
interface PageIssueTypeSchemeMapping$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueTypeSchemeMapping$1[];
}

/** A page of items. */
interface PageIssueTypeSchemeProjects$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueTypeSchemeProjects$1[];
}

/** A page of items. */
interface PageIssueTypeScreenScheme$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueTypeScreenScheme$1[];
}

/** A page of items. */
interface PageIssueTypeScreenSchemeItem$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueTypeScreenSchemeItem$1[];
}

/** A page of items. */
interface PageIssueTypeScreenSchemesProjects$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueTypeScreenSchemesProjects$1[];
}

/** A page of items. */
interface PageIssueTypeToContextMapping$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueTypeToContextMapping$1[];
}

/** A page of items. */
interface PageJqlFunctionPrecomputation$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: JqlFunctionPrecomputation$1[];
}

/** A page of items. */
interface PageNotificationScheme$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: NotificationScheme$1[];
}

/** A page of comments. */
interface PageOfComments$1 {
    /** The list of comments. */
    comments?: Comment$2[];
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
}

/** A page of CreateMetaIssueTypes. */
interface PageOfCreateMetaIssueTypes$1 {
    createMetaIssueType?: IssueTypeIssueCreateMetadata$1[];
    /** The list of CreateMetaIssueType. */
    issueTypes?: IssueTypeIssueCreateMetadata$1[];
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The total number of items in all pages. */
    total?: number;
}

/** A page of CreateMetaIssueType with Field. */
interface PageOfCreateMetaIssueTypeWithField$1 {
    /** The collection of FieldCreateMetaBeans. */
    fields?: FieldCreateMetadata$1[];
    /** The maximum number of items to return per page. */
    maxResults?: number;
    results?: FieldCreateMetadata$1[];
    /** The index of the first item returned. */
    startAt?: number;
    /** The total number of items in all pages. */
    total?: number;
}

/** A page containing dashboard details. */
interface PageOfDashboards$1 {
    /** List of dashboards. */
    dashboards?: Dashboard$1[];
    /** The maximum number of results that could be on the page. */
    maxResults?: number;
    /** The URL of the next page of results, if any. */
    next?: string;
    /** The URL of the previous page of results, if any. */
    prev?: string;
    /** The index of the first item returned on the page. */
    startAt?: number;
    /** The number of results on the page. */
    total?: number;
}

interface PageOfStatuses$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The URL of the next page of results, if any. */
    nextPage?: string;
    /** The URL of this page. */
    self?: string;
    /** The index of the first item returned on the page. */
    startAt?: number;
    /** Number of items that satisfy the search. */
    total?: number;
    /** The list of items. */
    values?: JiraStatus$1[];
}

/** Paginated list of worklog details */
interface PageOfWorklogs$1 {
    /** The maximum number of results that could be on the page. */
    maxResults: number;
    /** The index of the first item returned on the page. */
    startAt: number;
    /** The number of results on the page. */
    total: number;
    /** List of worklogs. */
    worklogs: Worklog$1[];
}

/** A page of items. */
interface PagePriority$1 {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Priority$1[];
}

/** A page of items. */
interface PageProject$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values: Project$2[];
}

/** A page of items. */
interface PageProjectDetails$1 {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: ProjectDetails$1[];
}

/** A page of items. */
interface PageResolution$1 {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Resolution$1[];
}

/** A screen. */
interface Screen$1 {
    /** The description of the screen. */
    description?: string;
    /** The ID of the screen. */
    id?: number;
    /** The name of the screen. */
    name?: string;
    scope?: Scope$2;
}

/** A page of items. */
interface PageScreen$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: Screen$1[];
}

/** The IDs of the screens for the screen types of the screen scheme. */
interface ScreenTypes$1 {
    /** The ID of the create screen. */
    create?: number;
    /** The ID of the default screen. Required when creating a screen scheme. */
    default?: number;
    /** The ID of the edit screen. */
    edit?: number;
    /** The ID of the view screen. */
    view?: number;
}

/** A screen scheme. */
interface ScreenScheme$1 {
    /** The description of the screen scheme. */
    description?: string;
    /** The ID of the screen scheme. */
    id?: number;
    issueTypeScreenSchemes?: PageIssueTypeScreenScheme$1;
    /** The name of the screen scheme. */
    name?: string;
    screens?: ScreenTypes$1;
}

/** A page of items. */
interface PageScreenScheme$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: ScreenScheme$1[];
}

/** A screen tab. */
interface ScreenableTab$1 {
    /** The ID of the screen tab. */
    id?: number;
    /** The name of the screen tab. The maximum length is 255 characters. */
    name: string;
}

/** A screen with tab details. */
interface ScreenWithTab$1 {
    /** The description of the screen. */
    description?: string;
    /** The ID of the screen. */
    id?: number;
    /** The name of the screen. */
    name?: string;
    scope?: Scope$2;
    tab?: ScreenableTab$1;
}

/** A page of items. */
interface PageScreenWithTab$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: ScreenWithTab$1[];
}

/** Details of an issue level security item. */
interface SecurityLevel$1 {
    /** The description of the issue level security item. */
    description?: string;
    /** The ID of the issue level security item. */
    id?: string;
    /** Whether the issue level security item is the default. */
    isDefault?: boolean;
    /** The ID of the issue level security scheme. */
    issueSecuritySchemeId?: string;
    /** The name of the issue level security item. */
    name?: string;
    /** The URL of the issue level security item. */
    self?: string;
}

/** A page of items. */
interface PageSecurityLevel$1 {
    /** Whether this is the last page. */
    isLast: boolean;
    /** The maximum number of items that could be returned. */
    maxResults: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self: string;
    /** The index of the first item returned. */
    startAt: number;
    /** The number of items returned. */
    total: number;
    /** The list of items. */
    values: SecurityLevel$1[];
}

/** Issue security level member. */
interface SecurityLevelMember$1 {
    holder?: PermissionHolder$1;
    /** The ID of the issue security level member. */
    id: string;
    /** The ID of the issue security level. */
    issueSecurityLevelId: string;
    /** The ID of the issue security scheme. */
    issueSecuritySchemeId: string;
}

/** A page of items. */
interface PageSecurityLevelMember$1 {
    /** Whether this is the last page. */
    isLast: boolean;
    /** The maximum number of items that could be returned. */
    maxResults: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self: string;
    /** The index of the first item returned. */
    startAt: number;
    /** The number of items returned. */
    total: number;
    /** The list of items. */
    values: SecurityLevelMember$1[];
}

/** Details about an issue security scheme. */
interface SecuritySchemeWithProjects$1 {
    /** The default level ID of the issue security scheme. */
    defaultLevel?: number;
    /** The description of the issue security scheme. */
    description?: string;
    /** The ID of the issue security scheme. */
    id: number;
    /** The name of the issue security scheme. */
    name: string;
    /** The list of project IDs associated with the issue security scheme. */
    projectIds?: number[];
    /** The URL of the issue security scheme. */
    self: string;
}

/** A page of items. */
interface PageSecuritySchemeWithProjects$1 {
    /** Whether this is the last page. */
    isLast: boolean;
    /** The maximum number of items that could be returned. */
    maxResults: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self: string;
    /** The index of the first item returned. */
    startAt: number;
    /** The number of items returned. */
    total: number;
    /** The list of items. */
    values: SecuritySchemeWithProjects$1[];
}

/** A page of items. */
interface PageString$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: string[];
}

/** The details of a UI modification. */
interface UiModificationDetails$1 {
    /** List of contexts of the UI modification. The maximum number of contexts is 1000. */
    contexts?: UiModificationContextDetails$1[];
    /** The data of the UI modification. The maximum size of the data is 50000 characters. */
    data?: string;
    /** The description of the UI modification. The maximum length is 255 characters. */
    description?: string;
    /** The ID of the UI modification. */
    id: string;
    /** The name of the UI modification. The maximum length is 255 characters. */
    name: string;
    /** The URL of the UI modification. */
    self: string;
}

/** A page of items. */
interface PageUiModificationDetails$1 {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: UiModificationDetails$1[];
}

/** A page of items. */
interface PageUser$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: User$3[];
}

/** A page of items. */
interface PageUserDetails$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: UserDetails$2[];
}

/** List of user account IDs. */
interface UserKey$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Returns _unknown_ if the record is deleted and corrupted, for example, as the result of
     * a server import.
     */
    accountId?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
}

/** A page of items. */
interface PageUserKey$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: UserKey$1[];
}

/** A page of items. */
interface PageVersion$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: Version$2[];
}

/** A webhook. */
interface Webhook$1 {
    /** The Jira events that trigger the webhook. */
    events: string[];
    /**
     * The date after which the webhook is no longer sent. Use [Extend webhook
     * life](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-webhooks/#api-rest-api-2-webhook-refresh-put)
     * to extend the date.
     */
    expirationDate?: number;
    /**
     * A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent.
     * If this parameter is not present, the app is notified about all field updates.
     */
    fieldIdsFilter?: string[];
    /** The ID of the webhook. */
    id: number;
    /**
     * A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or
     * `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property
     * updates.
     */
    issuePropertyKeysFilter?: string[];
    /** The JQL filter that specifies which issues the webhook is sent for. */
    jqlFilter: string;
}

/** A page of items. */
interface PageWebhook$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: Webhook$1[];
}

interface PageWithCursorGetPlanResponseForPage$1 {
    cursor?: string;
    last?: boolean;
    nextPageCursor?: string;
    size?: number;
    total?: number;
    values?: GetPlanResponseForPage$1[];
}

interface PageWithCursorGetTeamResponseForPage$1 {
    cursor?: string;
    last?: boolean;
    nextPageCursor?: string;
    size?: number;
    total?: number;
    values?: GetTeamResponseForPage$1[];
}

/** Properties that identify a published workflow. */
interface PublishedWorkflowId$1 {
    /** The entity ID of the workflow. */
    entityId?: string;
    /** The name of the workflow. */
    name: string;
}

/** The details of a transition screen. */
interface TransitionScreenDetails {
    /** The ID of the screen. */
    id: string;
    /** The name of the screen. */
    name?: string;
}

/** The workflow transition rule conditions tree. */
interface WorkflowCondition$1 {
}

/** A workflow transition rule. */
interface WorkflowTransitionRule$1 {
    /** EXPERIMENTAL. The configuration of the transition rule. */
    configuration?: any;
    /** The type of the transition rule. */
    type: string;
}

/** A collection of transition rules. */
interface WorkflowRules$1 {
    conditionsTree?: WorkflowCondition$1;
    /** The workflow post functions. */
    postFunctions?: WorkflowTransitionRule$1[];
    /** The workflow validators. */
    validators?: WorkflowTransitionRule$1[];
}

/** Details of a workflow transition. */
interface Transition$1 {
    /** The description of the transition. */
    description: string;
    /** The statuses the transition can start from. */
    from: string[];
    /** The ID of the transition. */
    id: string;
    /** The name of the transition. */
    name: string;
    /** The properties of the transition. */
    properties?: unknown;
    rules?: WorkflowRules$1;
    screen?: TransitionScreenDetails;
    /** The status the transition goes to. */
    to: string;
    /** The type of the transition. */
    type: string;
}

/** Operations allowed on a workflow */
interface WorkflowOperations$1 {
    /** Whether the workflow can be deleted. */
    canDelete: boolean;
    /** Whether the workflow can be updated. */
    canEdit: boolean;
}

/** The ID and the name of the workflow scheme. */
interface WorkflowSchemeIdName$1 {
    /** The ID of the workflow scheme. */
    id: string;
    /** The name of the workflow scheme. */
    name: string;
}

/** Properties of a workflow status. */
interface WorkflowStatusProperties$1 {
    /** Whether issues are editable in this status. */
    issueEditable: boolean;
}

/** Details of a workflow status. */
interface WorkflowStatus$1 {
    /** The ID of the issue status. */
    id: string;
    /** The name of the status in the workflow. */
    name: string;
    /**
     * Additional properties that modify the behavior of issues in this status. Supports the properties
     * `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable.
     */
    properties?: WorkflowStatusProperties$1;
}

/** Details about a workflow. */
interface Workflow$1 {
    /** The creation date of the workflow. */
    created?: string;
    /** The description of the workflow. */
    description: string;
    /** Whether the workflow has a draft version. */
    hasDraftWorkflow?: boolean;
    id: PublishedWorkflowId$1;
    /** Whether this is the default workflow. */
    isDefault?: boolean;
    operations?: WorkflowOperations$1;
    /** The projects the workflow is assigned to, through workflow schemes. */
    projects?: ProjectDetails$1[];
    /** The workflow schemes the workflow is assigned to. */
    schemes?: WorkflowSchemeIdName$1[];
    /** The statuses of the workflow. */
    statuses?: WorkflowStatus$1[];
    /** The transitions of the workflow. */
    transitions?: Transition$1[];
    /** The last edited date of the workflow. */
    updated?: string;
}

/** A page of items. */
interface PageWorkflow$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: Workflow$1[];
}

/** A page of items. */
interface PageWorkflowScheme$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: WorkflowScheme$1[];
}

/** Properties that identify a workflow. */
interface WorkflowId$1 {
    /** Whether the workflow is in the draft state. */
    draft: boolean;
    /** The name of the workflow. */
    name: string;
}

/** A workflow with transition rules. */
interface WorkflowTransitionRules$3 {
    workflowId: WorkflowId$1;
    /** The list of post functions within the workflow. */
    postFunctions: ConnectWorkflowTransitionRule$1[];
    /** The list of conditions within the workflow. */
    conditions: ConnectWorkflowTransitionRule$1[];
    /** The list of validators within the workflow. */
    validators: ConnectWorkflowTransitionRule$1[];
}

/** A page of items. */
interface PageWorkflowTransitionRules$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: WorkflowTransitionRules$3[];
}

/** Details of a parsed JQL query. */
interface ParsedJqlQuery$1 {
    /** The list of syntax or validation errors. */
    errors?: string[];
    /** The JQL query that was parsed and validated. */
    query: string;
    structure?: JqlQuery$1;
}

/** A list of parsed JQL queries. */
interface ParsedJqlQueries$1 {
    /** A list of parsed JQL queries. */
    queries: ParsedJqlQuery$1[];
}

/** Details for permissions of shareable entities */
interface PermissionDetails$1 {
    /** The edit permissions for the shareable entities. */
    editPermissions: SharePermission$1[];
    /** The share permissions for the shareable entities. */
    sharePermissions: SharePermission$1[];
}

/** Details about a permission granted to a user or group. */
interface PermissionGrant$1 {
    holder?: PermissionHolder$1;
    /** The ID of the permission granted details. */
    id?: number;
    /**
     * The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an
     * app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in _Get all permission
     * schemes_ for more information about the built-in permissions. See the [project
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation
     * for more information about custom permissions.
     */
    permission?: string;
    /** The URL of the permission granted details. */
    self?: string;
}

/** List of permission grants. */
interface PermissionGrants$1 {
    /** Expand options that include additional permission grant details in the response. */
    expand?: string;
    /** Permission grants list. */
    permissions?: PermissionGrant$1[];
}

/** Details about permissions. */
interface Permissions$3 {
    /** List of permissions. */
    permissions?: unknown;
}

/** Details of a permission scheme. */
interface PermissionScheme$1 {
    /** A description for the permission scheme. */
    description?: string;
    /** The expand options available for the permission scheme. */
    expand?: string;
    /** The ID of the permission scheme. */
    id?: number;
    /** The name of the permission scheme. Must be unique. */
    name: string;
    /**
     * The permission scheme to create or update. See [About permission schemes and
     * grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information.
     */
    permissions?: PermissionGrant$1[];
    scope?: Scope$2;
    /** The URL of the permission scheme. */
    self?: string;
}

/** List of all permission schemes. */
interface PermissionSchemes$3 {
    /** Permission schemes list. */
    permissionSchemes?: PermissionScheme$1[];
}

interface PermissionsKeys$1 {
    /** A list of permission keys. */
    permissions: string[];
}

/** The identifiers for a project. */
interface ProjectIdentifier$1 {
    /** The ID of the project. */
    id?: number;
    /** The key of the project. */
    key?: string;
}

/** A list of projects in which a user is granted permissions. */
interface PermittedProjects$1 {
    /** A list of projects. */
    projects?: ProjectIdentifier$1[];
}

interface Plan$1 {
    /** The cross-project releases included in the plan. */
    crossProjectReleases?: GetCrossProjectReleaseResponse$1[];
    /** The custom fields for the plan. */
    customFields?: GetCustomFieldResponse$1[];
    exclusionRules?: GetExclusionRulesResponse$1;
    /** The plan ID. */
    id: number;
    /** The issue sources included in the plan. */
    issueSources?: GetIssueSourceResponse$1[];
    /** The date when the plan was last saved in UTC. */
    lastSaved?: string;
    /** The account ID of the plan lead. */
    leadAccountId?: string;
    /** The plan name. */
    name?: string;
    /** The permissions for the plan. */
    permissions?: GetPermissionResponse$1[];
    scheduling?: GetSchedulingResponse$1;
    /** The plan status. This is "Active", "Trashed" or "Archived". */
    status: 'Active' | 'Trashed' | 'Archived' | string;
}

/** The ID of an issue priority. */
interface PriorityId$1 {
    /** The ID of the issue priority. */
    id: string;
}

interface PrioritySchemeChangesWithoutMappings$1 {
    /** Affected entity ids. */
    ids: number[];
}

/** Details about a task. */
interface TaskProgressNode$1 {
    /** The description of the task. */
    description?: string;
    /** The execution time of the task, in milliseconds. */
    elapsedRuntime: number;
    /** A timestamp recording when the task was finished. */
    finished?: number;
    /** The ID of the task. */
    id: string;
    /** A timestamp recording when the task progress was last updated. */
    lastUpdate: number;
    /** Information about the progress of the task. */
    message?: string;
    /** The progress of the task, as a percentage complete. */
    progress: number;
    result?: JsonNode$1;
    /** The URL of the task. */
    self: string;
    /** A timestamp recording when the task was started. */
    started?: number;
    /** The status of the task. */
    status: 'ENQUEUED' | 'RUNNING' | 'COMPLETE' | 'FAILED' | 'CANCEL_REQUESTED' | 'CANCELLED' | 'DEAD' | string;
    /** A timestamp recording when the task was submitted. */
    submitted: number;
    /** The ID of the user who submitted the task. */
    submittedBy: number;
}

/** The ID of a priority scheme. */
interface PrioritySchemeId$1 {
    /** The ID of the priority scheme. */
    id?: string;
    task?: TaskProgressNode$1;
}

type Paginated<T> = {
    /** The maximum number of items that could be returned. */
    maxResults: number;
    /** The index of the first item returned. */
    startAt: number;
    /** The number of items returned. */
    total: number;
    /** Whether this is the last page. */
    isLast: boolean;
    /** The list of items. */
    values: T[];
};

/** An issue priority with sequence information. */
interface PriorityWithSequence$1 {
    /** The description of the issue priority. */
    description?: string;
    /** The URL of the icon for the issue priority. */
    iconUrl?: string;
    /** The ID of the issue priority. */
    id?: string;
    /** Whether this priority is the default. */
    isDefault?: boolean;
    /** The name of the issue priority. */
    name?: string;
    /** The URL of the issue priority. */
    self?: string;
    /** The sequence of the issue priority. */
    sequence?: string;
    /** The color used to indicate the issue priority. */
    statusColor?: string;
}

/** A priority scheme with paginated priorities and projects. */
interface PrioritySchemeWithPaginatedPrioritiesAndProjects$1 {
    default?: boolean;
    /** The ID of the default issue priority. */
    defaultPriorityId?: string;
    /** The description of the priority scheme */
    description?: string;
    /** The ID of the priority scheme. */
    id: string;
    isDefault?: boolean;
    /** The name of the priority scheme */
    name: string;
    priorities?: Paginated<PriorityWithSequence$1>;
    projects?: Paginated<ProjectDetails$1>;
    /** The URL of the priority scheme. */
    self?: string;
}

/** A project and issueType ID pair that identifies a status mapping. */
interface ProjectAndIssueTypePair$1 {
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The ID of the project. */
    projectId: string;
}

/** List of project avatars. */
interface ProjectAvatars$3 {
    /** List of avatars added to Jira. These avatars may be deleted. */
    custom?: Avatar$1[];
    /** List of avatars included with Jira. These avatars cannot be deleted. */
    system?: Avatar$1[];
}

/** Project Details */
interface CustomTemplatesProjectDetails$1 {
    /** The access level of the project. Only used by team-managed project */
    accessLevel?: 'open' | 'limited' | 'private' | 'free' | string;
    /** Additional properties of the project */
    additionalProperties?: {};
    /** The default assignee when creating issues in the project */
    assigneeType?: 'PROJECT_DEFAULT' | 'COMPONENT_LEAD' | 'PROJECT_LEAD' | 'UNASSIGNED' | string;
    /**
     * The ID of the project's avatar. Use the [Get project avatars](#api-rest-api-3-project-projectIdOrKey-avatar-get)
     * operation to list the available avatars in a project.
     */
    avatarId?: number;
    /**
     * The ID of the project's category. A complete list of category IDs is found using the [Get all project
     * categories](#api-rest-api-2-projectCategory-get) operation.
     */
    categoryId?: number;
    /** Brief description of the project */
    description?: string;
    /** Whether components are enabled for the project. Only used by company-managed project */
    enableComponents?: boolean;
    /**
     * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric
     * characters. The maximum length is 10 characters.
     */
    key?: string;
    /** The default language for the project */
    language?: string;
    /**
     * The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be
     * provided with `lead`.
     */
    leadAccountId?: string;
    /** Name of the project */
    name?: string;
    /** A link to information about this project, such as project documentation */
    url?: string;
}

/** Card layout configuration. */
interface CardLayout$1 {
    /** Whether to show days in column */
    showDaysInColumn?: boolean;
}

/** Card layout settings of the board */
interface CardLayoutField$1 {
    fieldId?: string;
    id?: number;
    mode?: 'PLAN' | 'WORK' | string;
    position?: number;
}

/**
 * Every project-created entity has an ID that must be unique within the scope of the project creation. PCRI (Project
 * Create Resource Identifier) is a standard format for creating IDs and references to other project entities. PCRI
 * format is defined as follows: pcri:[entityType]:[type]:[entityId] entityType - the type of an entity, e.g. status,
 * role, workflow type - PCRI type, either `id` - The ID of an entity that already exists in the target site, or `ref` -
 * A unique reference to an entity that is being created entityId - entity identifier, if type is `id` - must be an
 * existing entity ID that exists in the Jira site, if `ref` - must be unique across all entities in the scope of this
 * project template creation
 */
interface ProjectCreateResourceIdentifier$1 {
    anID?: boolean;
    areference?: boolean;
    entityId?: string;
    entityType?: string;
    id?: string;
    type?: 'id' | 'ref' | string;
}

/** The payload for creating a board column */
interface BoardColumnPayload$1 {
    /** The maximum issue constraint for the column */
    maximumIssueConstraint?: number;
    /** The minimum issue constraint for the column */
    minimumIssueConstraint?: number;
    /** The name of the column */
    name?: string;
    /** The status IDs for the column */
    statusIds?: ProjectCreateResourceIdentifier$1[];
}

/** The payload for setting a board feature */
interface BoardFeaturePayload$1 {
    /** The key of the feature */
    featureKey?: 'ESTIMATION' | 'SPRINT' | string;
    /** Whether the feature should be turned on or off */
    state?: boolean;
}

/** The payload for defining quick filters */
interface QuickFilterPayload$1 {
    /** The description of the quick filter */
    description?: string;
    /** The jql query for the quick filter */
    jqlQuery?: string;
    /** The name of the quick filter */
    name?: string;
}

/** The payload for customising a swimlanes on a board */
interface SwimlanesPayload$1 {
    /** The custom swimlane definitions. */
    customSwimlanes?: 'none, custom, parentChild, assignee, assigneeUnassignedFirst, epic, project, issueparent, issuechildren, request_type' | string;
    /** The name of the custom swimlane to use for work items that don't match any other swimlanes. */
    defaultCustomSwimlaneName?: string;
    /** The swimlane strategy for the board. */
    swimlaneStrategy?: 'none' | 'custom' | 'parentChild' | 'assignee' | 'assigneeUnassignedFirst' | 'epic' | 'project' | 'issueparent' | 'issuechildren' | 'request_type' | string;
}

interface NonWorkingDay$1 {
    id?: number;
    iso8601Date?: string;
}

/** Working days configuration */
interface WorkingDaysConfig$1 {
    friday?: boolean;
    id?: number;
    monday?: boolean;
    nonWorkingDays?: NonWorkingDay$1[];
    saturday?: boolean;
    sunday?: boolean;
    thursday?: boolean;
    timezoneId?: string;
    tuesday?: boolean;
    wednesday?: boolean;
}

/** The payload for creating a board */
interface BoardPayload$1 {
    /**
     * Takes in a JQL string to create a new filter. If no value is provided, it'll default to a JQL filter for the
     * project creating
     */
    boardFilterJQL?: string;
    /** Card color settings of the board */
    cardColorStrategy?: 'ISSUE_TYPE' | 'REQUEST_TYPE' | 'ASSIGNEE' | 'PRIORITY' | 'NONE' | 'CUSTOM' | string;
    cardLayout?: CardLayout$1;
    /** Card layout settings of the board */
    cardLayouts?: CardLayoutField$1[];
    /** The columns of the board */
    columns?: BoardColumnPayload$1[];
    /** Feature settings for the board */
    features?: BoardFeaturePayload$1[];
    /** The name of the board */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
    /** The quick filters for the board. */
    quickFilters?: QuickFilterPayload$1[];
    /** Whether sprints are supported on the board */
    supportsSprint?: boolean;
    swimlanes?: SwimlanesPayload$1;
    workingDaysConfig?: WorkingDaysConfig$1;
}

interface BoardsPayload$1 {
    /** The boards to be associated with the project. */
    boards?: BoardPayload$1[];
}

/**
 * Defines the payload for the custom field definitions. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/#api-rest-api-3-field-post
 */
interface CustomFieldPayload$1 {
    /** The type of the custom field */
    cfType?: string;
    /** The description of the custom field */
    description?: string;
    /** The name of the custom field */
    name?: string;
    /**
     * The strategy to use when there is a conflict with an existing custom field. FAIL - Fail execution, this always
     * needs to be unique; USE - Use the existing entity and ignore new entity parameters
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier$1;
    /** The searcher key of the custom field */
    searcherKey?: string;
}

/**
 * Defines the payload for the field layout schemes. See "Field Configuration Scheme" -
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/#api-rest-api-3-fieldconfigurationscheme-post
 * https://support.atlassian.com/jira-cloud-administration/docs/configure-a-field-configuration-scheme/
 */
interface FieldLayoutSchemePayload$1 {
    defaultFieldLayout?: ProjectCreateResourceIdentifier$1;
    /** The description of the field layout scheme */
    description?: string;
    /**
     * There is a default configuration "fieldlayout" that is applied to all issue types using this scheme that don't have
     * an explicit mapping users can create (or re-use existing) configurations for other issue types and map them to this
     * scheme
     */
    explicitMappings?: {};
    /** The name of the field layout scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/**
 * Defines the payload for the field layout configuration. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/#api-rest-api-3-fieldconfiguration-post
 */
interface FieldLayoutConfiguration$1 {
    /** Whether to show the field */
    field?: boolean;
    pcri?: ProjectCreateResourceIdentifier$1;
    /** Whether the field is required */
    required?: boolean;
}

/**
 * Defines the payload for the field layouts. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/#api-group-issue-field-configurations"
 *
 * - Fieldlayout is what users would see as "Field Configuration" in Jira's UI -
 *   https://support.atlassian.com/jira-cloud-administration/docs/manage-issue-field-configurations/
 */
interface FieldLayoutPayload$1 {
    /**
     * The field layout configuration. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/#api-rest-api-3-fieldconfiguration-post
     */
    configuration?: FieldLayoutConfiguration$1[];
    /** The description of the field layout */
    description?: string;
    /** The name of the field layout */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/** Defines the payload to configure the issue layout item for a project. */
interface IssueLayoutItemPayload$1 {
    itemKey?: ProjectCreateResourceIdentifier$1;
    /** The item section type */
    sectionType?: 'content' | 'primaryContext' | 'secondaryContext' | string;
    /** The item type. Currently only support FIELD */
    type?: 'FIELD' | string;
}

/** Defines the payload to configure the issue layouts for a project. */
interface IssueLayoutPayload$1 {
    containerId?: ProjectCreateResourceIdentifier$1;
    /** The issue layout type */
    issueLayoutType?: 'ISSUE_VIEW' | 'ISSUE_CREATE' | 'REQUEST_FORM' | string;
    /** The configuration of items in the issue layout */
    items?: IssueLayoutItemPayload$1[];
    pcri?: ProjectCreateResourceIdentifier$1;
}

/**
 * Defines the payload for the issue type screen schemes. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-type-screen-schemes/#api-rest-api-3-issuetypescreenscheme-post
 */
interface IssueTypeScreenSchemePayload$1 {
    defaultScreenScheme?: ProjectCreateResourceIdentifier$1;
    /** The description of the issue type screen scheme */
    description?: string;
    /**
     * The IDs of the screen schemes for the issue type IDs and default. A default entry is required to create an issue
     * type screen scheme, it defines the mapping for all issue types without a screen scheme.
     */
    explicitMappings?: {};
    /** The name of the issue type screen scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/**
 * Defines the payload for the screen schemes. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-schemes/#api-rest-api-3-screenscheme-post
 */
interface ScreenSchemePayload$1 {
    defaultScreen?: ProjectCreateResourceIdentifier$1;
    /** The description of the screen scheme */
    description?: string;
    /** The name of the screen scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
    /**
     * Similar to the field layout scheme those mappings allow users to set different screens for different operations:
     * default - always there, applied to all operations that don't have an explicit mapping `create`, `view`, `edit` -
     * specific operations that are available and users can assign a different screen for each one of them
     * https://support.atlassian.com/jira-cloud-administration/docs/manage-screen-schemes/#Associating-a-screen-with-an-issue-operation
     */
    screens?: {};
}

/**
 * Defines the payload for the tabs of the screen. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-tab-fields/#api-rest-api-3-screens-screenid-tabs-tabid-fields-post
 */
interface TabPayload$1 {
    /**
     * The list of resource identifier of the field associated to the tab. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-tab-fields/#api-rest-api-3-screens-screenid-tabs-tabid-fields-post
     */
    fields?: ProjectCreateResourceIdentifier$1[];
    /** The name of the tab */
    name?: string;
}

/**
 * Defines the payload for the field screens. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screens/#api-rest-api-3-screens-post
 */
interface ScreenPayload$1 {
    /** The description of the screen */
    description?: string;
    /** The name of the screen */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
    /**
     * The tabs of the screen. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-tab-fields/#api-rest-api-3-screens-screenid-tabs-tabid-fields-post
     */
    tabs?: TabPayload$1[];
}

/**
 * Defines the payload for the fields, screens, screen schemes, issue type screen schemes, field layouts, and field
 * layout schemes
 */
interface FieldCapabilityPayload$1 {
    /**
     * The custom field definitions. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/#api-rest-api-3-field-post
     */
    customFieldDefinitions?: CustomFieldPayload$1[];
    fieldLayoutScheme?: FieldLayoutSchemePayload$1;
    /** The field layouts configuration. */
    fieldLayouts?: FieldLayoutPayload$1[];
    /** The issue layouts configuration */
    issueLayouts?: IssueLayoutPayload$1[];
    issueTypeScreenScheme?: IssueTypeScreenSchemePayload$1;
    /**
     * The screen schemes See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-schemes/#api-rest-api-3-screenscheme-post
     */
    screenScheme?: ScreenSchemePayload$1[];
    /**
     * The screens. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screens/#api-rest-api-3-screens-post
     */
    screens?: ScreenPayload$1[];
}

/** The payload for creating an issue type hierarchy */
interface IssueTypeHierarchyPayload$1 {
    /** The hierarchy level of the issue type. 0, 1, 2, 3 .. n; Negative values for subtasks */
    hierarchyLevel?: number;
    /** The name of the issue type */
    name?: string;
    /**
     * The conflict strategy to use when the issue type already exists. FAIL - Fail execution, this always needs to be
     * unique; USE - Use the existing entity and ignore new entity parameters
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/** The payload for creating issue type schemes */
interface IssueTypeSchemePayload$1 {
    defaultIssueTypeId?: ProjectCreateResourceIdentifier$1;
    /** The description of the issue type scheme */
    description?: string;
    /** The issue type IDs for the issue type scheme */
    issueTypeIds?: ProjectCreateResourceIdentifier$1[];
    /** The name of the issue type scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/** The payload for creating an issue type */
interface IssueTypePayload$1 {
    /**
     * The avatar ID of the issue type. Go to
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-avatars/#api-rest-api-3-avatar-type-system-get
     * to choose an avatarId existing in Jira
     */
    avatarId?: number;
    /** The description of the issue type */
    description?: string;
    /** The hierarchy level of the issue type. 0, 1, 2, 3 .. n; Negative values for subtasks */
    hierarchyLevel?: number;
    /** The name of the issue type */
    name?: string;
    /**
     * The conflict strategy to use when the issue type already exists. FAIL - Fail execution, this always needs to be
     * unique; USE - Use the existing entity and ignore new entity parameters
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/** The payload for creating issue types in a project */
interface IssueTypeProjectCreatePayload$1 {
    /**
     * Defines the issue type hierarhy to be created and used during this project creation. This will only add new levels
     * if there isn't an existing level
     */
    issueTypeHierarchy?: IssueTypeHierarchyPayload$1[];
    issueTypeScheme?: IssueTypeSchemePayload$1;
    /**
     * Only needed if you want to create issue types, you can otherwise use the ids of issue types in the scheme
     * configuration
     */
    issueTypes?: IssueTypePayload$1[];
}

/** The event ID to use for reference in the payload */
interface NotificationSchemeEventIDPayload$1 {
    /** The event ID to use for reference in the payload */
    id?: string;
}

/** The configuration for notification recipents */
interface NotificationSchemeNotificationDetailsPayload$1 {
    /** The type of notification. */
    notificationType?: string;
    /** The parameter of the notification, should be eiither null if not required, or PCRI. */
    parameter?: string;
}

/** The payload for creating a notification scheme event. Defines which notifications should be sent for a specific event */
interface NotificationSchemeEventPayload$1 {
    event?: NotificationSchemeEventIDPayload$1;
    /** The configuration for notification recipents */
    notifications?: NotificationSchemeNotificationDetailsPayload$1[];
}

/**
 * The payload for creating a notification scheme. The user has to supply the ID for the default notification scheme.
 * For CMP this is provided in the project payload and should be left empty, for TMP it's provided using this payload
 */
interface NotificationSchemePayload$1 {
    /** The description of the notification scheme */
    description?: string;
    /** The name of the notification scheme */
    name?: string;
    /** The events and notifications for the notification scheme */
    notificationSchemeEvents?: NotificationSchemeEventPayload$1[];
    /** The strategy to use when there is a conflict with an existing entity */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/** List of permission grants */
interface PermissionGrantDTO$1 {
    applicationAccess?: string[];
    groupCustomFields?: ProjectCreateResourceIdentifier$1[];
    groups?: ProjectCreateResourceIdentifier$1[];
    permissionKeys?: string[];
    projectRoles?: ProjectCreateResourceIdentifier$1[];
    specialGrants?: string[];
    userCustomFields?: ProjectCreateResourceIdentifier$1[];
    users?: ProjectCreateResourceIdentifier$1[];
}

/** The payload to create a permission scheme */
interface PermissionPayload$1 {
    /** Configuration to generate addon role. Default is false if null */
    addAddonRole?: boolean;
    /** The description of the permission scheme */
    description?: string;
    /** List of permission grants */
    grants?: PermissionGrantDTO$1[];
    /** The name of the permission scheme */
    name?: string;
    /**
     * The strategy to use when there is a conflict with an existing permission scheme. FAIL - Fail execution, this always
     * needs to be unique; USE - Use the existing entity and ignore new entity parameters; NEW - If the entity exist, try
     * and create a new one with a different name
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/** The payload for creating a project */
interface ProjectPayload$1 {
    fieldLayoutSchemeId?: ProjectCreateResourceIdentifier$1;
    issueSecuritySchemeId?: ProjectCreateResourceIdentifier$1;
    issueTypeSchemeId?: ProjectCreateResourceIdentifier$1;
    issueTypeScreenSchemeId?: ProjectCreateResourceIdentifier$1;
    notificationSchemeId?: ProjectCreateResourceIdentifier$1;
    pcri?: ProjectCreateResourceIdentifier$1;
    permissionSchemeId?: ProjectCreateResourceIdentifier$1;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which
     * defines the application-specific feature set. If you don't specify the project template you have to specify the
     * project type.
     */
    projectTypeKey?: 'software' | 'business' | 'service_desk' | 'product_discovery' | string;
    workflowSchemeId?: ProjectCreateResourceIdentifier$1;
}

/**
 * The payload used to create a project role. It is optional for CMP projects, as a default role actor will be provided.
 * TMP will add new role actors to the table.
 */
interface RolePayload$1 {
    /** The default actors for the role. By adding default actors, the role will be added to any future projects created */
    defaultActors?: ProjectCreateResourceIdentifier$1[];
    /** The description of the role */
    description?: string;
    /** The name of the role */
    name?: string;
    /**
     * The strategy to use when there is a conflict with an existing project role. FAIL - Fail execution, this always
     * needs to be unique; USE - Use the existing entity and ignore new entity parameters
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier$1;
    /** The type of the role. Only used by project-scoped project */
    type?: 'HIDDEN' | 'VIEWABLE' | 'EDITABLE' | string;
}

interface RolesCapabilityPayload$1 {
    /** A map of role PCRI (can be ID or REF) to a list of user or group PCRI IDs to associate with the role and project. */
    roleToProjectActors?: {};
    /** The list of roles to create. */
    roles?: RolePayload$1[];
}

/** The payload for creating a scope. Defines if a project is team-managed project or company-managed project */
interface ScopePayload$1 {
    /** The type of the scope. Use `GLOBAL` or empty for company-managed project, and `PROJECT` for team-managed project */
    type?: 'GLOBAL' | 'PROJECT' | string;
}

/**
 * The payload for creating a security level member. See
 * https://support.atlassian.com/jira-cloud-administration/docs/configure-issue-security-schemes/
 */
interface SecurityLevelMemberPayload$1 {
    /**
     * Defines the value associated with the type. For reporter this would be {"null"}; for users this would be the names
     * of specific users); for group this would be group names like {"administrators", "jira-administrators",
     * "jira-users"}
     */
    parameter?: string;
    /** The type of the security level member */
    type?: 'group' | 'reporter' | 'users' | string;
}

/**
 * The payload for creating a security level. See
 * https://support.atlassian.com/jira-cloud-administration/docs/configure-issue-security-schemes/
 */
interface SecurityLevelPayload$1 {
    /** The description of the security level */
    description?: string;
    /** Whether the security level is default for the security scheme */
    isDefault?: boolean;
    /** The name of the security level */
    name?: string;
    /** The members of the security level */
    securityLevelMembers?: SecurityLevelMemberPayload$1[];
}

/**
 * The payload for creating a security scheme. See
 * https://support.atlassian.com/jira-cloud-administration/docs/configure-issue-security-schemes/
 */
interface SecuritySchemePayload$1 {
    /** The description of the security scheme */
    description?: string;
    /** The name of the security scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
    /** The security levels for the security scheme */
    securityLevels?: SecurityLevelPayload$1[];
}

/** The payload for creating a status */
interface StatusPayload$1 {
    /** The description of the status */
    description?: string;
    /** The name of the status */
    name?: string;
    /**
     * The conflict strategy for the status already exists. FAIL - Fail execution, this always needs to be unique; USE -
     * Use the existing entity and ignore new entity parameters; NEW - Create a new entity
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier$1;
    /** The status category of the status. The value is case-sensitive. */
    statusCategory?: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
}

/**
 * The payload for creating a workflow scheme. See
 * https://www.atlassian.com/software/jira/guides/workflows/overview#what-is-a-jira-workflow-scheme
 */
interface WorkflowSchemePayload$1 {
    defaultWorkflow?: ProjectCreateResourceIdentifier$1;
    /** The description of the workflow scheme */
    description?: string;
    /** Association between issuetypes and workflows */
    explicitMappings?: {};
    /** The name of the workflow scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier$1;
}

/** The layout of the workflow status. */
interface WorkflowStatusLayoutPayload$1 {
    /** The x coordinate of the status. */
    x?: number;
    /** The y coordinate of the status. */
    y?: number;
}

/** The statuses to be used in the workflow */
interface WorkflowStatusPayload$1 {
    layout?: WorkflowStatusLayoutPayload$1;
    pcri?: ProjectCreateResourceIdentifier$1;
    /** The properties of the workflow status. */
    properties?: {};
}

/** The payload for creating rules in a workflow */
interface RulePayload$1 {
    /** The parameters of the rule */
    parameters?: {};
    /**
     * The key of the rule. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/#api-rest-api-3-workflows-capabilities-get
     */
    ruleKey?: string;
}

/** The payload for creating a condition group in a workflow */
interface ConditionGroupPayload$1 {
    /** The nested conditions of the condition group. */
    conditionGroup?: ConditionGroupPayload$1[];
    /** The rules for this condition. */
    conditions?: RulePayload$1[];
    /**
     * Determines how the conditions in the group are evaluated. Accepts either `ANY` or `ALL`. If `ANY` is used, at least
     * one condition in the group must be true for the group to evaluate to true. If `ALL` is used, all conditions in the
     * group must be true for the group to evaluate to true.
     */
    operation?: 'ANY' | 'ALL' | string;
}

/** The payload for the layout details for the start end of a transition */
interface FromLayoutPayload$1 {
    /** The port that the transition can be made from */
    fromPort?: number;
    status?: ProjectCreateResourceIdentifier$1;
    /** The port that the transition goes to */
    toPortOverride?: number;
}

/** The payload for the layout details for the destination end of a transition */
interface ToLayoutPayload$1 {
    /** Defines where the transition line will be connected to a status. Port 0 to 7 are acceptable values. */
    port?: number;
    status?: ProjectCreateResourceIdentifier$1;
}

/** The payload for creating a transition in a workflow. Can be DIRECTED, GLOBAL, SELF-LOOPED, GLOBAL LOOPED */
interface TransitionPayload$1 {
    /** The actions that are performed when the transition is made */
    actions?: RulePayload$1[];
    conditions?: ConditionGroupPayload$1;
    /**
     * Mechanism in Jira for triggering certain actions, like notifications, automations, etc. Unless a custom
     * notification scheme is configure, it's better not to provide any value here
     */
    customIssueEventId?: string;
    /** The description of the transition */
    description?: string;
    /** The statuses that the transition can be made from */
    from?: FromLayoutPayload$1[];
    /** The id of the transition */
    id?: number;
    /** The name of the transition */
    name?: string;
    /** The properties of the transition */
    properties?: {};
    to?: ToLayoutPayload$1;
    transitionScreen?: RulePayload$1;
    /** The triggers that are performed when the transition is made */
    triggers?: RulePayload$1[];
    /** The type of the transition */
    type?: 'global' | 'initial' | 'directed' | string;
    /** The validators that are performed when the transition is made */
    validators?: RulePayload$1[];
}

/**
 * The payload for creating workflow, see
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/#api-rest-api-3-workflows-create-post
 */
interface WorkflowPayload$1 {
    /** The description of the workflow */
    description?: string;
    loopedTransitionContainerLayout?: WorkflowStatusLayoutPayload$1;
    /** The name of the workflow */
    name?: string;
    /** The strategy to use if there is a conflict with another workflow */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier$1;
    startPointLayout?: WorkflowStatusLayoutPayload$1;
    /** The statuses to be used in the workflow */
    statuses?: WorkflowStatusPayload$1[];
    /** The transitions for the workflow */
    transitions?: TransitionPayload$1[];
}

/**
 * The payload for creating a workflows. See
 * https://www.atlassian.com/software/jira/guides/workflows/overview#what-is-a-jira-workflow
 */
interface WorkflowCapabilityPayload$1 {
    /** The statuses for the workflow */
    statuses?: StatusPayload$1[];
    workflowScheme?: WorkflowSchemePayload$1;
    /** The transitions for the workflow */
    workflows?: WorkflowPayload$1[];
}

/** The specific request object for creating a project with template. */
interface CustomTemplateRequest$1 {
    boards?: BoardsPayload$1;
    field?: FieldCapabilityPayload$1;
    issueType?: IssueTypeProjectCreatePayload$1;
    notification?: NotificationSchemePayload$1;
    permissionScheme?: PermissionPayload$1;
    project?: ProjectPayload$1;
    role?: RolesCapabilityPayload$1;
    scope?: ScopePayload$1;
    security?: SecuritySchemePayload$1;
    workflow?: WorkflowCapabilityPayload$1;
}

/** Request to create a project using a custom template */
interface ProjectCustomTemplateCreateRequest$1 {
    details?: CustomTemplatesProjectDetails$1;
    template?: CustomTemplateRequest$1;
}

/** Details about data policy. */
interface ProjectDataPolicy$1 {
    /** Whether the project contains any content inaccessible to the requesting application. */
    anyContentBlocked?: boolean;
}

/** Details about data policies for a project. */
interface ProjectWithDataPolicy$1 {
    dataPolicy?: ProjectDataPolicy$1;
    /** The project ID. */
    id?: number;
}

/** Details about data policies for a list of projects. */
interface ProjectDataPolicies$1 {
    /** List of projects with data policies. */
    projectDataPolicies?: ProjectWithDataPolicy$1[];
}

/** A project's sender email address. */
interface ProjectEmailAddress$1 {
    /** The email address. */
    emailAddress?: string;
    /** When using a custom domain, the status of the email address. */
    emailAddressStatus?: string[];
}

/** Container for a request to toggle the state of the feature to ENABLED or DISABLED. */
interface ProjectFeatureToggleRequest$1 {
    /** The new state for the feature */
    state?: 'ENABLED' | 'DISABLED' | 'COMING_SOON';
}

/** Identifiers for a project. */
interface ProjectIdentifiers$1 {
    /** The ID of the created project. */
    id: number;
    /** The key of the created project. */
    key: string;
    /** The URL of the created project. */
    self: string;
}

/** A list of project IDs. */
interface ProjectIds$1 {
    /** The IDs of projects. */
    projectIds: string[];
}

/** List of issue level security items in a project. */
interface ProjectIssueSecurityLevels$1 {
    /** Issue level security items list. */
    levels: SecurityLevel$1[];
}

/** Details of an issue type hierarchy level. */
interface ProjectIssueTypesHierarchyLevel$1 {
    /** The list of issue types in the hierarchy level. */
    issueTypes?: IssueTypeInfo$1[];
    /** The level of the issue type hierarchy level. */
    level?: number;
    /** The name of the issue type hierarchy level. */
    name?: string;
}

/** The hierarchy of issue types within a project. */
interface ProjectIssueTypeHierarchy$1 {
    /** Details of an issue type hierarchy level. */
    hierarchy?: ProjectIssueTypesHierarchyLevel$1[];
    /** The ID of the project. */
    projectId?: number;
}

/** The project and issue type mapping. */
interface ProjectIssueTypeMapping$1 {
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The ID of the project. */
    projectId: string;
}

/** The project and issue type mappings. */
interface ProjectIssueTypeMappings$1 {
    /** The project and issue type mappings. */
    mappings: ProjectIssueTypeMapping$1[];
}

interface ProjectRoleActorsUpdate$1 {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id?: number;
    /**
     * The actors to add to the project role.
     *
     * Add groups using:
     *
     * `atlassian-group-role-actor` and a list of group names. `atlassian-group-role-actor-id` and a list of group IDs.
     *
     * As a group's name can change, use of `atlassian-group-role-actor-id` is recommended. For example,
     * `"atlassian-group-role-actor-id":["eef79f81-0b89-4fca-a736-4be531a10869","77f6ab39-e755-4570-a6ae-2d7a8df0bcb8"]`.
     *
     * Add users using `atlassian-user-role-actor` and a list of account IDs. For example,
     * `"atlassian-user-role-actor":["12345678-9abc-def1-2345-6789abcdef12", "abcdef12-3456-789a-bcde-f123456789ab"]`.
     */
    categorisedActors?: unknown;
}

/** Details about a project role. */
interface ProjectRoleDetails$1 {
    /** Whether this role is the admin role for the project. */
    admin?: boolean;
    /** Whether this role is the default role for the project. */
    default?: boolean;
    /** The description of the project role. */
    description?: string;
    /** The ID of the project role. */
    id?: number;
    /** The name of the project role. */
    name?: string;
    /** Whether the roles are configurable for this project. */
    roleConfigurable?: boolean;
    scope?: Scope$2;
    /** The URL the project role details. */
    self?: string;
    /** The translated name of the project role. */
    translatedName?: string;
}

/** Details about a project type. */
interface ProjectType$1 {
    /** The color of the project type. */
    color: string;
    /** The key of the project type's description. */
    descriptionI18nKey: string;
    /** The formatted key of the project type. */
    formattedKey: string;
    /** The icon of the project type. */
    icon: string;
    /** The key of the project type. */
    key: string;
}

/** The project. */
interface ProjectUsage$1 {
    /** The project ID. */
    id?: string;
}

/** A page of projects. */
interface ProjectUsagePage$1 {
    /** Page token for the next page of project usages. */
    nextPageToken?: string;
    /** The list of projects. */
    values?: ProjectUsage$1[];
}

/** Property key details. */
interface PropertyKey$2 {
    /** The key of the property. */
    key?: string;
    /** The URL of the property. */
    self?: string;
}

/** List of property keys. */
interface PropertyKeys$2 {
    /** Property key details. */
    keys?: PropertyKey$2[];
}

/** The status of the item. */
interface Status$4 {
    icon?: Icon$1;
    /**
     * Whether the item is resolved. If set to "true", the link to the issue is displayed in a strikethrough font,
     * otherwise the link displays in normal font.
     */
    resolved?: boolean;
}

/** The linked item. */
interface RemoteObject$1 {
    icon?: Icon$1;
    status?: Status$4;
    /** The summary details of the item. */
    summary?: string;
    /** The title of the item. */
    title: string;
    /** The URL of the item. */
    url: string;
}

/** Details of an issue remote link. */
interface RemoteIssueLink$1 {
    application?: Application$1;
    /** The global ID of the link, such as the ID of the item on the remote system. */
    globalId?: string;
    /** The ID of the link. */
    id?: number;
    object?: RemoteObject$1;
    /** Description of the relationship between the issue and the linked item. */
    relationship?: string;
    /** The URL of the link. */
    self?: string;
}

/** Details of the identifiers for a created or updated remote issue link. */
interface RemoteIssueLinkIdentifies$1 {
    /** The ID of the remote issue link, such as the ID of the item on the remote system. */
    id?: number;
    /** The URL of the remote issue link. */
    self?: string;
}

/** Details of a remote issue link. */
interface RemoteIssueLinkRequest$1 {
    /**
     * An identifier for the remote item in the remote system. For example, the global ID for a remote item in Confluence
     * would consist of the app ID and page ID, like this: `appId=456&pageId=123`.
     *
     * Setting this field enables the remote issue link details to be updated or deleted using remote system and item
     * details as the record identifier, rather than using the record's Jira ID.
     *
     * The maximum length is 255 characters.
     */
    globalId?: string;
    application?: Application$1;
    /**
     * Description of the relationship between the issue and the linked item. If not set, the relationship description
     * "links to" is used in Jira.
     */
    relationship?: string;
    object?: RemoteObject$1;
}

interface SimpleErrorCollection$1 {
    /** The list of error messages produced by this operation. For example, "input parameter 'key' must be provided" */
    errorMessages?: string[];
    /**
     * The list of errors by parameter returned by the operation. For example,"projectKey": "Project keys must start with
     * an uppercase letter, followed by one or more uppercase alphanumeric characters."
     */
    errors?: unknown;
    httpStatusCode?: number;
}

interface RemoveOptionFromIssuesResult$1 {
    errors?: SimpleErrorCollection$1;
    /** The IDs of the modified issues. */
    modifiedIssues?: number[];
    /** The IDs of the unchanged issues, those issues where errors prevent modification. */
    unmodifiedIssues?: number[];
}

/** Change the order of issue priorities. */
interface ReorderIssuePriorities$1 {
    /** The ID of the priority. Required if `position` isn't provided. */
    after?: string;
    /** The list of issue IDs to be reordered. Cannot contain duplicates nor after ID. */
    ids: string[];
    /** The position for issue priorities to be moved to. Required if `after` isn't provided. */
    position?: string;
}

/** Change the order of issue resolutions. */
interface ReorderIssueResolutionsRequest$1 {
    /** The ID of the resolution. Required if `position` isn't provided. */
    after?: string;
    /** The list of resolution IDs to be reordered. Cannot contain duplicates nor after ID. */
    ids: string[];
    /** The position for issue resolutions to be moved to. Required if `after` isn't provided. */
    position?: string;
}

/** The list of required status mappings by issue type. */
interface RequiredMappingByIssueType$1 {
    /** The ID of the issue type. */
    issueTypeId?: string;
    /** The status IDs requiring mapping. */
    statusIds?: string[];
}

/** The list of required status mappings by workflow. */
interface RequiredMappingByWorkflows$1 {
    /** The ID of the source workflow. */
    sourceWorkflowId?: string;
    /** The status IDs requiring mapping. */
    statusIds?: string[];
    /** The ID of the target workflow. */
    targetWorkflowId?: string;
}

/** The ID of an issue resolution. */
interface ResolutionId$1 {
    /** The ID of the issue resolution. */
    id: string;
}

/** Details of the sanitized JQL query. */
interface SanitizedJqlQuery$1 {
    /** The account ID of the user for whom sanitization was performed. */
    accountId?: string;
    errors?: ErrorCollection$1;
    /** The initial query. */
    initialQuery?: string;
    /** The sanitized query, if there were no errors. */
    sanitizedQuery?: string;
}

/** The sanitized JQL queries for the given account IDs. */
interface SanitizedJqlQueries$1 {
    /** The list of sanitized JQL queries. */
    queries?: SanitizedJqlQuery$1[];
}

/** A screen tab field. */
interface ScreenableField$1 {
    /** The ID of the screen tab field. */
    id?: string;
    /** The name of the screen tab field. Required on create and update. The maximum length is 255 characters. */
    name?: string;
}

/** Details of a screen. */
interface ScreenDetails$1 {
    /** The description of the screen. The maximum length is 255 characters. */
    description?: string;
    /** The name of the screen. The name must be unique. The maximum length is 255 characters. */
    name: string;
}

/** Details of a screen scheme. */
interface ScreenSchemeDetails$1 {
    /** The description of the screen scheme. The maximum length is 255 characters. */
    description?: string;
    /** The name of the screen scheme. The name must be unique. The maximum length is 255 characters. */
    name: string;
    screens?: ScreenTypes$1;
}

/** The ID of a screen scheme. */
interface ScreenSchemeId$1 {
    /** The ID of the screen scheme. */
    id: number;
}

/** The result of a JQL search. */
interface SearchAndReconcileResults$1 {
    /** The list of issues found by the search or reconsiliation. */
    issues?: Issue$4[];
    /** The ID and name of each field in the search results. */
    names?: unknown;
    /**
     * Continuation token to fetch the next page. If this result represents the last or the only page this token will be
     * null. This token will expire in 7 days.
     */
    nextPageToken?: string;
    /** The schema describing the field types in the search results. */
    schema?: unknown;
}

interface SearchAutoComplete {
    /** List of project IDs used to filter the visible field details returned. */
    projectIds?: number[];
    /** Include collapsed fields for fields that have non-unique names. */
    includeCollapsedFields?: boolean;
}

interface SearchRequest$1 {
    /** A [JQL](https://confluence.atlassian.com/x/egORLQ) expression. */
    jql?: string;
    /** The index of the first item to return in the page of results (page offset). The base index is `0`. */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * `*all` Returns all fields. `*navigable` Returns navigable fields. Any issue field, prefixed with a minus to
     * exclude.
     *
     * The default is `*navigable`.
     *
     * Examples:
     *
     * `summary,comment` Returns the summary and comments fields only. `-description` Returns all navigable (default)
     * fields except description. `*all,-comment` Returns all fields except comments.
     *
     * Multiple `fields` parameters can be included in a request.
     *
     * Note: All navigable fields are returned by default. This differs from [GET
     * issue](#api-rest-api-2-issue-issueIdOrKey-get) where the default is all fields.
     */
    fields?: string[];
    /**
     * Determines how to validate the JQL query and treat the validation results. Supported values:
     *
     * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).
     * `warn` Returns all errors as warnings. `none` No validation is performed. `true` _Deprecated_ A legacy synonym for
     * `strict`. `false` _Deprecated_ A legacy synonym for `warn`.
     *
     * The default is `strict`.
     *
     * Note: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.
     */
    validateQuery?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about issues in the response. Note that, unlike the majority of instances where `expand` is specified,
     * `expand` is defined as a list of values. The expand options are:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     */
    expand?: 'renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | ('renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations')[] | string | string[];
    /** A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list. */
    properties?: string[];
    /** Reference fields by their key (rather than ID). The default is `false`. */
    fieldsByKeys?: boolean;
}

/** The result of a JQL search. */
interface SearchResults$2 {
    /** Expand options that include additional search result details in the response. */
    expand?: string;
    /** The list of issues found by the search. */
    issues?: Issue$4[];
    /** The maximum number of results that could be on the page. */
    maxResults?: number;
    /** The ID and name of each field in the search results. */
    names?: unknown;
    /** The schema describing the field types in the search results. */
    schema?: unknown;
    /** The index of the first item returned on the page. */
    startAt?: number;
    /** The number of results on the page. */
    total?: number;
    /** Any warnings related to the JQL query. */
    warningMessages?: string[];
}

/** Details about a security scheme. */
interface SecurityScheme$1 {
    /** The ID of the default security level. */
    defaultSecurityLevelId?: number;
    /** The description of the issue security scheme. */
    description?: string;
    /** The ID of the issue security scheme. */
    id?: number;
    levels?: SecurityLevel$1[];
    /** The name of the issue security scheme. */
    name?: string;
    /** The URL of the issue security scheme. */
    self?: string;
}

/** The ID of the issue security scheme. */
interface SecuritySchemeId$1 {
    /** The ID of the issue security scheme. */
    id: string;
}

/** Details of issue security scheme level new members. */
interface SecuritySchemeMembersRequest$1 {
    /** The list of level members which should be added to the issue security scheme level. */
    members: SecuritySchemeLevelMember$1[];
}

/** List of security schemes. */
interface SecuritySchemes$1 {
    /** List of security schemes. */
    issueSecuritySchemes?: SecurityScheme$1[];
}

/** Details about the Jira instance. */
interface ServerInformation$1 {
    /** The base URL of the Jira instance. */
    baseUrl?: string;
    /** The timestamp when the Jira version was built. */
    buildDate?: string;
    /** The build number of the Jira version. */
    buildNumber?: number;
    /** The type of server deployment. This is always returned as _Cloud_. */
    deploymentType?: string;
    /** The unique identifier of the Jira version. */
    scmInfo?: string;
    /** The time in Jira when this request was responded to. */
    serverTime?: string;
    /** The name of the Jira instance. */
    serverTitle?: string;
    /** The version of Jira. */
    version?: string;
    /** The major, minor, and revision version numbers of the Jira version. */
    versionNumbers?: number[];
}

interface ServiceRegistryTier$1 {
    /** Tier description */
    description?: string;
    /** Tier ID */
    id?: string;
    /** Tier level */
    level?: number;
    /** Tier name */
    name?: string;
    /** Name key of the tier */
    nameKey?: string;
}

interface ServiceRegistry$3 {
    /** Service description */
    description?: string;
    /** Service ID */
    id?: string;
    /** Service name */
    name?: string;
    /** Organization ID */
    organizationId?: string;
    /** Service revision */
    revision?: string;
    serviceTier?: ServiceRegistryTier$1;
}

/** Details of new default levels. */
interface SetDefaultLevelsRequest$1 {
    /** List of objects with issue security scheme ID and new default level ID. */
    defaultValues: DefaultLevelValue$1[];
}

/** The new default issue priority. */
interface SetDefaultPriorityRequest$1 {
    /**
     * The ID of the new default issue priority. Must be an existing ID or null. Setting this to null erases the default
     * priority setting.
     */
    id: string;
}

/** The new default issue resolution. */
interface SetDefaultResolutionRequest$1 {
    /**
     * The ID of the new default issue resolution. Must be an existing ID or null. Setting this to null erases the default
     * resolution setting.
     */
    id: string;
}

interface SharePermissionInput$1 {
    /**
     * The type of the share permission.Specify the type as follows:
     *
     * - `user` Share with a user.
     * - `group` Share with a group. Specify `groupname` as well.
     * - `project` Share with a project. Specify `projectId` as well.
     * - `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well.
     * - `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and
     *   must be deleted before any non-global share permissions is set.
     * - `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type
     *   overrides all existing share permissions and must be deleted before any non-global share permissions is set.
     */
    type: 'user' | 'group' | 'project' | 'projectRole' | 'global' | 'authenticated' | string;
    /** The ID of the project to share the filter with. Set `type` to `project`. */
    projectId?: string;
    /**
     * The name of the group to share the filter with. Set `type` to `group`. Please note that the name of a group is
     * mutable, to reliably identify a group use `groupId`.
     */
    groupname?: string;
    /**
     * The ID of the project role to share the filter with. Set `type` to `projectRole` and the `projectId` for the
     * project that the role is in.
     */
    projectRoleId?: string;
    /** The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user. */
    accountId?: string;
    /** The rights for the share permission. */
    rights?: number;
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products.For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_. Cannot be provided with `groupname`.
     */
    groupId?: string;
}

interface SimpleApplicationProperty$1 {
    /** The ID of the application property. */
    id?: string;
    /** The new value. */
    value?: string;
}

/** Represents a usage of an entity by a project ID and related issue type IDs. */
interface SimpleUsage$1 {
    /** The issue type IDs for the usage. */
    issueTypeIds: string[];
    /** The project ID for the usage. */
    projectId: string;
}

/** Details of the status being created. */
interface StatusCreate$1 {
    /** The description of the status. */
    description?: string;
    /** The name of the status. */
    name: string;
    /** The category of the status. */
    statusCategory: string;
}

/** Details of the statuses being created and their scope. */
interface StatusCreateRequest$1 {
    scope: StatusScope$1;
    /** Details of the statuses being created. */
    statuses: StatusCreate$1[];
}

/** The statuses associated with each workflow. */
interface StatusesPerWorkflow$1 {
    /** The ID of the initial status for the workflow. */
    initialStatusId?: string;
    /** The status IDs associated with the workflow. */
    statuses?: string[];
    /** The ID of the workflow. */
    workflowId?: string;
}

/** The statuses associated with this workflow. */
interface StatusLayoutUpdate {
    layout?: WorkflowLayout$1;
    /** The properties for this status layout. */
    properties: unknown;
    /** A unique ID which the status will use to refer to this layout configuration. */
    statusReference: string;
}

/** Details about the mapping from a status to a new status for an issue type. */
interface StatusMapping$1 {
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The ID of the new status. */
    newStatusId: string;
    /** The ID of the status. */
    statusId: string;
}

/** The mapping of old to new status ID. */
interface StatusMigration {
    /** The new status ID. */
    newStatusReference: string;
    /** The old status ID. */
    oldStatusReference: string;
}

/** The mapping of old to new status ID for a specific project and issue type. */
interface StatusMappingDTO {
    /** The issue type for the status mapping. */
    issueTypeId: string;
    /** The project for the status mapping. */
    projectId: string;
    /** The list of old and new status ID mappings for the specified project and issue type. */
    statusMigrations: StatusMigration[];
}

/** The details of the statuses in the associated workflows. */
interface StatusMetadata$1 {
    /** The category of the status. */
    category?: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name?: string;
}

/** The list of issue types. */
interface StatusProjectIssueTypeUsage$1 {
    /** The issue type ID. */
    id?: string;
}

/** A page of issue types. */
interface StatusProjectIssueTypeUsagePage$1 {
    /** Page token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of issue types. */
    values?: StatusProjectIssueTypeUsage$1[];
}

/** The issue types using this status in a project. */
interface StatusProjectIssueTypeUsageDTO {
    issueTypes?: StatusProjectIssueTypeUsagePage$1;
    /** The project ID. */
    projectId?: string;
    /** The status ID. */
    statusId?: string;
}

/** The project. */
interface StatusProjectUsage$1 {
    /** The project ID. */
    id?: string;
}

/** A page of projects. */
interface StatusProjectUsagePage$1 {
    /** Page token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of projects. */
    values?: StatusProjectUsage$1[];
}

/** The projects using this status. */
interface StatusProjectUsageDTO {
    projects?: StatusProjectUsagePage$1;
    /** The status ID. */
    statusId?: string;
}

/** The status reference and port that a transition is connected to. */
interface StatusReferenceAndPort {
    /** The port this transition uses to connect to this status. */
    port?: number;
    /** The reference of this status. */
    statusReference: string;
}

/** Details of the status being updated. */
interface StatusUpdate$1 {
    /** The description of the status. */
    description?: string;
    /** The ID of the status. */
    id: string;
    /** The name of the status. */
    name: string;
    /** The category of the status. */
    statusCategory: string;
}

/** The list of statuses that will be updated. */
interface StatusUpdateRequest$1 {
    /** The list of statuses that will be updated. */
    statuses?: StatusUpdate$1[];
}

/** The worflow. */
interface StatusWorkflowUsageWorkflow$1 {
    /** The workflow ID. */
    id?: string;
}

/** A page of workflows. */
interface StatusWorkflowUsagePage$1 {
    /** Page token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of statuses. */
    values?: StatusWorkflowUsageWorkflow$1[];
}

/** Workflows using the status. */
interface StatusWorkflowUsageDTO {
    /** The status ID. */
    statusId?: string;
    workflows?: StatusWorkflowUsagePage$1;
}

/** Details of changes to a priority scheme's priorities that require suggested priority mappings. */
interface SuggestedMappingsForPrioritiesRequestBean {
    /** The ids of priorities being removed from the scheme. */
    add?: number[];
    /** The ids of priorities being removed from the scheme. */
    remove?: number[];
}

/** Details of changes to a priority scheme's projects that require suggested priority mappings. */
interface SuggestedMappingsForProjectsRequestBean {
    /** The ids of projects being added to the scheme. */
    add?: number[];
}

/** Details of changes to a priority scheme that require suggested priority mappings. */
interface SuggestedMappingsRequest$1 {
    /** The maximum number of results that could be on the page. */
    maxResults?: number;
    priorities?: SuggestedMappingsForPrioritiesRequestBean;
    projects?: SuggestedMappingsForProjectsRequestBean;
    /** The id of the priority scheme. */
    schemeId?: number;
    /** The index of the first item returned on the page. */
    startAt?: number;
}

/** List of system avatars. */
interface SystemAvatars$1 {
    /** A list of avatar details. */
    system: Omit<Avatar$1, 'fileName' | 'owner'>[];
}

/** Details about a task. */
interface TaskProgressObject$1 {
    /** The description of the task. */
    description?: string;
    /** The execution time of the task, in milliseconds. */
    elapsedRuntime: number;
    /** A timestamp recording when the task was finished. */
    finished?: number;
    /** The ID of the task. */
    id: string;
    /** A timestamp recording when the task progress was last updated. */
    lastUpdate: number;
    /** Information about the progress of the task. */
    message?: string;
    /** The progress of the task, as a percentage complete. */
    progress: number;
    /** The result of the task execution. */
    result?: any;
    /** The URL of the task. */
    self: string;
    /** A timestamp recording when the task was started. */
    started?: number;
    /** The status of the task. */
    status: string;
    /** A timestamp recording when the task was submitted. */
    submitted: number;
    /** The ID of the user who submitted the task. */
    submittedBy: number;
}

/** Details about a task. */
interface TaskProgressRemoveOptionFromIssuesResult$1 {
    /** The description of the task. */
    description?: string;
    /** The execution time of the task, in milliseconds. */
    elapsedRuntime: number;
    /** A timestamp recording when the task was finished. */
    finished?: number;
    /** The ID of the task. */
    id: string;
    /** A timestamp recording when the task progress was last updated. */
    lastUpdate: number;
    /** Information about the progress of the task. */
    message?: string;
    /** The progress of the task, as a percentage complete. */
    progress: number;
    result?: RemoveOptionFromIssuesResult$1;
    /** The URL of the task. */
    self: string;
    /** A timestamp recording when the task was started. */
    started?: number;
    /** The status of the task. */
    status: 'ENQUEUED' | 'RUNNING' | 'COMPLETE' | 'FAILED' | 'CANCEL_REQUESTED' | 'CANCELLED' | 'DEAD' | string;
    /** A timestamp recording when the task was submitted. */
    submitted: number;
    /** The ID of the user who submitted the task. */
    submittedBy: number;
}

/** Details about the time tracking provider. */
interface TimeTrackingProvider$1 {
    /** The key for the time tracking provider. For example, _JIRA_. */
    key: string;
    /** The name of the time tracking provider. For example, _JIRA provided time tracking_. */
    name?: string;
    /**
     * The URL of the configuration page for the time tracking provider app. For example, _/example/config/url_. This
     * property is only returned if the `adminPageKey` property is set in the module descriptor of the time tracking
     * provider app.
     */
    url?: string;
}

/** List of issue transitions. */
interface Transitions$1 {
    /** Expand options that include additional transitions details in the response. */
    expand?: string;
    /** List of issue transitions. */
    transitions?: IssueTransition$3[];
}

/** The transitions of this workflow. */
interface TransitionUpdateDTO {
    /** The post-functions of the transition. */
    actions?: WorkflowRuleConfiguration$1[];
    conditions?: ConditionGroupUpdate;
    /** The custom event ID of the transition. */
    customIssueEventId?: string;
    /** The description of the transition. */
    description?: string;
    /** The statuses the transition can start from. */
    from?: StatusReferenceAndPort[];
    /** The ID of the transition. */
    id: string;
    /** The name of the transition. */
    name: string;
    /** The properties of the transition. */
    properties?: unknown;
    to?: StatusReferenceAndPort;
    transitionScreen?: WorkflowRuleConfiguration$1;
    /** The triggers of the transition. */
    triggers?: WorkflowTrigger$1[];
    /** The transition type. */
    type: string;
    /** The validators of the transition. */
    validators?: WorkflowRuleConfiguration$1[];
}

/** Identifiers for a UI modification. */
interface UiModificationIdentifiers$1 {
    /** The ID of the UI modification. */
    id: string;
    /** The URL of the UI modification. */
    self: string;
}

interface UnrestrictedUserEmail$1 {
    /** The accountId of the user */
    accountId?: string;
    /** The email of the user */
    email?: string;
}

/** Details of a custom field. */
interface UpdateCustomFieldDetails$1 {
    /** The description of the custom field. The maximum length is 40000 characters. */
    description?: string;
    /** The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters. */
    name?: string;
    /**
     * The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must
     * specify the valid searcher for the field type, as listed below (abbreviated values shown):
     *
     * `cascadingselect`: `cascadingselectsearcher` `datepicker`: `daterange` `datetime`: `datetimerange` `float`:
     * `exactnumber` or `numberrange` `grouppicker`: `grouppickersearcher` `importid`: `exactnumber` or `numberrange`
     * `labels`: `labelsearcher` `multicheckboxes`: `multiselectsearcher` `multigrouppicker`: `multiselectsearcher`
     * `multiselect`: `multiselectsearcher` `multiuserpicker`: `userpickergroupsearcher` `multiversion`: `versionsearcher`
     * `project`: `projectsearcher` `radiobuttons`: `multiselectsearcher` `readonlyfield`: `textsearcher` `select`:
     * `multiselectsearcher` `textarea`: `textsearcher` `textfield`: `textsearcher` `url`: `exacttextsearcher`
     * `userpicker`: `userpickergroupsearcher` `version`: `versionsearcher`
     */
    searcherKey?: string;
}

/** The request for updating the default project classification level. */
interface UpdateDefaultProjectClassification$3 {
    /** The ID of the project classification. */
    id: string;
}

/** The details of the field configuration scheme. */
interface UpdateFieldConfigurationSchemeDetails$1 {
    /** The description of the field configuration scheme. */
    description?: string;
    /** The name of the field configuration scheme. The name must be unique. */
    name: string;
}

/** Details of issue security scheme level. */
interface UpdateIssueSecurityLevelDetails$1 {
    /** The description of the issue security scheme level. */
    description?: string;
    /** The name of the issue security scheme level. Must be unique. */
    name?: string;
}

interface UpdateIssueSecuritySchemeRequest$1 {
    /** The description of the security scheme. */
    description?: string;
    /** The name of the security scheme. Must be unique. */
    name?: string;
}

/** Details of a notification scheme. */
interface UpdateNotificationSchemeDetails$1 {
    /** The description of the notification scheme. */
    description?: string;
    /** The name of the notification scheme. Must be unique. */
    name?: string;
}

/** Update priorities in a scheme */
interface UpdatePrioritiesInSchemeRequest$1 {
    add?: PrioritySchemeChangesWithoutMappings$1;
    remove?: PrioritySchemeChangesWithoutMappings$1;
}

/** Details of an issue priority. */
interface UpdatePriorityDetails$1 {
    /** The ID for the avatar for the priority. This parameter is nullable and both iconUrl and avatarId cannot be defined. */
    avatarId?: number;
    /** The description of the priority. */
    description?: string;
    /**
     * The URL of an icon for the priority. Accepted protocols are HTTP and HTTPS. Built in icons can also be used. Both
     * iconUrl and avatarId cannot be defined.
     *
     * @deprecated This property is deprecated and will be removed in a future version. Use `avatarId` instead.
     */
    iconUrl?: '/images/icons/priorities/blocker.png' | '/images/icons/priorities/critical.png' | '/images/icons/priorities/high.png' | '/images/icons/priorities/highest.png' | '/images/icons/priorities/low.png' | '/images/icons/priorities/lowest.png' | '/images/icons/priorities/major.png' | '/images/icons/priorities/medium.png' | '/images/icons/priorities/minor.png' | '/images/icons/priorities/trivial.png' | '/images/icons/priorities/blocker_new.png' | '/images/icons/priorities/critical_new.png' | '/images/icons/priorities/high_new.png' | '/images/icons/priorities/highest_new.png' | '/images/icons/priorities/low_new.png' | '/images/icons/priorities/lowest_new.png' | '/images/icons/priorities/major_new.png' | '/images/icons/priorities/medium_new.png' | '/images/icons/priorities/minor_new.png' | '/images/icons/priorities/trivial_new.png' | string;
    /** The name of the priority. Must be unique. */
    name?: string;
    /** The status color of the priority in 3-digit or 6-digit hexadecimal format. */
    statusColor?: string;
}

/** Update projects in a scheme */
interface UpdateProjectsInSchemeRequest$1 {
    add?: PrioritySchemeChangesWithoutMappings$1;
    remove?: PrioritySchemeChangesWithoutMappings$1;
}

/** Details of a priority scheme. */
interface UpdatePrioritySchemeRequest$1 {
    /** The default priority of the scheme. */
    defaultPriorityId?: number;
    /** The description of the priority scheme. */
    description?: string;
    mappings?: PriorityMapping$1;
    /** The name of the priority scheme. Must be unique. */
    name?: string;
    priorities?: UpdatePrioritiesInSchemeRequest$1;
    projects?: UpdateProjectsInSchemeRequest$1;
}

/** Details of the updated priority scheme. */
interface UpdatePrioritySchemeResponse$1 {
    priorityScheme?: PrioritySchemeWithPaginatedPrioritiesAndProjects$1;
    task?: TaskProgressNode$1;
}

/** Details about the project. */
interface UpdateProjectDetails$1 {
    /**
     * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric
     * characters. The maximum length is 10 characters.
     */
    key?: string;
    /** The name of the project. */
    name?: string;
    /** A brief description of the project. */
    description?: string;
    /** The account ID of the project lead. Cannot be provided with `lead`. */
    leadAccountId: string;
    /** A link to information about this project, such as project documentation */
    url?: string;
    /** The default assignee when creating issues for this project. */
    assigneeType?: string;
    /** An integer value for the project's avatar. */
    avatarId?: number;
    /**
     * The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues.
     * Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security
     * scheme IDs.
     */
    issueSecurityScheme?: number;
    /**
     * The ID of the permission scheme for the project. Use the [Get all permission
     * schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs.
     */
    permissionScheme?: number;
    /**
     * The ID of the notification scheme for the project. Use the [Get notification
     * schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs.
     */
    notificationScheme?: number;
    /**
     * The ID of the project's category. A complete list of category IDs is found using the [Get all project
     * categories](#api-rest-api-2-projectCategory-get) operation. To remove the project category from the project, set
     * the value to `-1.`
     */
    categoryId?: number;
    /**
     * Previous project keys to be released from the current project. Released keys must belong to the current project and
     * not contain the current project key
     */
    releasedProjectKeys?: string[];
}

/** Details of an issue resolution. */
interface UpdateResolutionDetails$1 {
    /** The description of the resolution. */
    description?: string;
    /** The name of the resolution. Must be unique. */
    name: string;
}

/** Details of a screen. */
interface UpdateScreenDetails$1 {
    /** The description of the screen. The maximum length is 255 characters. */
    description?: string;
    /** The name of the screen. The name must be unique. The maximum length is 255 characters. */
    name?: string;
}

/** The IDs of the screens for the screen types of the screen scheme. */
interface UpdateScreenTypes$1 {
    /** The ID of the create screen. To remove the screen association, pass a null. */
    create?: string;
    /** The ID of the default screen. When specified, must include a screen ID as a default screen is required. */
    default?: string;
    /** The ID of the edit screen. To remove the screen association, pass a null. */
    edit?: string;
    /** The ID of the view screen. To remove the screen association, pass a null. */
    view?: string;
}

/** Details of a screen scheme. */
interface UpdateScreenSchemeDetails$1 {
    /** The description of the screen scheme. The maximum length is 255 characters. */
    description?: string;
    /** The name of the screen scheme. The name must be unique. The maximum length is 255 characters. */
    name?: string;
    screens?: UpdateScreenTypes$1;
}

/** The details of a UI modification. */
interface UpdateUiModificationDetails$1 {
    /**
     * List of contexts of the UI modification. The maximum number of contexts is 1000. If provided, replaces all existing
     * contexts.
     */
    contexts?: UiModificationContextDetails$1[];
    /** The data of the UI modification. The maximum size of the data is 50000 characters. */
    data?: string;
    /** The description of the UI modification. The maximum length is 255 characters. */
    description?: string;
    /** The name of the UI modification. The maximum length is 255 characters. */
    name?: string;
}

interface UpdateUserToGroup$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This property is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
}

interface UserMigration$1 {
    accountId?: string;
    key?: string;
    username?: string;
}

interface UserNavProperty$1 {
    key?: string;
    value?: string;
}

/**
 * The level of validation to return from the API. If no values are provided, the default would return `WARNING` and
 * `ERROR` level validation results.
 */
interface ValidationOptionsForCreate$1 {
    levels?: string[];
}

/**
 * The level of validation to return from the API. If no values are provided, the default would return `WARNING` and
 * `ERROR` level validation results.
 */
interface ValidationOptionsForUpdate$1 {
    levels?: string[];
}

/** List of custom fields using the version. */
interface VersionUsageInCustomField$1 {
    /** The ID of the custom field. */
    customFieldId?: number;
    /** The name of the custom field. */
    fieldName?: string;
    /** Count of the issues where the custom field contains the version. */
    issueCountWithVersionInCustomField?: number;
}

/** Various counts of issues within a version. */
interface VersionIssueCounts$1 {
    /** List of custom fields using the version. */
    customFieldUsage?: VersionUsageInCustomField$1[];
    /** Count of issues where a version custom field is set to the version. */
    issueCountWithCustomFieldsShowingVersion?: number;
    /** Count of issues where the `affectedVersion` is set to the version. */
    issuesAffectedCount?: number;
    /** Count of issues where the `fixVersion` is set to the version. */
    issuesFixedCount?: number;
    /** The URL of these count details. */
    self?: string;
}

interface VersionMove$1 {
    /** The URL (self link) of the version after which to place the moved version. Cannot be used with `position`. */
    after?: string;
    /** An absolute position in which to place the moved version. Cannot be used with `after`. */
    position?: string;
}

/** Associated related work to a version */
interface VersionRelatedWork$1 {
    /** The category of the related work */
    category: string;
    /** The ID of the issue associated with the related work (if there is one). Cannot be updated via the Rest API. */
    issueId?: number;
    /**
     * The id of the related work. For the native release note related work item, this will be null, and Rest API does not
     * support updating it.
     */
    relatedWorkId?: string;
    /** The title of the related work */
    title?: string;
    /** The URL of the related work. Will be null for the native release note related work item, but is otherwise required. */
    url?: string;
}

/** Count of a version's unresolved issues. */
interface VersionUnresolvedIssuesCount$1 {
    /** Count of issues. */
    issuesCount?: number;
    /** Count of unresolved issues. */
    issuesUnresolvedCount?: number;
    /** The URL of these count details. */
    self?: string;
}

/** A list of webhooks. */
interface WebhookDetails$1 {
    /** The Jira events that trigger the webhook. */
    events: string[];
    /**
     * A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent.
     * If this parameter is not present, the app is notified about all field updates.
     */
    fieldIdsFilter?: string[];
    /**
     * A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or
     * `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property
     * updates.
     */
    issuePropertyKeysFilter?: string[];
    /**
     * The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported
     * elements are:
     *
     * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For
     * custom fields (`cf[id]`), only the epic label custom field is supported.". Operators: `=`, `!=`, `IN`, and `NOT
     * IN`.
     */
    jqlFilter: string;
}

/** Details of webhooks to register. */
interface WebhookRegistrationDetails$1 {
    /**
     * The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app. Only a
     * single URL per app is allowed to be registered.
     */
    url: string;
    /** A list of webhooks. */
    webhooks: WebhookDetails$1[];
}

/** The date the refreshed webhooks expire. */
interface WebhooksExpirationDate$1 {
    /** The expiration date of all the refreshed webhooks. */
    expirationDate: number;
}

interface WorkflowCapabilities$3 {
    /** The Connect provided ecosystem rules available. */
    connectRules?: AvailableWorkflowConnectRule[];
    /**
     * The scope of the workflow capabilities. `GLOBAL` for company-managed projects and `PROJECT` for team-managed
     * projects.
     */
    editorScope?: string;
    /** The Forge provided ecosystem rules available. */
    forgeRules?: AvailableWorkflowForgeRule[];
    /** The types of projects that this capability set is available for. */
    projectTypes?: string[];
    /** The Atlassian provided system rules available. */
    systemRules?: AvailableWorkflowSystemRule[];
    /** The trigger rules available. */
    triggerRules?: AvailableWorkflowTriggers[];
}

/** The details of the workflows to create. */
interface WorkflowCreate$1 {
    /** The description of the workflow to create. */
    description?: string;
    /** The name of the workflow to create. */
    name: string;
    startPointLayout?: WorkflowLayout$1;
    /** The statuses associated with this workflow. */
    statuses: StatusLayoutUpdate[];
    /** The transitions of this workflow. */
    transitions: TransitionUpdateDTO[];
}

/** Details of the status being updated. */
interface WorkflowStatusUpdate$1 {
    /** The description of the status. */
    description?: string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name: string;
    /** The category of the status. */
    statusCategory: string;
    /** The reference of the status. */
    statusReference: string;
}

/** The create workflows payload. */
interface WorkflowCreateRequest$1 {
    scope: WorkflowScope$1;
    /** The statuses to associate with the workflows. */
    statuses: WorkflowStatusUpdate$1[];
    /** The details of the workflows to create. */
    workflows: WorkflowCreate$1[];
}

/** A reference to the location of the error. This will be null if the error does not refer to a specific element. */
interface WorkflowElementReference$1 {
    /** A property key. */
    propertyKey?: string;
    /** A rule ID. */
    ruleId?: string;
    statusMappingReference?: ProjectAndIssueTypePair$1;
    /** A status reference. */
    statusReference?: string;
    /** A transition ID. */
    transitionId?: string;
}

/** Workflow metadata and usage detail. */
interface WorkflowMetadataRestModel$1 {
    /** The description of the workflow. */
    description: string;
    /** The ID of the workflow. */
    id: string;
    /** The name of the workflow. */
    name: string;
    /**
     * Deprecated. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298) for details.
     *
     *     Use the optional `workflows.usages` expand to get additional information about the projects and issue types associated with the workflows in the workflow scheme.
     */
    usage: SimpleUsage$1[];
    version: DocumentVersion$1;
}

/** The workflow metadata and issue type IDs which use this workflow. */
interface WorkflowMetadataAndIssueTypeRestModel$1 {
    /** The list of issue type IDs for the mapping. */
    issueTypeIds: string[];
    workflow: WorkflowMetadataRestModel$1;
}

/** The issue type. */
interface WorkflowProjectIssueTypeUsage$1 {
    /** The ID of the issue type. */
    id?: string;
}

/** A page of issue types. */
interface WorkflowProjectIssueTypeUsagePage$1 {
    /** Token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of issue types. */
    values?: WorkflowProjectIssueTypeUsage$1[];
}

/** Issue types associated with the workflow for a project. */
interface WorkflowProjectIssueTypeUsageDTO {
    issueTypes?: WorkflowProjectIssueTypeUsagePage$1;
    /** The ID of the project. */
    projectId?: string;
    /** The ID of the workflow. */
    workflowId?: string;
}

/** Projects using the workflow. */
interface WorkflowProjectUsageDTO {
    projects?: ProjectUsagePage$1;
    /** The workflow ID. */
    workflowId?: string;
}

/** Details of workflows and related statuses. */
interface WorkflowRead$1 {
    /** List of statuses. */
    statuses?: JiraWorkflowStatus$1[];
    /** List of workflows. */
    workflows?: JiraWorkflow$1[];
}

/** Details of the workflow and its transition rules. */
interface WorkflowRulesSearch$1 {
    /**
     * Use expand to include additional information in the response. This parameter accepts `transition` which, for each
     * rule, returns information about the transition the rule is assigned to.
     */
    expand?: string;
    /** The list of workflow rule IDs. */
    ruleIds: string[];
    /** The workflow ID. */
    workflowEntityId: string;
}

/** Details of workflow transition rules. */
interface WorkflowRulesSearchDetails$1 {
    /** List of workflow rule IDs that do not belong to the workflow or can not be found. */
    invalidRules?: string[];
    /** List of valid workflow transition rules. */
    validRules?: WorkflowTransitionRules$3[];
    /** The workflow ID. */
    workflowEntityId?: string;
}

/** The explicit association between issue types and a workflow in a workflow scheme. */
interface WorkflowSchemeAssociation$1 {
    /** The issue types assigned to the workflow. */
    issueTypeIds: string[];
    /** The ID of the workflow. */
    workflowId: string;
}

/** An associated workflow scheme and project. */
interface WorkflowSchemeProjectAssociation$1 {
    /** The ID of the project. */
    projectId: string;
    /**
     * The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow
     * scheme.
     */
    workflowSchemeId?: string;
}

/** Projects using the workflow scheme. */
interface WorkflowSchemeProjectUsage$1 {
    projects?: ProjectUsagePage$1;
    /** The workflow scheme ID. */
    workflowSchemeId?: string;
}

/** The workflow scheme read request body. */
interface WorkflowSchemeReadRequest$1 {
    /** The list of project IDs to query. */
    projectIds?: string[];
    /** The list of workflow scheme IDs to query. */
    workflowSchemeIds?: string[];
}

interface WorkflowSchemeReadResponse$1 {
    defaultWorkflow?: WorkflowMetadataRestModel$1;
    /** The description of the workflow scheme. */
    description?: string;
    /** The ID of the workflow scheme. */
    id: string;
    /** The name of the workflow scheme. */
    name: string;
    /**
     * Deprecated. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298) for details.
     *
     *     The IDs of projects using the workflow scheme.
     */
    projectIdsUsingScheme?: string[];
    scope: WorkflowScope$1;
    /** Indicates if there's an [asynchronous task](#async-operations) for this workflow scheme. */
    taskId?: string;
    version: DocumentVersion$1;
    /** Mappings from workflows to issue types. */
    workflowsForIssueTypes: WorkflowMetadataAndIssueTypeRestModel$1[];
}

/** The update workflow scheme payload. */
interface WorkflowSchemeUpdateRequest {
    /**
     * The ID of the workflow for issue types without having a mapping defined in this workflow scheme. Only used in
     * global-scoped workflow schemes. If the `defaultWorkflowId` isn't specified, this is set to _Jira Workflow (jira)_.
     */
    defaultWorkflowId?: string;
    /** The new description for this workflow scheme. */
    description: string;
    /** The ID of this workflow scheme. */
    id: string;
    /** The new name for this workflow scheme. */
    name: string;
    /**
     * Overrides, for the selected issue types, any status mappings provided in `statusMappingsByWorkflows`. Status
     * mappings are required when the new workflow for an issue type doesn't contain all statuses that the old workflow
     * has. Status mappings can be provided by a combination of `statusMappingsByWorkflows` and
     * `statusMappingsByIssueTypeOverride`.
     */
    statusMappingsByIssueTypeOverride?: MappingsByIssueTypeOverride$1[];
    /**
     * The status mappings by workflows. Status mappings are required when the new workflow for an issue type doesn't
     * contain all statuses that the old workflow has. Status mappings can be provided by a combination of
     * `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`.
     */
    statusMappingsByWorkflows?: MappingsByWorkflow$1[];
    version: DocumentVersion$1;
    /** Mappings from workflows to issue types. */
    workflowsForIssueTypes?: WorkflowSchemeAssociation$1[];
}

/** The request payload to get the required mappings for updating a workflow scheme. */
interface WorkflowSchemeUpdateRequiredMappingsRequest {
    /**
     * The ID of the new default workflow for this workflow scheme. Only used in global-scoped workflow schemes. If it
     * isn't specified, is set to _Jira Workflow (jira)_.
     */
    defaultWorkflowId?: string;
    /** The ID of the workflow scheme. */
    id: string;
    /** The new workflow to issue type mappings for this workflow scheme. */
    workflowsForIssueTypes: WorkflowSchemeAssociation$1[];
}

interface WorkflowSchemeUpdateRequiredMappingsResponse$1 {
    /** The list of required status mappings by issue type. */
    statusMappingsByIssueTypes?: RequiredMappingByIssueType$1[];
    /** The list of required status mappings by workflow. */
    statusMappingsByWorkflows?: RequiredMappingByWorkflows$1[];
    /** The details of the statuses in the associated workflows. */
    statuses?: StatusMetadata$1[];
    /** The statuses associated with each workflow. */
    statusesPerWorkflow?: StatusesPerWorkflow$1[];
}

/** The worflow scheme. */
interface WorkflowSchemeUsage$1 {
    /** The workflow scheme ID. */
    id?: string;
}

/** A page of workflow schemes. */
interface WorkflowSchemeUsagePage$1 {
    /** Token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of workflow schemes. */
    values?: WorkflowSchemeUsage$1[];
}

/** Workflow schemes using the workflow. */
interface WorkflowSchemeUsageDTO {
    /** The workflow ID. */
    workflowId?: string;
    workflowSchemes?: WorkflowSchemeUsagePage$1;
}

/** Page of items, including workflows and related statuses. */
interface WorkflowSearchResponse$1 {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** List of statuses. */
    statuses?: JiraWorkflowStatus$1[];
    /** The number of items returned. */
    total?: number;
    /** List of workflows. */
    values?: JiraWorkflow$1[];
}

/** Details about a workflow configuration update request. */
interface WorkflowTransitionRulesDetails$1 {
    workflowId: WorkflowId$1;
    /** The list of connect workflow rule IDs. */
    workflowRuleIds: string[];
}

/** Details of workflows and their transition rules to delete. */
interface WorkflowsWithTransitionRulesDetails$1 {
    /** The list of workflows with transition rules to delete. */
    workflows: WorkflowTransitionRulesDetails$1[];
}

/** Details about the server Jira is running on. */
interface WorkflowTransitionProperty$1 {
    /** The ID of the transition property. */
    id?: string;
    /** The key of the transition property. Also known as the name of the transition property. */
    key?: string;
    /** The value of the transition property. */
    value: string;
}

/** Details about a workflow configuration update request. */
interface WorkflowTransitionRulesUpdate$1 {
    /** The list of workflows with transition rules to update. */
    workflows: WorkflowTransitionRules$3[];
}

/** Details of any errors encountered while updating workflow transition rules for a workflow. */
interface WorkflowTransitionRulesUpdateErrorDetails$1 {
    /**
     * A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here
     * wasn't updated.
     */
    ruleUpdateErrors: unknown;
    /**
     * The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains
     * any entries.
     */
    updateErrors: string[];
    workflowId: WorkflowId$1;
}

/** Details of any errors encountered while updating workflow transition rules. */
interface WorkflowTransitionRulesUpdateErrors$1 {
    /** A list of workflows. */
    updateResults: WorkflowTransitionRulesUpdateErrorDetails$1[];
}

/** The details of the workflows to update. */
interface WorkflowUpdate$1 {
    /** The mapping of old to new status ID. */
    defaultStatusMappings?: StatusMigration[];
    /** The new description for this workflow. */
    description?: string;
    /** The ID of this workflow. */
    id: string;
    startPointLayout?: WorkflowLayout$1;
    /** The mapping of old to new status ID for a specific project and issue type. */
    statusMappings?: StatusMappingDTO[];
    /** The statuses associated with this workflow. */
    statuses: StatusLayoutUpdate[];
    /** The transitions of this workflow. */
    transitions: TransitionUpdateDTO[];
    version: DocumentVersion$1;
}

/** The update workflows payload. */
interface WorkflowUpdateRequest$1 {
    /** The statuses to associate with the workflows. */
    statuses: WorkflowStatusUpdate$1[];
    /** The details of the workflows to update. */
    workflows: WorkflowUpdate$1[];
}

/** The details about a workflow validation error. */
interface WorkflowValidationError$1 {
    /** An error code. */
    code?: string;
    elementReference?: WorkflowElementReference$1;
    /** The validation error level. */
    level?: string;
    /** An error message. */
    message?: string;
    /** The type of element the error or warning references. */
    type?: string;
}

interface WorkflowValidationErrorList$1 {
    /** The list of validation errors. */
    errors?: WorkflowValidationError$1[];
}

interface WorklogIdsRequest$1 {
    /** A list of worklog IDs. */
    ids: number[];
}

interface WorklogsMoveRequest$1 {
    /** A list of worklog IDs. */
    ids?: number[];
    /** The issue id or key of the destination issue */
    issueIdOrKey?: string;
}

/** Details about data policy. */
interface WorkspaceDataPolicy$1 {
    /** Whether the workspace contains any content inaccessible to the requesting application. */
    anyContentBlocked?: boolean;
}

type index$a_AddAtlassianTeamRequest = AddAtlassianTeamRequest;
type index$a_AddNotificationsDetails = AddNotificationsDetails;
type index$a_AvailableWorkflowConnectRule = AvailableWorkflowConnectRule;
type index$a_AvailableWorkflowForgeRule = AvailableWorkflowForgeRule;
type index$a_AvailableWorkflowSystemRule = AvailableWorkflowSystemRule;
type index$a_AvailableWorkflowTriggerTypes = AvailableWorkflowTriggerTypes;
type index$a_AvailableWorkflowTriggers = AvailableWorkflowTriggers;
type index$a_ConditionGroupUpdate = ConditionGroupUpdate;
type index$a_CreatePlanOnlyTeamRequest = CreatePlanOnlyTeamRequest;
type index$a_CreatePlanRequest = CreatePlanRequest;
type index$a_CreatePrioritySchemeDetails = CreatePrioritySchemeDetails;
type index$a_CustomFieldValueUpdateDetails = CustomFieldValueUpdateDetails;
type index$a_DuplicatePlanRequest = DuplicatePlanRequest;
type index$a_FieldMetadata = FieldMetadata;
type index$a_IssueContextVariable = IssueContextVariable;
type index$a_IssueLimitReportRequest = IssueLimitReportRequest;
type index$a_JExpEvaluateMetaData = JExpEvaluateMetaData;
type index$a_JsonContextVariable = JsonContextVariable;
type index$a_PageFieldConfiguration = PageFieldConfiguration;
type index$a_SearchAutoComplete = SearchAutoComplete;
type index$a_StatusLayoutUpdate = StatusLayoutUpdate;
type index$a_StatusMappingDTO = StatusMappingDTO;
type index$a_StatusMigration = StatusMigration;
type index$a_StatusProjectIssueTypeUsageDTO = StatusProjectIssueTypeUsageDTO;
type index$a_StatusProjectUsageDTO = StatusProjectUsageDTO;
type index$a_StatusReferenceAndPort = StatusReferenceAndPort;
type index$a_StatusWorkflowUsageDTO = StatusWorkflowUsageDTO;
type index$a_SuggestedMappingsForPrioritiesRequestBean = SuggestedMappingsForPrioritiesRequestBean;
type index$a_SuggestedMappingsForProjectsRequestBean = SuggestedMappingsForProjectsRequestBean;
type index$a_TabMetadata = TabMetadata;
type index$a_TransitionScreenDetails = TransitionScreenDetails;
type index$a_TransitionUpdateDTO = TransitionUpdateDTO;
type index$a_UserContextVariable = UserContextVariable;
type index$a_WarningCollection = WarningCollection;
type index$a_WorkflowProjectIssueTypeUsageDTO = WorkflowProjectIssueTypeUsageDTO;
type index$a_WorkflowProjectUsageDTO = WorkflowProjectUsageDTO;
type index$a_WorkflowSchemeUpdateRequest = WorkflowSchemeUpdateRequest;
type index$a_WorkflowSchemeUpdateRequiredMappingsRequest = WorkflowSchemeUpdateRequiredMappingsRequest;
type index$a_WorkflowSchemeUsageDTO = WorkflowSchemeUsageDTO;
declare namespace index$a {
  export type { ActorInput$1 as ActorInput, ActorsMap$1 as ActorsMap, index$a_AddAtlassianTeamRequest as AddAtlassianTeamRequest, AddField$1 as AddField, AddGroup$1 as AddGroup, index$a_AddNotificationsDetails as AddNotificationsDetails, AddSecuritySchemeLevelsRequest$1 as AddSecuritySchemeLevelsRequest, AnnouncementBannerConfiguration$1 as AnnouncementBannerConfiguration, AnnouncementBannerConfigurationUpdate$1 as AnnouncementBannerConfigurationUpdate, Application$1 as Application, ApplicationProperty$1 as ApplicationProperty, ApplicationRole$1 as ApplicationRole, AssociateFieldConfigurationsWithIssueTypesRequest$1 as AssociateFieldConfigurationsWithIssueTypesRequest, AssociatedItem$1 as AssociatedItem, Attachment$5 as Attachment, AttachmentArchiveEntry$1 as AttachmentArchiveEntry, AttachmentArchiveImpl$1 as AttachmentArchiveImpl, AttachmentArchiveItemReadable$1 as AttachmentArchiveItemReadable, AttachmentArchiveMetadataReadable$1 as AttachmentArchiveMetadataReadable, AttachmentMetadata$1 as AttachmentMetadata, AttachmentSettings$1 as AttachmentSettings, AuditRecord$1 as AuditRecord, AuditRecords$3 as AuditRecords, AutoCompleteSuggestion$1 as AutoCompleteSuggestion, AutoCompleteSuggestions$1 as AutoCompleteSuggestions, AvailableDashboardGadget$1 as AvailableDashboardGadget, AvailableDashboardGadgetsResponse$1 as AvailableDashboardGadgetsResponse, index$a_AvailableWorkflowConnectRule as AvailableWorkflowConnectRule, index$a_AvailableWorkflowForgeRule as AvailableWorkflowForgeRule, index$a_AvailableWorkflowSystemRule as AvailableWorkflowSystemRule, index$a_AvailableWorkflowTriggerTypes as AvailableWorkflowTriggerTypes, index$a_AvailableWorkflowTriggers as AvailableWorkflowTriggers, Avatar$1 as Avatar, AvatarUrls$3 as AvatarUrls, AvatarWithDetails$1 as AvatarWithDetails, Avatars$3 as Avatars, BulkChangeOwnerDetails$1 as BulkChangeOwnerDetails, BulkChangelog$1 as BulkChangelog, BulkChangelogRequest$1 as BulkChangelogRequest, BulkContextualConfiguration$1 as BulkContextualConfiguration, BulkCustomFieldOptionCreateRequest$1 as BulkCustomFieldOptionCreateRequest, BulkCustomFieldOptionUpdateRequest$1 as BulkCustomFieldOptionUpdateRequest, BulkEditShareableEntity$1 as BulkEditShareableEntity, BulkIssue$1 as BulkIssue, BulkIssueIsWatching$1 as BulkIssueIsWatching, BulkIssuePropertyUpdateRequest$1 as BulkIssuePropertyUpdateRequest, BulkOperationErrorResult$1 as BulkOperationErrorResult, BulkPermissionGrants$1 as BulkPermissionGrants, BulkPermissionsRequest$1 as BulkPermissionsRequest, BulkProjectPermissionGrants$1 as BulkProjectPermissionGrants, BulkProjectPermissions$1 as BulkProjectPermissions, ChangeDetails$1 as ChangeDetails, ChangedValue$1 as ChangedValue, ChangedWorklog$1 as ChangedWorklog, ChangedWorklogs$1 as ChangedWorklogs, Changelog$1 as Changelog, ColumnItem$1 as ColumnItem, Comment$2 as Comment, Component$1 as Component, ComponentIssuesCount$1 as ComponentIssuesCount, ComponentWithIssueCount$1 as ComponentWithIssueCount, ConditionGroupConfiguration$1 as ConditionGroupConfiguration, index$a_ConditionGroupUpdate as ConditionGroupUpdate, Configuration$1 as Configuration, ConfigurationsListParameters$1 as ConfigurationsListParameters, ConnectCustomFieldValue$1 as ConnectCustomFieldValue, ConnectCustomFieldValues$1 as ConnectCustomFieldValues, ConnectModule$1 as ConnectModule, ConnectModules$1 as ConnectModules, ConnectWorkflowTransitionRule$1 as ConnectWorkflowTransitionRule, ContainerForProjectFeatures$1 as ContainerForProjectFeatures, ContainerForRegisteredWebhooks$1 as ContainerForRegisteredWebhooks, ContainerForWebhookIDs$1 as ContainerForWebhookIDs, ContainerOfWorkflowSchemeAssociations$1 as ContainerOfWorkflowSchemeAssociations, ContextForProjectAndIssueType$1 as ContextForProjectAndIssueType, ContextualConfiguration$1 as ContextualConfiguration, ConvertedJQLQueries$1 as ConvertedJQLQueries, CreateCrossProjectReleaseRequest$1 as CreateCrossProjectReleaseRequest, CreateCustomFieldContext$3 as CreateCustomFieldContext, CreateCustomFieldRequest$1 as CreateCustomFieldRequest, CreateDateFieldRequest$1 as CreateDateFieldRequest, CreateExclusionRulesRequest$1 as CreateExclusionRulesRequest, CreateIssueSecuritySchemeDetails$1 as CreateIssueSecuritySchemeDetails, CreateIssueSourceRequest$1 as CreateIssueSourceRequest, CreateNotificationSchemeDetails$1 as CreateNotificationSchemeDetails, CreatePermissionHolderRequest$1 as CreatePermissionHolderRequest, CreatePermissionRequest$1 as CreatePermissionRequest, index$a_CreatePlanOnlyTeamRequest as CreatePlanOnlyTeamRequest, index$a_CreatePlanRequest as CreatePlanRequest, CreatePriorityDetails$1 as CreatePriorityDetails, index$a_CreatePrioritySchemeDetails as CreatePrioritySchemeDetails, CreateProjectDetails$1 as CreateProjectDetails, CreateResolutionDetails$1 as CreateResolutionDetails, CreateSchedulingRequest$1 as CreateSchedulingRequest, CreateUiModificationDetails$1 as CreateUiModificationDetails, CreateUpdateRoleRequest$1 as CreateUpdateRoleRequest, CreateWorkflowCondition$1 as CreateWorkflowCondition, CreateWorkflowDetails$1 as CreateWorkflowDetails, CreateWorkflowStatusDetails$1 as CreateWorkflowStatusDetails, CreateWorkflowTransitionDetails$1 as CreateWorkflowTransitionDetails, CreateWorkflowTransitionRule$1 as CreateWorkflowTransitionRule, CreateWorkflowTransitionRulesDetails$1 as CreateWorkflowTransitionRulesDetails, CreateWorkflowTransitionScreenDetails$1 as CreateWorkflowTransitionScreenDetails, CreatedIssue$1 as CreatedIssue, CreatedIssues$1 as CreatedIssues, CustomContextVariable$1 as CustomContextVariable, CustomFieldConfigurations$1 as CustomFieldConfigurations, CustomFieldContext$1 as CustomFieldContext, CustomFieldContextDefaultValue$1 as CustomFieldContextDefaultValue, CustomFieldContextDefaultValueUpdate$1 as CustomFieldContextDefaultValueUpdate, CustomFieldContextOption$1 as CustomFieldContextOption, CustomFieldContextProjectMapping$1 as CustomFieldContextProjectMapping, CustomFieldContextUpdateDetails$1 as CustomFieldContextUpdateDetails, CustomFieldCreatedContextOptionsList$1 as CustomFieldCreatedContextOptionsList, CustomFieldDefinitionJson$1 as CustomFieldDefinitionJson, CustomFieldOption$1 as CustomFieldOption, CustomFieldOptionCreate$1 as CustomFieldOptionCreate, CustomFieldOptionUpdate$1 as CustomFieldOptionUpdate, CustomFieldReplacement$1 as CustomFieldReplacement, CustomFieldUpdatedContextOptionsList$1 as CustomFieldUpdatedContextOptionsList, CustomFieldValueUpdate$1 as CustomFieldValueUpdate, index$a_CustomFieldValueUpdateDetails as CustomFieldValueUpdateDetails, Dashboard$1 as Dashboard, DashboardDetails$1 as DashboardDetails, DashboardGadget$1 as DashboardGadget, DashboardGadgetPosition$1 as DashboardGadgetPosition, DashboardGadgetResponse$1 as DashboardGadgetResponse, DashboardGadgetSettings$1 as DashboardGadgetSettings, DashboardGadgetUpdateRequest$1 as DashboardGadgetUpdateRequest, DashboardUser$1 as DashboardUser, DataClassificationLevels$1 as DataClassificationLevels, DataClassificationTag$1 as DataClassificationTag, DateRangeFilter$1 as DateRangeFilter, DefaultLevelValue$1 as DefaultLevelValue, DefaultShareScope$1 as DefaultShareScope, DefaultWorkflow$1 as DefaultWorkflow, DocumentVersion$1 as DocumentVersion, index$a_DuplicatePlanRequest as DuplicatePlanRequest, EnhancedSearchRequest$1 as EnhancedSearchRequest, EntityProperty$2 as EntityProperty, EntityPropertyDetails$1 as EntityPropertyDetails, Error$2 as Error, ErrorCollection$1 as ErrorCollection, Errors$1 as Errors, EvaluatedJiraExpression$1 as EvaluatedJiraExpression, EventNotification$1 as EventNotification, ExportArchivedIssuesTaskProgress$1 as ExportArchivedIssuesTaskProgress, FailedWebhook$1 as FailedWebhook, FailedWebhooks$1 as FailedWebhooks, Field$1 as Field, FieldAssociationsRequest$1 as FieldAssociationsRequest, FieldConfiguration$1 as FieldConfiguration, FieldConfigurationDetails$1 as FieldConfigurationDetails, FieldConfigurationIssueTypeItem$1 as FieldConfigurationIssueTypeItem, FieldConfigurationItem$1 as FieldConfigurationItem, FieldConfigurationItemsDetails$1 as FieldConfigurationItemsDetails, FieldConfigurationScheme$1 as FieldConfigurationScheme, FieldConfigurationSchemeProjectAssociation$1 as FieldConfigurationSchemeProjectAssociation, FieldConfigurationSchemeProjects$1 as FieldConfigurationSchemeProjects, FieldConfigurationToIssueTypeMapping$1 as FieldConfigurationToIssueTypeMapping, FieldCreateMetadata$1 as FieldCreateMetadata, FieldDetails$1 as FieldDetails, FieldLastUsed$1 as FieldLastUsed, index$a_FieldMetadata as FieldMetadata, FieldReferenceData$1 as FieldReferenceData, Fields$2 as Fields, Filter$1 as Filter, FilterDetails$1 as FilterDetails, FilterSubscription$1 as FilterSubscription, FilterSubscriptionsList$1 as FilterSubscriptionsList, FixVersion$2 as FixVersion, FoundGroup$1 as FoundGroup, FoundGroups$1 as FoundGroups, FoundUsers$1 as FoundUsers, FoundUsersAndGroups$1 as FoundUsersAndGroups, FunctionReferenceData$1 as FunctionReferenceData, GetAtlassianTeamResponse$1 as GetAtlassianTeamResponse, GetCrossProjectReleaseResponse$1 as GetCrossProjectReleaseResponse, GetCustomFieldResponse$1 as GetCustomFieldResponse, GetDateFieldResponse$1 as GetDateFieldResponse, GetExclusionRulesResponse$1 as GetExclusionRulesResponse, GetIssueSourceResponse$1 as GetIssueSourceResponse, GetPermissionHolderResponse$1 as GetPermissionHolderResponse, GetPermissionResponse$1 as GetPermissionResponse, GetPlanOnlyTeamResponse$1 as GetPlanOnlyTeamResponse, GetPlanResponseForPage$1 as GetPlanResponseForPage, GetSchedulingResponse$1 as GetSchedulingResponse, GetTeamResponseForPage$1 as GetTeamResponseForPage, GlobalScope$1 as GlobalScope, Group$2 as Group, GroupDetails$1 as GroupDetails, GroupLabel$1 as GroupLabel, GroupName$1 as GroupName, Hierarchy$1 as Hierarchy, HierarchyLevel$1 as HierarchyLevel, HistoryMetadata$1 as HistoryMetadata, HistoryMetadataParticipant$1 as HistoryMetadataParticipant, Icon$1 as Icon, Id$1 as Id, IdOrKey$1 as IdOrKey, IdSearchRequest$1 as IdSearchRequest, IdSearchResults$1 as IdSearchResults, IncludedFields$1 as IncludedFields, Issue$4 as Issue, IssueArchivalSync$1 as IssueArchivalSync, IssueChangeLog$1 as IssueChangeLog, IssueChangelogIds$1 as IssueChangelogIds, IssueCommentListRequest$1 as IssueCommentListRequest, index$a_IssueContextVariable as IssueContextVariable, IssueCreateMetadata$1 as IssueCreateMetadata, IssueEntityProperties$1 as IssueEntityProperties, IssueEntityPropertiesForMultiUpdate$1 as IssueEntityPropertiesForMultiUpdate, IssueError$1 as IssueError, IssueEvent$1 as IssueEvent, IssueFieldOption$1 as IssueFieldOption, IssueFieldOptionConfiguration$1 as IssueFieldOptionConfiguration, IssueFieldOptionCreate$1 as IssueFieldOptionCreate, IssueFieldOptionScope$1 as IssueFieldOptionScope, IssueFilterForBulkPropertyDelete$1 as IssueFilterForBulkPropertyDelete, IssueFilterForBulkPropertySet$1 as IssueFilterForBulkPropertySet, IssueLimitReport$1 as IssueLimitReport, index$a_IssueLimitReportRequest as IssueLimitReportRequest, IssueLink$1 as IssueLink, IssueLinkType$1 as IssueLinkType, IssueLinkTypes$3 as IssueLinkTypes, IssueList$1 as IssueList, IssueMatches$1 as IssueMatches, IssueMatchesForJQL$1 as IssueMatchesForJQL, IssuePickerSuggestions$1 as IssuePickerSuggestions, IssuePickerSuggestionsIssueType$1 as IssuePickerSuggestionsIssueType, IssueSecurityLevelMember$1 as IssueSecurityLevelMember, IssueSecuritySchemeToProjectMapping$1 as IssueSecuritySchemeToProjectMapping, IssueTransition$3 as IssueTransition, IssueTypeCreate$1 as IssueTypeCreate, IssueTypeDetails$1 as IssueTypeDetails, IssueTypeIds$1 as IssueTypeIds, IssueTypeIdsToRemove$1 as IssueTypeIdsToRemove, IssueTypeInfo$1 as IssueTypeInfo, IssueTypeIssueCreateMetadata$1 as IssueTypeIssueCreateMetadata, IssueTypeScheme$1 as IssueTypeScheme, IssueTypeSchemeDetails$1 as IssueTypeSchemeDetails, IssueTypeSchemeID$1 as IssueTypeSchemeID, IssueTypeSchemeMapping$1 as IssueTypeSchemeMapping, IssueTypeSchemeProjectAssociation$1 as IssueTypeSchemeProjectAssociation, IssueTypeSchemeProjects$1 as IssueTypeSchemeProjects, IssueTypeSchemeUpdateDetails$1 as IssueTypeSchemeUpdateDetails, IssueTypeScreenScheme$1 as IssueTypeScreenScheme, IssueTypeScreenSchemeDetails$1 as IssueTypeScreenSchemeDetails, IssueTypeScreenSchemeId$1 as IssueTypeScreenSchemeId, IssueTypeScreenSchemeItem$1 as IssueTypeScreenSchemeItem, IssueTypeScreenSchemeMapping$1 as IssueTypeScreenSchemeMapping, IssueTypeScreenSchemeMappingDetails$1 as IssueTypeScreenSchemeMappingDetails, IssueTypeScreenSchemeProjectAssociation$1 as IssueTypeScreenSchemeProjectAssociation, IssueTypeScreenSchemeUpdateDetails$1 as IssueTypeScreenSchemeUpdateDetails, IssueTypeScreenSchemesProjects$1 as IssueTypeScreenSchemesProjects, IssueTypeToContextMapping$1 as IssueTypeToContextMapping, IssueTypeUpdate$1 as IssueTypeUpdate, IssueTypeWithStatus$1 as IssueTypeWithStatus, IssueTypeWorkflowMapping$1 as IssueTypeWorkflowMapping, IssueTypesWorkflowMapping$1 as IssueTypesWorkflowMapping, IssueUpdateDetails$1 as IssueUpdateDetails, IssueUpdateMetadata$1 as IssueUpdateMetadata, IssuesAndJQLQueries$1 as IssuesAndJQLQueries, IssuesJqlMetaData$1 as IssuesJqlMetaData, IssuesMeta$1 as IssuesMeta, IssuesUpdate$1 as IssuesUpdate, JExpEvaluateIssuesJqlMetaData$1 as JExpEvaluateIssuesJqlMetaData, JExpEvaluateIssuesMeta$1 as JExpEvaluateIssuesMeta, index$a_JExpEvaluateMetaData as JExpEvaluateMetaData, JQLCount$1 as JQLCount, JQLCountRequest$1 as JQLCountRequest, JQLPersonalDataMigrationRequest$1 as JQLPersonalDataMigrationRequest, JQLQueryWithUnknownUsers$1 as JQLQueryWithUnknownUsers, JQLReferenceData$1 as JQLReferenceData, JexpEvaluateCtxIssues$1 as JexpEvaluateCtxIssues, JexpEvaluateCtxJqlIssues$1 as JexpEvaluateCtxJqlIssues, JexpIssues$1 as JexpIssues, JexpJqlIssues$1 as JexpJqlIssues, JiraExpressionAnalysis$1 as JiraExpressionAnalysis, JiraExpressionComplexity$1 as JiraExpressionComplexity, JiraExpressionEvalContext$1 as JiraExpressionEvalContext, JiraExpressionEvalRequest$1 as JiraExpressionEvalRequest, JiraExpressionEvalUsingEnhancedSearchRequest$1 as JiraExpressionEvalUsingEnhancedSearchRequest, JiraExpressionEvaluateContext$1 as JiraExpressionEvaluateContext, JiraExpressionEvaluationMetaData$1 as JiraExpressionEvaluationMetaData, JiraExpressionForAnalysis$1 as JiraExpressionForAnalysis, JiraExpressionResult$1 as JiraExpressionResult, JiraExpressionValidationError$1 as JiraExpressionValidationError, JiraExpressionsAnalysis$1 as JiraExpressionsAnalysis, JiraExpressionsComplexity$1 as JiraExpressionsComplexity, JiraExpressionsComplexityValue$1 as JiraExpressionsComplexityValue, JiraStatus$1 as JiraStatus, JiraWorkflow$1 as JiraWorkflow, JiraWorkflowStatus$1 as JiraWorkflowStatus, JqlFunctionPrecomputation$1 as JqlFunctionPrecomputation, JqlFunctionPrecomputationGetByIdRequest$1 as JqlFunctionPrecomputationGetByIdRequest, JqlFunctionPrecomputationGetByIdResponse$1 as JqlFunctionPrecomputationGetByIdResponse, JqlFunctionPrecomputationUpdate$1 as JqlFunctionPrecomputationUpdate, JqlFunctionPrecomputationUpdateRequest$1 as JqlFunctionPrecomputationUpdateRequest, JqlQueriesToParse$1 as JqlQueriesToParse, JqlQueriesToSanitize$1 as JqlQueriesToSanitize, JqlQuery$1 as JqlQuery, JqlQueryClause$1 as JqlQueryClause, JqlQueryField$1 as JqlQueryField, JqlQueryFieldEntityProperty$1 as JqlQueryFieldEntityProperty, JqlQueryOrderByClause$1 as JqlQueryOrderByClause, JqlQueryOrderByClauseElement$1 as JqlQueryOrderByClauseElement, JqlQueryToSanitize$1 as JqlQueryToSanitize, index$a_JsonContextVariable as JsonContextVariable, JsonNode$1 as JsonNode, JsonType$3 as JsonType, License$1 as License, LicenseMetric$1 as LicenseMetric, LicensedApplication$1 as LicensedApplication, LinkGroup$2 as LinkGroup, LinkIssueRequestJson$1 as LinkIssueRequestJson, LinkedIssue$1 as LinkedIssue, ListWrapperCallbackApplicationRole$1 as ListWrapperCallbackApplicationRole, ListWrapperCallbackGroupName$1 as ListWrapperCallbackGroupName, Locale$1 as Locale, MappingsByIssueTypeOverride$1 as MappingsByIssueTypeOverride, MappingsByWorkflow$1 as MappingsByWorkflow, MoveField$1 as MoveField, MultiIssueEntityProperties$1 as MultiIssueEntityProperties, MultipleCustomFieldValuesUpdate$1 as MultipleCustomFieldValuesUpdate, MultipleCustomFieldValuesUpdateDetails$1 as MultipleCustomFieldValuesUpdateDetails, NestedResponse$1 as NestedResponse, NewUserDetails$1 as NewUserDetails, Notification$1 as Notification, NotificationEvent$1 as NotificationEvent, NotificationRecipients$1 as NotificationRecipients, NotificationRecipientsRestrictions$1 as NotificationRecipientsRestrictions, NotificationScheme$1 as NotificationScheme, NotificationSchemeAndProjectMapping$1 as NotificationSchemeAndProjectMapping, NotificationSchemeAndProjectMappingPage$1 as NotificationSchemeAndProjectMappingPage, NotificationSchemeEvent$1 as NotificationSchemeEvent, NotificationSchemeEventDetails$1 as NotificationSchemeEventDetails, NotificationSchemeEventTypeId$1 as NotificationSchemeEventTypeId, NotificationSchemeId$1 as NotificationSchemeId, NotificationSchemeNotificationDetails$1 as NotificationSchemeNotificationDetails, OldToNewSecurityLevelMappings$1 as OldToNewSecurityLevelMappings, OperationMessage$1 as OperationMessage, Operations$3 as Operations, OrderOfCustomFieldOptions$1 as OrderOfCustomFieldOptions, OrderOfIssueTypes$1 as OrderOfIssueTypes, PageBulkContextualConfiguration$1 as PageBulkContextualConfiguration, PageChangelog$1 as PageChangelog, PageComment$1 as PageComment, PageComponentWithIssueCount$1 as PageComponentWithIssueCount, PageContextForProjectAndIssueType$1 as PageContextForProjectAndIssueType, PageContextualConfiguration$1 as PageContextualConfiguration, PageCustomFieldContext$1 as PageCustomFieldContext, PageCustomFieldContextDefaultValue$1 as PageCustomFieldContextDefaultValue, PageCustomFieldContextOption$1 as PageCustomFieldContextOption, PageCustomFieldContextProjectMapping$1 as PageCustomFieldContextProjectMapping, PageDashboard$1 as PageDashboard, PageField$1 as PageField, index$a_PageFieldConfiguration as PageFieldConfiguration, PageFieldConfigurationIssueTypeItem$1 as PageFieldConfigurationIssueTypeItem, PageFieldConfigurationItem$1 as PageFieldConfigurationItem, PageFieldConfigurationScheme$1 as PageFieldConfigurationScheme, PageFieldConfigurationSchemeProjects$1 as PageFieldConfigurationSchemeProjects, PageFilterDetails$1 as PageFilterDetails, PageGroupDetails$1 as PageGroupDetails, PageIssueFieldOption$1 as PageIssueFieldOption, PageIssueSecurityLevelMember$1 as PageIssueSecurityLevelMember, PageIssueSecuritySchemeToProjectMapping$1 as PageIssueSecuritySchemeToProjectMapping, PageIssueTypeScheme$1 as PageIssueTypeScheme, PageIssueTypeSchemeMapping$1 as PageIssueTypeSchemeMapping, PageIssueTypeSchemeProjects$1 as PageIssueTypeSchemeProjects, PageIssueTypeScreenScheme$1 as PageIssueTypeScreenScheme, PageIssueTypeScreenSchemeItem$1 as PageIssueTypeScreenSchemeItem, PageIssueTypeScreenSchemesProjects$1 as PageIssueTypeScreenSchemesProjects, PageIssueTypeToContextMapping$1 as PageIssueTypeToContextMapping, PageJqlFunctionPrecomputation$1 as PageJqlFunctionPrecomputation, PageNotificationScheme$1 as PageNotificationScheme, PageOfChangelogs$1 as PageOfChangelogs, PageOfComments$1 as PageOfComments, PageOfCreateMetaIssueTypeWithField$1 as PageOfCreateMetaIssueTypeWithField, PageOfCreateMetaIssueTypes$1 as PageOfCreateMetaIssueTypes, PageOfDashboards$1 as PageOfDashboards, PageOfStatuses$1 as PageOfStatuses, PageOfWorklogs$1 as PageOfWorklogs, PagePriority$1 as PagePriority, PageProject$1 as PageProject, PageProjectDetails$1 as PageProjectDetails, PageResolution$1 as PageResolution, PageScreen$1 as PageScreen, PageScreenScheme$1 as PageScreenScheme, PageScreenWithTab$1 as PageScreenWithTab, PageSecurityLevel$1 as PageSecurityLevel, PageSecurityLevelMember$1 as PageSecurityLevelMember, PageSecuritySchemeWithProjects$1 as PageSecuritySchemeWithProjects, PageString$1 as PageString, PageUiModificationDetails$1 as PageUiModificationDetails, PageUser$1 as PageUser, PageUserDetails$1 as PageUserDetails, PageUserKey$1 as PageUserKey, PageVersion$1 as PageVersion, PageWebhook$1 as PageWebhook, PageWithCursorGetPlanResponseForPage$1 as PageWithCursorGetPlanResponseForPage, PageWithCursorGetTeamResponseForPage$1 as PageWithCursorGetTeamResponseForPage, PageWorkflow$1 as PageWorkflow, PageWorkflowScheme$1 as PageWorkflowScheme, PageWorkflowTransitionRules$1 as PageWorkflowTransitionRules, PagedListUserDetailsApplicationUser$1 as PagedListUserDetailsApplicationUser, ParsedJqlQueries$1 as ParsedJqlQueries, ParsedJqlQuery$1 as ParsedJqlQuery, PermissionDetails$1 as PermissionDetails, PermissionGrant$1 as PermissionGrant, PermissionGrants$1 as PermissionGrants, PermissionHolder$1 as PermissionHolder, PermissionScheme$1 as PermissionScheme, PermissionSchemes$3 as PermissionSchemes, Permissions$3 as Permissions, PermissionsKeys$1 as PermissionsKeys, PermittedProjects$1 as PermittedProjects, Plan$1 as Plan, Priority$1 as Priority, PriorityId$1 as PriorityId, PriorityMapping$1 as PriorityMapping, PrioritySchemeChangesWithoutMappings$1 as PrioritySchemeChangesWithoutMappings, PrioritySchemeId$1 as PrioritySchemeId, PrioritySchemeWithPaginatedPrioritiesAndProjects$1 as PrioritySchemeWithPaginatedPrioritiesAndProjects, PriorityWithSequence$1 as PriorityWithSequence, Project$2 as Project, ProjectAndIssueTypePair$1 as ProjectAndIssueTypePair, ProjectAvatars$3 as ProjectAvatars, ProjectCategory$1 as ProjectCategory, ProjectComponent$1 as ProjectComponent, ProjectCustomTemplateCreateRequest$1 as ProjectCustomTemplateCreateRequest, ProjectDataPolicies$1 as ProjectDataPolicies, ProjectDataPolicy$1 as ProjectDataPolicy, ProjectDetails$1 as ProjectDetails, ProjectEmailAddress$1 as ProjectEmailAddress, ProjectFeature$1 as ProjectFeature, ProjectFeatureToggleRequest$1 as ProjectFeatureToggleRequest, ProjectId$1 as ProjectId, ProjectIdentifier$1 as ProjectIdentifier, ProjectIdentifiers$1 as ProjectIdentifiers, ProjectIds$1 as ProjectIds, ProjectInsight$1 as ProjectInsight, ProjectIssueCreateMetadata$1 as ProjectIssueCreateMetadata, ProjectIssueSecurityLevels$1 as ProjectIssueSecurityLevels, ProjectIssueTypeHierarchy$1 as ProjectIssueTypeHierarchy, ProjectIssueTypeMapping$1 as ProjectIssueTypeMapping, ProjectIssueTypeMappings$1 as ProjectIssueTypeMappings, ProjectIssueTypes$1 as ProjectIssueTypes, ProjectIssueTypesHierarchyLevel$1 as ProjectIssueTypesHierarchyLevel, ProjectLandingPageInfo$1 as ProjectLandingPageInfo, ProjectPermissions$1 as ProjectPermissions, ProjectRole$1 as ProjectRole, ProjectRoleActorsUpdate$1 as ProjectRoleActorsUpdate, ProjectRoleDetails$1 as ProjectRoleDetails, ProjectRoleGroup$1 as ProjectRoleGroup, ProjectRoleUser$1 as ProjectRoleUser, ProjectScope$1 as ProjectScope, ProjectType$1 as ProjectType, ProjectUsage$1 as ProjectUsage, ProjectUsagePage$1 as ProjectUsagePage, ProjectWithDataPolicy$1 as ProjectWithDataPolicy, PropertyKey$2 as PropertyKey, PropertyKeys$2 as PropertyKeys, PublishedWorkflowId$1 as PublishedWorkflowId, RegisteredWebhook$1 as RegisteredWebhook, RemoteIssueLink$1 as RemoteIssueLink, RemoteIssueLinkIdentifies$1 as RemoteIssueLinkIdentifies, RemoteIssueLinkRequest$1 as RemoteIssueLinkRequest, RemoteObject$1 as RemoteObject, RemoveOptionFromIssuesResult$1 as RemoveOptionFromIssuesResult, ReorderIssuePriorities$1 as ReorderIssuePriorities, ReorderIssueResolutionsRequest$1 as ReorderIssueResolutionsRequest, RequiredMappingByIssueType$1 as RequiredMappingByIssueType, RequiredMappingByWorkflows$1 as RequiredMappingByWorkflows, Resolution$1 as Resolution, ResolutionId$1 as ResolutionId, RestrictedPermission$1 as RestrictedPermission, RichText$1 as RichText, RoleActor$1 as RoleActor, RuleConfiguration$1 as RuleConfiguration, SanitizedJqlQueries$1 as SanitizedJqlQueries, SanitizedJqlQuery$1 as SanitizedJqlQuery, Scope$2 as Scope, Screen$1 as Screen, ScreenDetails$1 as ScreenDetails, ScreenScheme$1 as ScreenScheme, ScreenSchemeDetails$1 as ScreenSchemeDetails, ScreenSchemeId$1 as ScreenSchemeId, ScreenTypes$1 as ScreenTypes, ScreenWithTab$1 as ScreenWithTab, ScreenableField$1 as ScreenableField, ScreenableTab$1 as ScreenableTab, SearchAndReconcileResults$1 as SearchAndReconcileResults, index$a_SearchAutoComplete as SearchAutoComplete, SearchRequest$1 as SearchRequest, SearchResults$2 as SearchResults, SecurityLevel$1 as SecurityLevel, SecurityLevelMember$1 as SecurityLevelMember, SecurityScheme$1 as SecurityScheme, SecuritySchemeId$1 as SecuritySchemeId, SecuritySchemeLevel$1 as SecuritySchemeLevel, SecuritySchemeLevelMember$1 as SecuritySchemeLevelMember, SecuritySchemeMembersRequest$1 as SecuritySchemeMembersRequest, SecuritySchemeWithProjects$1 as SecuritySchemeWithProjects, SecuritySchemes$1 as SecuritySchemes, ServerInformation$1 as ServerInformation, ServiceRegistry$3 as ServiceRegistry, ServiceRegistryTier$1 as ServiceRegistryTier, SetDefaultLevelsRequest$1 as SetDefaultLevelsRequest, SetDefaultPriorityRequest$1 as SetDefaultPriorityRequest, SetDefaultResolutionRequest$1 as SetDefaultResolutionRequest, SharePermission$1 as SharePermission, SharePermissionInput$1 as SharePermissionInput, SimpleApplicationProperty$1 as SimpleApplicationProperty, SimpleErrorCollection$1 as SimpleErrorCollection, SimpleLink$1 as SimpleLink, SimpleListWrapperApplicationRole$1 as SimpleListWrapperApplicationRole, SimpleListWrapperGroupName$1 as SimpleListWrapperGroupName, SimpleUsage$1 as SimpleUsage, Status$4 as Status, StatusCategory$3 as StatusCategory, StatusCreate$1 as StatusCreate, StatusCreateRequest$1 as StatusCreateRequest, StatusDetails$2 as StatusDetails, index$a_StatusLayoutUpdate as StatusLayoutUpdate, StatusMapping$1 as StatusMapping, index$a_StatusMappingDTO as StatusMappingDTO, StatusMetadata$1 as StatusMetadata, index$a_StatusMigration as StatusMigration, StatusProjectIssueTypeUsage$1 as StatusProjectIssueTypeUsage, index$a_StatusProjectIssueTypeUsageDTO as StatusProjectIssueTypeUsageDTO, StatusProjectIssueTypeUsagePage$1 as StatusProjectIssueTypeUsagePage, StatusProjectUsage$1 as StatusProjectUsage, index$a_StatusProjectUsageDTO as StatusProjectUsageDTO, StatusProjectUsagePage$1 as StatusProjectUsagePage, index$a_StatusReferenceAndPort as StatusReferenceAndPort, StatusScope$1 as StatusScope, StatusUpdate$1 as StatusUpdate, StatusUpdateRequest$1 as StatusUpdateRequest, index$a_StatusWorkflowUsageDTO as StatusWorkflowUsageDTO, StatusWorkflowUsagePage$1 as StatusWorkflowUsagePage, StatusWorkflowUsageWorkflow$1 as StatusWorkflowUsageWorkflow, StatusesPerWorkflow$1 as StatusesPerWorkflow, SuggestedIssue$1 as SuggestedIssue, index$a_SuggestedMappingsForPrioritiesRequestBean as SuggestedMappingsForPrioritiesRequestBean, index$a_SuggestedMappingsForProjectsRequestBean as SuggestedMappingsForProjectsRequestBean, SuggestedMappingsRequest$1 as SuggestedMappingsRequest, SystemAvatars$1 as SystemAvatars, index$a_TabMetadata as TabMetadata, TaskProgressNode$1 as TaskProgressNode, TaskProgressObject$1 as TaskProgressObject, TaskProgressRemoveOptionFromIssuesResult$1 as TaskProgressRemoveOptionFromIssuesResult, TimeTrackingConfiguration$1 as TimeTrackingConfiguration, TimeTrackingDetails$1 as TimeTrackingDetails, TimeTrackingProvider$1 as TimeTrackingProvider, Transition$1 as Transition, index$a_TransitionScreenDetails as TransitionScreenDetails, index$a_TransitionUpdateDTO as TransitionUpdateDTO, Transitions$1 as Transitions, UiModificationContextDetails$1 as UiModificationContextDetails, UiModificationDetails$1 as UiModificationDetails, UiModificationIdentifiers$1 as UiModificationIdentifiers, UnrestrictedUserEmail$1 as UnrestrictedUserEmail, UpdateCustomFieldDetails$1 as UpdateCustomFieldDetails, UpdateDefaultProjectClassification$3 as UpdateDefaultProjectClassification, UpdateFieldConfigurationSchemeDetails$1 as UpdateFieldConfigurationSchemeDetails, UpdateIssueSecurityLevelDetails$1 as UpdateIssueSecurityLevelDetails, UpdateIssueSecuritySchemeRequest$1 as UpdateIssueSecuritySchemeRequest, UpdateNotificationSchemeDetails$1 as UpdateNotificationSchemeDetails, UpdatePrioritiesInSchemeRequest$1 as UpdatePrioritiesInSchemeRequest, UpdatePriorityDetails$1 as UpdatePriorityDetails, UpdatePrioritySchemeRequest$1 as UpdatePrioritySchemeRequest, UpdatePrioritySchemeResponse$1 as UpdatePrioritySchemeResponse, UpdateProjectDetails$1 as UpdateProjectDetails, UpdateProjectsInSchemeRequest$1 as UpdateProjectsInSchemeRequest, UpdateResolutionDetails$1 as UpdateResolutionDetails, UpdateScreenDetails$1 as UpdateScreenDetails, UpdateScreenSchemeDetails$1 as UpdateScreenSchemeDetails, UpdateScreenTypes$1 as UpdateScreenTypes, UpdateUiModificationDetails$1 as UpdateUiModificationDetails, UpdateUserToGroup$1 as UpdateUserToGroup, UpdatedProjectCategory$1 as UpdatedProjectCategory, User$3 as User, UserAvatarUrls$1 as UserAvatarUrls, index$a_UserContextVariable as UserContextVariable, UserDetails$2 as UserDetails, UserKey$1 as UserKey, UserList$1 as UserList, UserMigration$1 as UserMigration, UserNavProperty$1 as UserNavProperty, UserPickerUser$1 as UserPickerUser, ValidationOptionsForCreate$1 as ValidationOptionsForCreate, ValidationOptionsForUpdate$1 as ValidationOptionsForUpdate, Version$2 as Version, VersionApprover$1 as VersionApprover, VersionIssueCounts$1 as VersionIssueCounts, VersionIssuesStatus$1 as VersionIssuesStatus, VersionMove$1 as VersionMove, VersionRelatedWork$1 as VersionRelatedWork, VersionUnresolvedIssuesCount$1 as VersionUnresolvedIssuesCount, VersionUsageInCustomField$1 as VersionUsageInCustomField, Visibility$1 as Visibility, Votes$1 as Votes, index$a_WarningCollection as WarningCollection, Watchers$1 as Watchers, Webhook$1 as Webhook, WebhookDetails$1 as WebhookDetails, WebhookRegistrationDetails$1 as WebhookRegistrationDetails, WebhooksExpirationDate$1 as WebhooksExpirationDate, Workflow$1 as Workflow, WorkflowAssociationStatusMapping$1 as WorkflowAssociationStatusMapping, WorkflowCapabilities$3 as WorkflowCapabilities, WorkflowCondition$1 as WorkflowCondition, WorkflowCreate$1 as WorkflowCreate, WorkflowCreateRequest$1 as WorkflowCreateRequest, WorkflowElementReference$1 as WorkflowElementReference, WorkflowId$1 as WorkflowId, WorkflowLayout$1 as WorkflowLayout, WorkflowMetadataAndIssueTypeRestModel$1 as WorkflowMetadataAndIssueTypeRestModel, WorkflowMetadataRestModel$1 as WorkflowMetadataRestModel, WorkflowOperations$1 as WorkflowOperations, WorkflowProjectIssueTypeUsage$1 as WorkflowProjectIssueTypeUsage, index$a_WorkflowProjectIssueTypeUsageDTO as WorkflowProjectIssueTypeUsageDTO, WorkflowProjectIssueTypeUsagePage$1 as WorkflowProjectIssueTypeUsagePage, index$a_WorkflowProjectUsageDTO as WorkflowProjectUsageDTO, WorkflowRead$1 as WorkflowRead, WorkflowReferenceStatus$1 as WorkflowReferenceStatus, WorkflowRuleConfiguration$1 as WorkflowRuleConfiguration, WorkflowRules$1 as WorkflowRules, WorkflowRulesSearch$1 as WorkflowRulesSearch, WorkflowRulesSearchDetails$1 as WorkflowRulesSearchDetails, WorkflowScheme$1 as WorkflowScheme, WorkflowSchemeAssociation$1 as WorkflowSchemeAssociation, WorkflowSchemeAssociations$1 as WorkflowSchemeAssociations, WorkflowSchemeIdName$1 as WorkflowSchemeIdName, WorkflowSchemeProjectAssociation$1 as WorkflowSchemeProjectAssociation, WorkflowSchemeProjectUsage$1 as WorkflowSchemeProjectUsage, WorkflowSchemeReadRequest$1 as WorkflowSchemeReadRequest, WorkflowSchemeReadResponse$1 as WorkflowSchemeReadResponse, index$a_WorkflowSchemeUpdateRequest as WorkflowSchemeUpdateRequest, index$a_WorkflowSchemeUpdateRequiredMappingsRequest as WorkflowSchemeUpdateRequiredMappingsRequest, WorkflowSchemeUpdateRequiredMappingsResponse$1 as WorkflowSchemeUpdateRequiredMappingsResponse, WorkflowSchemeUsage$1 as WorkflowSchemeUsage, index$a_WorkflowSchemeUsageDTO as WorkflowSchemeUsageDTO, WorkflowSchemeUsagePage$1 as WorkflowSchemeUsagePage, WorkflowScope$1 as WorkflowScope, WorkflowSearchResponse$1 as WorkflowSearchResponse, WorkflowStatus$1 as WorkflowStatus, WorkflowStatusAndPort$1 as WorkflowStatusAndPort, WorkflowStatusLayout$1 as WorkflowStatusLayout, WorkflowStatusProperties$1 as WorkflowStatusProperties, WorkflowStatusUpdate$1 as WorkflowStatusUpdate, WorkflowTransition$1 as WorkflowTransition, WorkflowTransitionProperty$1 as WorkflowTransitionProperty, WorkflowTransitionRule$1 as WorkflowTransitionRule, WorkflowTransitionRules$3 as WorkflowTransitionRules, WorkflowTransitionRulesDetails$1 as WorkflowTransitionRulesDetails, WorkflowTransitionRulesUpdate$1 as WorkflowTransitionRulesUpdate, WorkflowTransitionRulesUpdateErrorDetails$1 as WorkflowTransitionRulesUpdateErrorDetails, WorkflowTransitionRulesUpdateErrors$1 as WorkflowTransitionRulesUpdateErrors, WorkflowTransitions$1 as WorkflowTransitions, WorkflowTrigger$1 as WorkflowTrigger, WorkflowUpdate$1 as WorkflowUpdate, WorkflowUpdateRequest$1 as WorkflowUpdateRequest, WorkflowValidationError$1 as WorkflowValidationError, WorkflowValidationErrorList$1 as WorkflowValidationErrorList, WorkflowsWithTransitionRulesDetails$1 as WorkflowsWithTransitionRulesDetails, Worklog$1 as Worklog, WorklogIdsRequest$1 as WorklogIdsRequest, WorklogsMoveRequest$1 as WorklogsMoveRequest, WorkspaceDataPolicy$1 as WorkspaceDataPolicy };
}

interface AddActorUsers$1 extends ActorsMap$1 {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string | number;
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface AddAtlassianTeam$1 extends AddAtlassianTeamRequest {
    /** The ID of the plan. */
    planId: number;
}

/**
 * Represents an attachment to be added to an issue.
 *
 * @example
 *   ```typescript
 *     const attachment: Attachment = {
 *       filename: 'example.txt',
 *       file: Buffer.from('Hello, world!'),
 *       mimeType: 'text/plain',
 *     };
 *   ```
 */
interface Attachment$4 {
    /**
     * The name of the attachment file.
     *
     * @example
     *   ```typescript
     *   const filename = 'document.pdf';
     *   ```
     */
    filename: string;
    /**
     * The content of the attachment. Can be one of the following:
     *
     * - `Buffer`: For binary data.
     * - `ReadableStream`: For streaming large files.
     * - `string`: For text-based content.
     * - `Blob`: For browser-like blob objects.
     * - `File`: For file objects with metadata (e.g., in web environments).
     *
     * @example
     *   ```typescript
     *   const fileContent = fs.readFileSync('./document.pdf');
     *   ```
     */
    file: Buffer | ReadableStream | Readable | string | Blob | File;
    /**
     * Optional MIME type of the attachment. Example values include:
     *
     * - 'application/pdf'
     * - 'image/png'
     *
     * If not provided, the MIME type will be automatically detected based on the filename.
     *
     * @example
     *   ```typescript
     *   const mimeType = 'application/pdf';
     *   ```
     */
    mimeType?: string;
}
/**
 * Parameters for adding attachments to an issue.
 *
 * @example
 *   ```typescript
 *   const addAttachmentParams: AddAttachment = {
 *     issueIdOrKey: 'PROJECT-123',
 *     attachment: {
 *       filename: 'example.txt',
 *       file: 'Hello, world!',
 *       mimeType: 'text/plain',
 *     },
 *   };
 *   ```
 */
interface AddAttachment$1 {
    /**
     * The ID or key of the issue to which the attachments will be added.
     *
     * @example
     *   ```typescript
     *   const issueIdOrKey = 'PROJECT-123';
     *   ```
     */
    issueIdOrKey: string;
    /**
     * The attachment(s) to be added. Can be a single `Attachment` object or an array of `Attachment` objects.
     *
     * @example
     *   ```typescript
     *   const attachments = [
     *     {
     *       filename: 'file1.txt',
     *       file: Buffer.from('File 1 content'),
     *       mimeType: 'text/plain',
     *     },
     *     {
     *       filename: 'proof image.png',
     *       file: fs.readFileSync('./image.png'), // Reads the image file into a Buffer
     *     },
     *   ];
     *   ```
     */
    attachment: Attachment$4 | Attachment$4[];
}

interface AddComment$1 extends Comment$2 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body
     * rendered in HTML.
     */
    expand?: string;
}

interface AddFieldToDefaultScreen$1 {
    /** The ID of the field. */
    fieldId: string;
}

interface AddGadget$1 extends DashboardGadgetSettings$1 {
    /** The ID of the dashboard. */
    dashboardId: number;
}

interface AddIssueTypesToContext$1 extends IssueTypeIds$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface AddIssueTypesToIssueTypeScheme$1 extends IssueTypeIds$1 {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
}

interface AddNotifications$1 extends AddNotificationsDetails {
    /** The ID of the notification scheme. */
    id: string;
}

interface AddProjectRoleActorsToRole$1 extends ActorInput$1 {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface AddScreenTab$1 extends ScreenableTab$1 {
    /** The ID of the screen. */
    screenId: number;
}

interface AddScreenTabField$1 extends AddField$1 {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
}

interface AddSecurityLevel$1 extends AddSecuritySchemeLevelsRequest$1 {
    /** The ID of the issue security scheme. */
    schemeId: string;
}

interface AddSecurityLevelMembers$1 extends SecuritySchemeMembersRequest$1 {
    /** The ID of the issue security scheme. */
    schemeId: string;
    /** The ID of the issue security level. */
    levelId: string;
}

interface AddSharePermission$1 extends SharePermissionInput$1 {
    /** The ID of the filter. */
    id: number;
}

interface AddUserToGroup$1 extends UpdateUserToGroup$1 {
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. The name of the group. This
     * parameter cannot be used with the `groupId` parameter.
     */
    groupName?: string;
    /** The ID of the group. This parameter cannot be used with the `groupName` parameter. */
    groupId?: string;
}

interface AddVote$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface AddWatcher$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** Account id for specific user. */
    accountId?: string;
}

interface AddWorklog$1 extends Worklog$1 {
    /** The ID or key the issue. */
    issueIdOrKey: string;
    /** Whether users watching the issue are notified by email. */
    notifyUsers?: boolean;
    /**
     * Defines how to update the issue's time estimate, the options are:
     *
     * - `new` Sets the estimate to a specific value, defined in `newEstimate`.
     * - `leave` Leaves the estimate unchanged.
     * - `manual` Reduces the estimate by amount specified in `reduceBy`.
     * - `auto` Reduces the estimate by the value of `timeSpent` in the worklog.
     */
    adjustEstimate?: 'new' | 'leave' | 'manual' | 'auto' | string;
    /**
     * The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For
     * example, _2d_. Required when `adjustEstimate` is `new`.
     */
    newEstimate?: string;
    /**
     * The amount to reduce the issue's remaining estimate by, as days (#d), hours (#h), or minutes (#m). For example,
     * _2d_. Required when `adjustEstimate` is `manual`.
     */
    reduceBy?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about work logs in the response. This parameter accepts `properties`, which returns worklog
     * properties.
     */
    expand?: string;
    /**
     * Whether the worklog entry should be added to the issue even if the issue is not editable, because
     * jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag.
     */
    overrideEditableFlag?: boolean;
}

interface AnalyseExpression$1 extends JiraExpressionForAnalysis$1 {
    /**
     * The check to perform:
     *
     * - `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are
     *   validated. For example, the expression's length.
     * - `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors
     *   that would result in the expression failure at runtime are reported. For example, accessing properties that don't
     *   exist or passing the wrong number of arguments to functions. Also performs the syntax check.
     * - `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive
     *   operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each
     *   expression may execute.
     */
    check?: 'syntax' | 'type' | 'complexity' | string;
}

interface AppendMappingsForIssueTypeScreenScheme$1 extends IssueTypeScreenSchemeMappingDetails$1 {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
}

interface ArchiveIssues$1 {
    issueIdsOrKeys?: string[];
}

interface ArchiveIssuesAsync$1 {
    jql?: string;
}

interface ArchivePlan$1 {
    /** The ID of the plan. */
    planId: number;
}

interface ArchiveProject$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface AssignFieldConfigurationSchemeToProject$1 extends FieldConfigurationSchemeProjectAssociation$1 {
}

interface AssignIssue$1 extends Omit<User$3, 'accountId' | 'active'> {
    /** The ID or key of the issue to be assigned. */
    issueIdOrKey: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. If passed `null` it will unassigned issue.
     */
    accountId: string | null;
    /** Whether the user is active. */
    active?: boolean;
}

interface AssignIssueTypeSchemeToProject$1 extends IssueTypeSchemeProjectAssociation$1 {
}

interface AssignIssueTypeScreenSchemeToProject$1 extends IssueTypeScreenSchemeProjectAssociation$1 {
}

interface AssignPermissionScheme$1 extends Id$1 {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Note that permissions are included when
     * you specify any value. Expand options include:
     *
     * - `all` Returns all expandable information.
     * - `field` Returns information about the custom field granted the permission.
     * - `group` Returns information about the group that is granted the permission.
     * - `permissions` Returns all permission grants for each permission scheme.
     * - `projectRole` Returns information about the project role granted the permission.
     * - `user` Returns information about the user who is granted the permission.
     */
    expand?: 'all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user')[] | string;
}

interface AssignProjectsToCustomFieldContext$1 extends ProjectIds$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface AssignSchemeToProject$1 extends WorkflowSchemeProjectAssociation$1 {
}

/** Issue security scheme, project, and remapping details. */
interface AssociateSchemesToProjects$1 {
    /** The list of scheme levels which should be remapped to new levels of the issue security scheme. */
    oldToNewSecurityLevelMappings: OldToNewSecurityLevelMappings$1[];
    /** The ID of the project. */
    projectId: string;
    /** The ID of the issue security scheme. Providing null will clear the association with the issue security scheme. */
    schemeId: string;
}

interface BulkDeleteIssueProperty$1 extends IssueFilterForBulkPropertyDelete$1 {
    /** The key of the property. */
    propertyKey: string;
}

interface BulkDeleteWorklogs$1 extends WorklogIdsRequest$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Defines how to update the issue's time estimate, the options are:
     *
     * `leave` Leaves the estimate unchanged. `auto` Reduces the estimate by the aggregate value of `timeSpent` across all
     * worklogs being deleted.
     */
    adjustEstimate?: 'leave' | 'auto' | string;
    /**
     * Whether the work log entries should be removed to the issue even if the issue is not editable, because
     * jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with
     * admin permission can use this flag.
     */
    overrideEditableFlag?: boolean;
}

/** Details of a request to bulk edit shareable entity. */
interface BulkEditDashboards$1 {
    /** Allowed action for bulk edit shareable entity */
    action: string;
    changeOwnerDetails?: BulkChangeOwnerDetails$1;
    /** The id list of shareable entities to be changed. */
    entityIds: number[];
    /** Whether the actions are executed by users with Administer Jira global permission. */
    extendAdminPermissions?: boolean;
    permissionDetails?: PermissionDetails$1;
}

interface BulkFetchIssues$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about issues in the response. Note that, unlike the majority of instances where `expand` is specified,
     * `expand` is defined as a list of values. The expand options are:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     */
    expand?: 'renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | string | ('renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | string)[];
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * `*all` Returns all fields. `*navigable` Returns navigable fields. Any issue field, prefixed with a minus to
     * exclude.
     *
     *     The default is `*navigable`.
     *
     *     Examples:
     *
     * `summary,comment` Returns the summary and comments fields only. `-description` Returns all navigable (default)
     * fields except description. `*all,-comment` Returns all fields except comments.
     *
     *     Multiple `fields` parameters can be included in a request.
     *
     *     Note: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-2-issue-issueIdOrKey-get) where the default is all fields.
     */
    fields?: string[];
    /** Reference fields by their key (rather than ID). The default is `false`. */
    fieldsByKeys?: boolean;
    /** An array of issue IDs or issue keys to fetch. You can mix issue IDs and keys in the same query. */
    issueIdsOrKeys: string[];
    /**
     * A list of issue property keys of issue properties to be included in the results. A maximum of 5 issue property keys
     * can be specified.
     */
    properties?: string[];
}

interface BulkGetGroups$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example,
     * `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`.
     */
    groupId?: string[];
    /**
     * The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example,
     * `groupName=administrators&groupName=jira-software-users`.
     */
    groupName?: string[];
    /** The access level of a group. Valid values: 'site-admin', 'admin', 'user'. */
    accessType?: 'site-admin' | 'admin' | 'user' | string;
    /**
     * The application key of the product user groups to search for. Valid values: 'jira-servicedesk', 'jira-software',
     * 'jira-product-discovery', 'jira-core'.
     */
    applicationKey?: 'jira-servicedesk' | 'jira-software' | 'jira-product-discovery' | 'jira-core' | string;
}

interface BulkGetUsers$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The account ID of a user. To specify multiple users, pass multiple `accountId` parameters. For example,
     * `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`.
     */
    accountId: string[];
}

interface BulkGetUsersMigration$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Username of a user. To specify multiple users, pass multiple copies of this parameter. For example,
     * `username=fred&username=barney`. Required if `key` isn't provided. Cannot be provided if `key` is present.
     */
    username?: string[];
    /**
     * Key of a user. To specify multiple users, pass multiple copies of this parameter. For example,
     * `key=fred&key=barney`. Required if `username` isn't provided. Cannot be provided if `username` is present.
     */
    key?: string[];
}

interface BulkMoveWorklogs$1 {
    issueIdOrKey: string;
    /**
     * Defines how to update the issues' time estimate, the options are:
     *
     * - `leave` Leaves the estimate unchanged.
     * - `auto` Reduces the estimate by the aggregate value of `timeSpent` across all worklogs being moved in the source
     *   issue, and increases it in the destination issue.
     */
    adjustEstimate?: 'leave' | 'auto' | string;
    /**
     * Whether the work log entry should be moved to and from the issues even if the issues are not editable, because
     * jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with
     * admin permission can use this flag.
     */
    overrideEditableFlag?: boolean;
    worklogs: WorklogsMoveRequest$1;
}

interface BulkSetIssuePropertiesByIssue$1 extends MultiIssueEntityProperties$1 {
}

interface BulkSetIssueProperty$1 extends BulkIssuePropertyUpdateRequest$1 {
    /** The key of the property. The maximum length is 255 characters. */
    propertyKey: string;
}

interface BulkSetIssuesProperties$1 extends IssueEntityProperties$1 {
}

interface CancelTask$1 {
    /** The ID of the task. */
    taskId: string;
}

interface ChangeFilterOwner$1 {
    /** The ID of the filter to update. */
    id: number;
    accountId: string;
}

interface CopyDashboard$1 extends DashboardDetails$1 {
    id: string;
    /**
     * Whether admin level permissions are used. It should only be true if the user has _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    extendAdminPermissions?: boolean;
}

interface CountIssues$1 extends JQLCountRequest$1 {
}

interface CreateAssociations$1 extends FieldAssociationsRequest$1 {
}

interface CreateComponent$1 extends ProjectComponent$1 {
}

interface CreateCustomField$1 extends CustomFieldDefinitionJson$1 {
}

interface CreateCustomFieldContext$2 {
    id: string;
    /** The ID of the custom field. */
    fieldId: string;
    /** The name of the context. */
    name: string;
    /** The description of the context. */
    description?: string;
    /** The list of project IDs associated with the context. If the list is empty, the context is global. */
    projectIds?: string[];
    /** The list of issue types IDs for the context. If the list is empty, the context refers to all issue types. */
    issueTypeIds?: string[];
}

interface CreateCustomFieldOption$1 extends BulkCustomFieldOptionCreateRequest$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface CreateDashboard$1 extends Omit<DashboardDetails$1, 'editPermissions'> {
    /** The edit permissions for the dashboard. */
    editPermissions?: SharePermission$1[];
    /**
     * Whether admin level permissions are used. It should only be true if the user has _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    extendAdminPermissions?: boolean;
}

interface CreateFieldConfiguration$1 extends FieldConfigurationDetails$1 {
}

interface CreateFieldConfigurationScheme$1 extends UpdateFieldConfigurationSchemeDetails$1 {
}

interface CreateFilter$1 extends Filter$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
    /**
     * EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be created.
     * Available to users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideSharePermissions?: boolean;
}

type CreateGroup$1 = AddGroup$1 & Record<string, any>;

interface CreateIssue$1 extends Omit<IssueUpdateDetails$1, 'fields'> {
    /**
     * Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown
     * under **Projects** in Jira. When provided, the issue type and request type are added to the user's history for a
     * project. These values are then used to provide defaults on the issue create screen.
     */
    updateHistory?: boolean;
    /**
     * List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field
     * provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are
     * required, use `update`. Fields included in here cannot be included in `update`.
     */
    fields: {
        [key: string]: any;
        summary: string;
        project: Partial<Project$2>;
        issuetype: {
            id?: string | number;
            name?: string;
        };
        parent?: {
            [key: string]: any;
            key?: string;
        };
        components?: Array<{
            [key: string]: any;
            id?: string | number;
        }>;
        description?: string;
        reporter?: {
            [key: string]: any;
            id?: string | number;
        };
        fixVersions?: Array<{
            [key: string]: any;
            id?: string | number;
        }>;
        priority?: {
            [key: string]: any;
            id?: string | number;
        };
        labels?: string[];
        timetracking?: TimeTrackingDetails$1;
        security?: {
            [key: string]: any;
            id?: string | number;
        };
        environment?: any;
        versions?: Array<{
            [key: string]: any;
            id?: string | number;
        }>;
        duedate?: string;
        assignee?: {
            [key: string]: any;
            id?: string | number;
        };
    };
}

interface CreateIssueFieldOption$1 extends IssueFieldOptionCreate$1 {
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
}

interface CreateIssueLinkType$1 extends IssueLinkType$1 {
}

interface CreateIssues$1 extends IssuesUpdate$1 {
}

interface CreateIssueSecurityScheme$1 extends CreateIssueSecuritySchemeDetails$1 {
}

interface CreateIssueType$1 extends IssueTypeCreate$1 {
}

interface CreateIssueTypeAvatar$1 {
    /** The ID of the issue type. */
    id: string;
    /** The X coordinate of the top-left corner of the crop region. */
    x?: number;
    /** The Y coordinate of the top-left corner of the crop region. */
    y?: number;
    /**
     * The length of each side of the crop region.
     *
     * @default 0
     */
    size?: number;
    mimeType: string;
    avatar: Buffer | ArrayBuffer | Uint8Array;
}

interface CreateIssueTypeScheme$1 extends IssueTypeSchemeDetails$1 {
}

interface CreateIssueTypeScreenScheme$1 extends IssueTypeScreenSchemeDetails$1 {
}

interface CreateNotificationScheme$1 extends CreateNotificationSchemeDetails$1 {
}

interface CreateOrUpdateRemoteIssueLink$1 extends RemoteIssueLinkRequest$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface CreatePermissionGrant$1 extends PermissionGrant$1 {
    /** The ID of the permission scheme in which to create a new permission grant. */
    schemeId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `permissions` Returns all permission grants for each permission scheme. `user` Returns information about the user
     * who is granted the permission. `group` Returns information about the group that is granted the permission.
     * `projectRole` Returns information about the project role granted the permission. `field` Returns information about
     * the custom field granted the permission. `all` Returns all expandable information.
     */
    expand?: string;
}

interface CreatePermissionScheme$1 extends Omit<PermissionScheme$1, 'expand'> {
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * - `all` Returns all expandable information.
     * - `field` Returns information about the custom field granted the permission.
     * - `group` Returns information about the group that is granted the permission.
     * - `permissions` Returns all permission grants for each permission scheme.
     * - `projectRole` Returns information about the project role granted the permission.
     * - `user` Returns information about the user who is granted the permission.
     */
    expand?: 'all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user')[] | string | string[];
}

interface CreatePlan$1 extends CreatePlanRequest {
    /** Whether to accept group IDs instead of group names. Group names are deprecated. */
    useGroupId?: boolean;
}

interface CreatePlanOnlyTeam$1 extends CreatePlanOnlyTeamRequest {
    /** The ID of the plan. */
    planId: number;
}

interface CreatePriority$1 extends CreatePriorityDetails$1 {
}

interface CreatePriorityScheme$1 extends CreatePrioritySchemeDetails {
}

interface CreateProject$1 extends CreateProjectDetails$1 {
}

interface CreateProjectAvatar$1 {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
    /** The X coordinate of the top-left corner of the crop region. */
    x?: number;
    /** The Y coordinate of the top-left corner of the crop region. */
    y?: number;
    /**
     * The length of each side of the crop region.
     *
     * @default 0
     */
    size?: number;
    mimeType: string;
    avatar: Buffer | ArrayBuffer | Uint8Array;
}

interface CreateProjectCategory$1 extends ProjectCategory$1 {
}

interface CreateProjectRole$1 extends CreateUpdateRoleRequest$1 {
}

interface CreateProjectWithCustomTemplate$1 extends ProjectCustomTemplateCreateRequest$1 {
}

interface CreateRelatedWork$1 extends VersionRelatedWork$1 {
    id: string;
}

type CreateResolution$1 = CreateResolutionDetails$1 & Record<string, any>;

interface CreateScreen$1 extends ScreenDetails$1 {
}

interface CreateScreenScheme$1 extends ScreenSchemeDetails$1 {
}

interface CreateStatuses$1 extends StatusCreateRequest$1 {
}

interface CreateUiModification$1 extends CreateUiModificationDetails$1 {
}

interface CreateUser$1 extends NewUserDetails$1 {
}

interface CreateVersion$1 extends Version$2 {
}

interface CreateWorkflow$1 extends CreateWorkflowDetails$1 {
}

interface CreateWorkflows$1 extends WorkflowCreateRequest$1 {
}

interface CreateWorkflowScheme$1 extends WorkflowScheme$1 {
}

interface CreateWorkflowSchemeDraftFromParent$1 {
    /** The ID of the active workflow scheme that the draft is created from. */
    id: number;
}

interface CreateWorkflowTransitionProperty$1 extends WorkflowTransitionProperty$1 {
    /**
     * The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown
     * next to the transition.
     */
    transitionId: number;
    /**
     * The key of the property being added, also known as the name of the property. Set this to the same value as the
     * `key` defined in the request body.
     */
    key: string;
    /** The name of the workflow that the transition belongs to. */
    workflowName: string;
    /**
     * The workflow status. Set to _live_ for inactive workflows or _draft_ for draft workflows. Active workflows cannot
     * be edited.
     */
    workflowMode?: 'live' | 'draft' | string;
}

interface DeleteActor$1 {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string | number;
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
    /** The user account ID of the user to remove from the project role. */
    user?: string;
    /**
     * The name of the group to remove from the project role. This parameter cannot be used with the `groupId` parameter.
     * As a group's name can change, use of `groupId` is recommended.
     */
    group?: string;
    /** The ID of the group to remove from the project role. This parameter cannot be used with the `group` parameter. */
    groupId?: string;
}

interface DeleteAddonProperty$1 {
    /** The key of the app, as defined in its descriptor. */
    addonKey: string;
    /** The key of the property. */
    propertyKey: string;
}

interface DeleteAndReplaceVersion$2 {
    /** The ID of the version. */
    id: string;
    /** The ID of the version to update `fixVersion` to when the field contains the deleted version. */
    moveFixIssuesTo?: number;
    /** The ID of the version to update `affectedVersion` to when the field contains the deleted version. */
    moveAffectedIssuesTo?: number;
    /**
     * An array of custom field IDs (`customFieldId`) and version IDs (`moveTo`) to update when the fields contain the
     * deleted version.
     */
    customFieldReplacementList?: CustomFieldReplacement$1[];
}

interface DeleteAppProperty$1 {
    /** The key of the property. */
    propertyKey: string;
}

interface DeleteAvatar$1 {
    /** The avatar type. */
    type: 'project' | 'issuetype' | string;
    /** The ID of the item the avatar is associated with. */
    owningObjectId: string;
    /** The ID of the avatar. */
    id: number;
}

interface DeleteComment$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the comment. */
    id: string;
    parentId?: string;
}

interface DeleteCommentProperty$1 {
    /** The ID of the comment. */
    commentId: string;
    /** The key of the property. */
    propertyKey: string;
}

interface DeleteComponent$1 {
    /** The ID of the component. */
    id: string;
    /** The ID of the component to replace the deleted component. If this value is null no replacement is made. */
    moveIssuesTo?: string;
}

interface DeleteCustomField$1 {
    /** The ID of a custom field. */
    id: string;
}

interface DeleteCustomFieldContext$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface DeleteCustomFieldOption$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context from which an option should be deleted. */
    contextId: number;
    /** The ID of the option to delete. */
    optionId: number;
}

interface DeleteDashboard$1 {
    /** The ID of the dashboard. */
    id: string;
}

interface DeleteDashboardItemProperty$1 {
    /** The ID of the dashboard. */
    dashboardId: string;
    /** The ID of the dashboard item. */
    itemId: string;
    /** The key of the dashboard item property. */
    propertyKey: string;
}

interface DeleteDefaultWorkflow$1 {
    /** The ID of the workflow scheme. */
    id: number;
    /**
     * Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the
     * workflow scheme cannot be edited. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

interface DeleteDraftDefaultWorkflow$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
}

interface DeleteDraftWorkflowMapping$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The name of the workflow. */
    workflowName: string;
}

interface DeleteFavouriteForFilter$1 {
    /** The ID of the filter. */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
}

interface DeleteFieldConfiguration$1 {
    /** The ID of the field configuration. */
    id: number;
}

interface DeleteFieldConfigurationScheme$1 {
    /** The ID of the field configuration scheme. */
    id: number;
}

interface DeleteFilter$1 {
    /** The ID of the filter to delete. */
    id: number;
}

interface DeleteInactiveWorkflow$1 {
    /** The entity ID of the workflow. */
    entityId: string;
}

interface DeleteIssue$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** Whether the issue's subtasks are deleted when the issue is deleted. */
    deleteSubtasks?: boolean;
}

interface DeleteIssueFieldOption$1 {
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
    /** The ID of the option to be deleted. */
    optionId: number;
}

interface DeleteIssueLink$1 {
    /** The ID of the issue link. */
    linkId: string;
}

interface DeleteIssueLinkType$1 {
    /** The ID of the issue link type. */
    issueLinkTypeId: string;
}

interface DeleteIssueProperty$1 {
    /** The key or ID of the issue. */
    issueIdOrKey: string;
    /** The key of the property. */
    propertyKey: string;
}

interface DeleteIssueType$1 {
    /** The ID of the issue type. */
    id: string;
    /** The ID of the replacement issue type. */
    alternativeIssueTypeId?: string;
}

interface DeleteIssueTypeProperty$1 {
    /** The ID of the issue type. */
    issueTypeId: string;
    /**
     * The key of the property. Use [Get issue type property keys](#api-rest-api-2-issuetype-issueTypeId-properties-get)
     * to get a list of all issue type property keys.
     */
    propertyKey: string;
}

interface DeleteIssueTypeScheme$1 {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
}

interface DeleteIssueTypeScreenScheme$1 {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
}

interface DeleteNotificationScheme$1 {
    /** The ID of the notification scheme. */
    notificationSchemeId: string;
}

interface DeletePermissionScheme$1 {
    /** The ID of the permission scheme being deleted. */
    schemeId: number;
}

interface DeletePermissionSchemeEntity$1 {
    /** The ID of the permission scheme to delete the permission grant from. */
    schemeId: number;
    /** The ID of the permission grant to delete. */
    permissionId: number;
}

interface DeletePlanOnlyTeam$1 {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the plan-only team. */
    planOnlyTeamId: number;
}

interface DeletePriority$1 {
    /** The ID of the issue priority. */
    id: string;
}

interface DeletePriorityScheme$1 {
    /** The priority scheme ID. */
    schemeId: number;
}

interface DeleteProject$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** Whether this project is placed in the Jira recycle bin where it will be available for restoration. */
    enableUndo?: boolean;
}

interface DeleteProjectAsynchronously$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface DeleteProjectAvatar$1 {
    /** The project ID or (case-sensitive) key. */
    projectIdOrKey: string | number;
    /** The ID of the avatar. */
    id: number;
}

interface DeleteProjectProperty$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The project property key. Use [Get project property keys](#api-rest-api-2-project-projectIdOrKey-properties-get) to
     * get a list of all project property keys.
     */
    propertyKey: string;
}

interface DeleteProjectRole$1 {
    /**
     * The ID of the project role to delete. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of
     * project role IDs.
     */
    id: number;
    /** The ID of the project role that will replace the one being deleted. */
    swap?: number;
}

interface DeleteProjectRoleActorsFromRole$1 {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
    /** The user account ID of the user to remove as a default actor. */
    user?: string;
    /**
     * The group ID of the group to be removed as a default actor. This parameter cannot be used with the `group`
     * parameter.
     */
    groupId?: string;
    /**
     * The group name of the group to be removed as a default actor.This parameter cannot be used with the `groupId`
     * parameter. As a group's name can change, use of `groupId` is recommended.
     */
    group?: string;
}

interface DeleteRelatedWork$1 {
    /** The ID of the version that the target related work belongs to. */
    versionId: string;
    /** The ID of the related work to delete. */
    relatedWorkId: string;
}

interface DeleteRemoteIssueLinkByGlobalId$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The global ID of a remote issue link. */
    globalId: string;
}

interface DeleteRemoteIssueLinkById$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of a remote issue link. */
    linkId: string;
}

interface DeleteResolution$1 {
    /** The ID of the issue resolution. */
    id: string;
    /** The ID of the issue resolution that will replace the currently selected resolution. */
    replaceWith: string;
}

interface DeleteScreen$1 {
    /** The ID of the screen. */
    screenId: number;
}

interface DeleteScreenScheme$1 {
    /** The ID of the screen scheme. */
    screenSchemeId: string;
}

interface DeleteScreenTab$1 {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
}

interface DeleteSecurityScheme$1 {
    /** The ID of the issue security scheme. */
    schemeId: string;
}

interface DeleteSharePermission$1 {
    /** The ID of the filter. */
    id: number;
    /** The ID of the share permission. */
    permissionId: number;
}

interface DeleteStatusesById$1 {
    /**
     * The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * id=10000&id=10001.
     *
     * Min items `1`, Max items `50`
     */
    id?: string[];
}

interface DeleteUiModification$1 {
    /** The ID of the UI modification. */
    uiModificationId: string;
}

interface DeleteUserProperty$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    userKey?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** The key of the user's property. */
    propertyKey: string;
}

interface DeleteWebhookById$1 extends ContainerForWebhookIDs$1 {
}

interface DeleteWorkflowMapping$1 {
    /** The ID of the workflow scheme. */
    id: number;
    /** The name of the workflow. */
    workflowName: string;
    /**
     * Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the
     * workflow scheme cannot be edited. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

interface DeleteWorkflowScheme$1 {
    /**
     * The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the
     * URL as `schemeId`. For example, _schemeId=10301_.
     */
    id: number;
}

interface DeleteWorkflowSchemeDraft$1 {
    /** The ID of the active workflow scheme that the draft was created from. */
    id: number;
}

interface DeleteWorkflowSchemeDraftIssueType$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
}

interface DeleteWorkflowSchemeIssueType$1 {
    /** The ID of the workflow scheme. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
    /**
     * Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the
     * workflow scheme cannot be edited. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

interface DeleteWorkflowTransitionProperty$1 {
    /**
     * The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown
     * next to the transition.
     */
    transitionId: number;
    /** The name of the transition property to delete, also known as the name of the property. */
    key: string;
    /** The name of the workflow that the transition belongs to. */
    workflowName: string;
    /**
     * The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot
     * be edited.
     */
    workflowMode?: 'live' | 'draft' | string;
}

interface DeleteWorkflowTransitionRuleConfigurations$1 extends WorkflowsWithTransitionRulesDetails$1 {
}

interface DeleteWorklog$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    id: string;
    /** Whether users watching the issue are notified by email. */
    notifyUsers?: boolean;
    /**
     * Defines how to update the issue's time estimate, the options are:
     *
     * - `new` Sets the estimate to a specific value, defined in `newEstimate`.
     * - `leave` Leaves the estimate unchanged.
     * - `manual` Increases the estimate by amount specified in `increaseBy`.
     * - `auto` Reduces the estimate by the value of `timeSpent` in the worklog.
     */
    adjustEstimate?: 'new' | 'leave' | 'manual' | 'auto' | string;
    /**
     * The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For
     * example, _2d_. Required when `adjustEstimate` is `new`.
     */
    newEstimate?: string;
    /**
     * The amount to increase the issue's remaining estimate by, as days (#d), hours (#h), or minutes (#m or #). For
     * example, _2d_. Required when `adjustEstimate` is `manual`.
     */
    increaseBy?: string;
    /**
     * Whether the work log entry should be added to the issue even if the issue is not editable, because
     * jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with
     * admin permission can use this flag.
     */
    overrideEditableFlag?: boolean;
}

interface DeleteWorklogProperty$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    worklogId: string;
    /** The key of the property. */
    propertyKey: string;
}

interface DoTransition$1 extends IssueUpdateDetails$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface DuplicatePlan$1 extends DuplicatePlanRequest {
    /** The ID of the plan. */
    planId: number;
}

interface EditIssue$1 extends IssueUpdateDetails$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Whether a notification email about the issue update is sent to all watchers. To disable the notification,
     * administer Jira or administer project permissions are required. If the user doesn't have the necessary permission
     * the request is ignored.
     */
    notifyUsers?: boolean;
    /**
     * Whether screen security is overridden to enable hidden fields to be edited. Available to Connect app users with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of
     * users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideScreenSecurity?: boolean;
    /**
     * Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of
     * users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideEditableFlag?: boolean;
    /**
     * Whether the response should contain the issue with fields edited in this request. The returned issue will have the
     * same format as in the [Get issue API](#api-rest-api-2-issue-issueidorkey-get).
     */
    returnIssue?: boolean;
    /** The Get issue API expand parameter to use in the response if the `returnIssue` parameter is `true`. */
    expand?: string;
}

interface EvaluateJiraExpression$1 extends JiraExpressionEvalRequest$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts `meta.complexity` that returns information about the expression
     * complexity. For example, the number of expensive operations used by the expression and how close the expression is
     * to reaching the [complexity
     * limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing
     * and debugging your expressions.
     */
    expand?: string;
}

interface EvaluateJiraExpressionUsingEnhancedSearch$1 extends JiraExpressionEvalUsingEnhancedSearchRequest$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts `meta.complexity` that returns information about the expression
     * complexity. For example, the number of expensive operations used by the expression and how close the expression is
     * to reaching the [complexity
     * limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing
     * and debugging your expressions.
     */
    expand?: string;
}

interface ExpandAttachmentForHumans$1 {
    /** The ID of the attachment. */
    id: string;
}

interface ExpandAttachmentForMachines$1 {
    /** The ID of the attachment. */
    id: string;
}

/** Details of a filter for exporting archived issues. */
interface ExportArchivedIssues$1 {
    /** List archived issues archived by a specified account ID. */
    archivedBy?: string[];
    archivedDateRange?: DateRangeFilter$1;
    /** List archived issues with a specified issue type ID. */
    issueTypes?: string[];
    /** List archived issues with a specified project key. */
    projects?: string[];
    /** List archived issues where the reporter is a specified account ID. */
    reporters?: string[];
}

interface FindAssignableUsers$1 {
    /**
     * A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `username` or `accountId` is specified.
     */
    query?: string;
    /** The sessionId of this request. SessionId is the same until the assignee is set. */
    sessionId?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. */
    accountId?: string;
    /** The project ID or project key (case sensitive). Required, unless `issueKey` is specified. */
    project?: string;
    /** The key of the issue. Required, unless `project` is specified. */
    issueKey?: string;
    /** The ID of the issue. Required, unless `issueKey` or `project` is specified. */
    issueId?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /**
     * The maximum number of items to return. This operation may return less than the maximum number of items even if more
     * are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the
     * users that can be assigned to the issue.
     */
    maxResults?: number;
    /** The ID of the transition. */
    actionDescriptorId?: number;
    recommend?: boolean;
}

interface FindBulkAssignableUsers$1 {
    /**
     * A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `accountId` is specified.
     */
    query?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. */
    accountId?: string;
    /** A list of project keys (case sensitive). This parameter accepts a comma-separated list. */
    projectKeys: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface FindComponentsForProjects$1 {
    /** The project IDs and/or project keys (case sensitive). */
    projectIdsOrKeys?: string[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * `description` Sorts by the component description. `name` Sorts by component name.
     */
    orderBy?: 'description' | '-description' | '+description' | 'name' | '-name' | '+name' | string;
    /**
     * Filter the results using a literal string. Components with a matching `name` or `description` are returned (case
     * insensitive).
     */
    query?: string;
}

interface FindGroups$1 {
    /** The string to find in group names. */
    query?: string;
    /**
     * As a group's name can change, use of `excludeGroupIds` is recommended to identify a group. A group to exclude from
     * the result. To exclude multiple groups, provide an ampersand-separated list. For example,
     * `exclude=group1&exclude=group2`. This parameter cannot be used with the `excludeGroupIds` parameter.
     */
    exclude?: string | string[];
    /**
     * A group ID to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For
     * example, `excludeId=group1-id&excludeId=group2-id`. This parameter cannot be used with the `excludeGroups`
     * parameter.
     */
    excludeId?: string[];
    /**
     * The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system
     * property `jira.ajax.autocomplete.limit`.
     */
    maxResults?: number;
    /** Whether the search for groups should be case insensitive. */
    caseInsensitive?: boolean;
}

interface FindUserKeysByQuery$1 {
    /** The search query. */
    query: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /**
     * The maximum number of items to return per page.
     *
     * @deprecated Use `maxResult` instead.
     */
    maxResults?: number;
    /** The maximum number of items to return per page. */
    maxResult?: number;
}

interface FindUsers$1 {
    /**
     * A query string that is matched against user attributes ( `displayName`, and `emailAddress`) to find relevant users.
     * The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `accountId` or `property` is specified.
     */
    query?: string;
    username?: string;
    /**
     * A query string that is matched exactly against a user `accountId`. Required, unless `query` or `property` is
     * specified.
     */
    accountId?: string;
    /** The index of the first item to return in a page of filtered results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * A query string used to search properties. Property keys are specified by path, so property keys containing dot (.)
     * or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To
     * search for the value of `nested` from `{"something":{"nested":1,"other":2}}` use
     * `thepropertykey.something.nested=1`. Required, unless `accountId` or `query` is specified.
     */
    property?: string;
}

interface FindUsersAndGroups$1 {
    /** The search string. */
    query: string;
    /** The maximum number of items to return in each list. */
    maxResults?: number;
    /** Whether the user avatar should be returned. If an invalid value is provided, the default value is used. */
    showAvatar?: boolean;
    /** The custom field ID of the field this request is for. */
    fieldId?: string;
    /**
     * The ID of a project that returned users and groups must have permission to view. To include multiple projects,
     * provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`. This parameter is only used
     * when `fieldId` is present.
     */
    projectId?: string[];
    /**
     * The ID of an issue type that returned users and groups must have permission to view. To include multiple issue
     * types, provide an ampersand-separated list. For example, `issueTypeId=10000&issueTypeId=10001`. Special values,
     * such as `-1` (all standard issue types) and `-2` (all subtask issue types), are supported. This parameter is only
     * used when `fieldId` is present.
     */
    issueTypeId?: string[];
    /** The size of the avatar to return. If an invalid value is provided, the default value is used. */
    avatarSize?: 'xsmall' | 'xsmall@2x' | 'xsmall@3x' | 'small' | 'small@2x' | 'small@3x' | 'medium' | 'medium@2x' | 'medium@3x' | 'large' | 'large@2x' | 'large@3x' | 'xlarge' | 'xlarge@2x' | 'xlarge@3x' | 'xxlarge' | 'xxlarge@2x' | 'xxlarge@3x' | 'xxxlarge' | 'xxxlarge@2x' | 'xxxlarge@3x' | string;
    /** Whether the search for groups should be case insensitive. */
    caseInsensitive?: boolean;
    /**
     * Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided,
     * the default value is used.
     */
    excludeConnectAddons?: boolean;
}

interface FindUsersByQuery$1 {
    /** The search query. */
    query: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface FindUsersForPicker$1 {
    /**
     * A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_.
     */
    query: string;
    /** The maximum number of items to return. The total number of matched users is returned in `total`. */
    maxResults?: number;
    /** Include the URI to the user's avatar. */
    showAvatar?: boolean;
    /**
     * A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple
     * account IDs can also be provided using an ampersand-separated list. For example,
     * `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`.
     * Cannot be provided with `exclude`.
     */
    excludeAccountIds?: string[];
    avatarSize?: string;
    excludeConnectUsers?: boolean;
}

interface FindUsersWithAllPermissions$1 {
    /**
     * A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `accountId` is specified.
     */
    query?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. */
    accountId?: string;
    /**
     * A comma separated list of permissions. Permissions can be specified as any:
     *
     * Permission returned by [Get all permissions](#api-rest-api-2-permissions-get). custom project permission added by
     * Connect apps. (deprecated) one of the following:
     *
     * ASSIGNABLE_USER ASSIGN_ISSUE ATTACHMENT_DELETE_ALL ATTACHMENT_DELETE_OWN BROWSE CLOSE_ISSUE COMMENT_DELETE_ALL
     * COMMENT_DELETE_OWN COMMENT_EDIT_ALL COMMENT_EDIT_OWN COMMENT_ISSUE CREATE_ATTACHMENT CREATE_ISSUE DELETE_ISSUE
     * EDIT_ISSUE LINK_ISSUE MANAGE_WATCHER_LIST MODIFY_REPORTER MOVE_ISSUE PROJECT_ADMIN RESOLVE_ISSUE SCHEDULE_ISSUE
     * SET_ISSUE_SECURITY TRANSITION_ISSUE VIEW_VERSION_CONTROL VIEW_VOTERS_AND_WATCHERS VIEW_WORKFLOW_READONLY
     * WORKLOG_DELETE_ALL WORKLOG_DELETE_OWN WORKLOG_EDIT_ALL WORKLOG_EDIT_OWN WORK_ISSUE
     */
    permissions: string;
    /** The issue key for the issue. */
    issueKey?: string;
    /** The project key for the project (case sensitive). */
    projectKey?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface FindUsersWithBrowsePermission$1 {
    /**
     * A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `accountId` is specified.
     */
    query?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. */
    accountId?: string;
    /** The issue key for the issue. Required, unless `projectKey` is specified. */
    issueKey?: string;
    /** The project key for the project (case sensitive). Required, unless `issueKey` is specified. */
    projectKey?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface FullyUpdateProjectRole$1 extends CreateUpdateRoleRequest$1 {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface GetAccessibleProjectTypeByKey$1 {
    /** The key of the project type. */
    projectTypeKey: 'software' | 'service_desk' | 'business' | 'product_discovery' | string;
}

interface GetAddonProperties$1 {
    /** The key of the app, as defined in its descriptor. */
    addonKey: string;
}

interface GetAddonProperty$1 {
    /** The key of the app, as defined in its descriptor. */
    addonKey: string;
    /** The key of the property. */
    propertyKey: string;
}

interface GetAllDashboards$1 {
    /**
     * The filter applied to the list of dashboards. Valid values are:
     *
     * - `favourite` Returns dashboards the user has marked as favorite.
     * - `my` Returns dashboards owned by the user.
     */
    filter?: 'my' | 'favourite' | string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetAllFieldConfigurations$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`.
     */
    id?: number[];
    /** If _true_ returns default field configurations only. */
    isDefault?: boolean;
    /** The query string used to match against field configuration names and descriptions. */
    query?: string;
}

interface GetAllFieldConfigurationSchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For
     * example, `id=10000&id=10001`.
     */
    id?: number[];
}

interface GetAllGadgets$1 {
    /** The ID of the dashboard. */
    dashboardId: number;
    /**
     * The list of gadgets module keys. To include multiple module keys, separate module keys with ampersand:
     * `moduleKey=key:one&moduleKey=key:two`.
     */
    moduleKey?: string[];
    /**
     * The list of gadgets URIs. To include multiple URIs, separate URIs with ampersand:
     * `uri=/rest/example/uri/1&uri=/rest/example/uri/2`.
     */
    uri?: string[];
    /** The list of gadgets IDs. To include multiple IDs, separate IDs with ampersand: `gadgetId=10000&gadgetId=10001`. */
    gadgetId?: number[];
}

interface GetAllIssueFieldOptions$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
}

interface GetAllIssueTypeSchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`.
     */
    id?: number[];
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `name` Sorts by issue type scheme name.
     * - `id` Sorts by issue type scheme ID.
     */
    orderBy?: 'name' | '-name' | '+name' | 'id' | '-id' | '+id' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `projects` For each issue type schemes, returns information about the projects the issue type scheme is assigned
     *   to.
     * - `issueTypes` For each issue type schemes, returns information about the issueTypes the issue type scheme have.
     */
    expand?: 'projects' | 'issueTypes' | ('projects' | 'issueTypes')[] | string | string[];
    /** String used to perform a case-insensitive partial match with issue type scheme name. */
    queryString?: string;
}

interface GetAllLabels$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetAllPermissionSchemes$1 {
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are included when you specify any value. Expand options include:
     *
     * - `all` Returns all expandable information.
     * - `field` Returns information about the custom field granted the permission.
     * - `group` Returns information about the group that is granted the permission.
     * - `permissions` Returns all permission grants for each permission scheme.
     * - `projectRole` Returns information about the project role granted the permission.
     * - `user` Returns information about the user who is granted the permission.
     */
    expand?: 'all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user')[] | string | string[];
}

interface GetAllProjectAvatars$1 {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
}

interface GetAllScreenTabFields$1 {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
    /** The key of the project. */
    projectKey?: string;
}

interface GetAllScreenTabs$1 {
    /** The ID of the screen. */
    screenId: number;
    /** The key of the project. */
    projectKey?: string;
}

interface GetAllStatuses$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface GetAllSystemAvatars$1 {
    /** The avatar type. */
    type: 'issuetype' | 'project' | 'user' | string;
}

interface GetAllUserDataClassificationLevels$1 {
    /** Optional set of statuses to filter by. */
    status?: ('PUBLISHED' | 'ARCHIVED' | 'DRAFT' | string)[];
    /** Ordering of the results by a given field. If not provided, values will not be sorted. */
    orderBy?: 'rank' | '-rank' | '+rank' | string;
}

interface GetAllUsers$1 {
    /** The index of the first item to return. */
    startAt?: number;
    /** The maximum number of items to return. */
    maxResults?: number;
}

interface GetAllUsersDefault$1 {
    /** The index of the first item to return. */
    startAt?: number;
    /** The maximum number of items to return. */
    maxResults?: number;
}

interface GetAllWorkflowSchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetAlternativeIssueTypes$1 {
    /** The ID of the issue type. */
    id: string;
}

interface GetApplicationProperty$1 {
    /** The key of the application property. */
    key?: string;
    /** The permission level of all items being returned in the list. */
    permissionLevel?: string;
    /**
     * When a `key` isn't provided, this filters the list of results by the application property `key` using a regular
     * expression. For example, using `jira.lf.*` will return all application properties with keys that start with
     * _jira.lf._.
     */
    keyFilter?: string;
}

interface GetApplicationRole$1 {
    /**
     * The key of the application role. Use the [Get all application roles](#api-rest-api-2-applicationrole-get) operation
     * to get the key for each application role.
     */
    key: string;
}

interface GetAssignedPermissionScheme$1 {
    /** The project ID or project key (case-sensitive). */
    projectKeyOrId: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Note that permissions are included when
     * you specify any value. Expand options include:
     *
     * - `all` Returns all expandable information.
     * - `field` Returns information about the custom field granted the permission.
     * - `group` Returns information about the group that is granted the permission.
     * - `permissions` Returns all permission grants for each permission scheme.
     * - `projectRole` Returns information about the project role granted the permission.
     * - `user` Returns information about the user who is granted the permission.
     */
    expand?: 'all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user' | ('field' | 'group' | 'permissions' | 'projectRole' | 'user')[] | string | string[];
}

interface GetAtlassianTeam$1 {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the Atlassian team. */
    atlassianTeamId: string;
}

interface GetAttachment$1 {
    /** The ID of the attachment. */
    id: string;
}

interface GetAttachmentContent$2 {
    /** The ID of the attachment. */
    id: string;
    /**
     * Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can
     * set this to `false` to avoid making multiple requests to download the attachment.
     */
    redirect?: boolean;
}

interface GetAttachmentThumbnail$2 {
    /** The ID of the attachment. */
    id: string;
    /**
     * Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can
     * set this to `false` to avoid making multiple requests to download the attachment.
     */
    redirect?: boolean;
    /** Whether a default thumbnail is returned when the requested thumbnail is not found. */
    fallbackToDefault?: boolean;
    /** The maximum width to scale the thumbnail to. */
    width?: number;
    /** The maximum height to scale the thumbnail to. */
    height?: number;
}

interface GetAuditRecords$1 {
    /** The number of records to skip before returning the first result. */
    offset?: number;
    /** The maximum number of results to return. */
    limit?: number;
    /** The strings to match with audit field content, space separated. */
    filter?: string;
    /**
     * The date and time on or after which returned audit records must have been created. If `to` is provided `from` must
     * be before `to` or no audit records are returned.
     */
    from?: string;
    /**
     * The date and time on or before which returned audit results must have been created. If `from` is provided `to` must
     * be after `from` or no audit records are returned.
     */
    to?: string;
}

interface GetAutoCompletePost$1 extends SearchAutoComplete {
}

interface GetAvailablePrioritiesByPriorityScheme$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The string to query priorities on by name. */
    query?: string;
    /** The priority scheme ID. */
    schemeId: string;
    /** A list of priority IDs to exclude from the results. */
    exclude?: string[];
}

interface GetAvailableScreenFields$1 {
    /** The ID of the screen. */
    screenId: number;
}

interface GetAvatarImageByID$1 {
    /** The icon type of the avatar. */
    type: 'issuetype' | 'project' | string;
    /** The ID of the avatar. */
    id: number | string;
    /** The size of the avatar image. If not provided the default size is returned. */
    size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | string;
    /** The format to return the avatar image in. If not provided the original content format is returned. */
    format?: 'png' | 'svg' | string;
}

interface GetAvatarImageByOwner$1 {
    /** The icon type of the avatar. */
    type: 'issuetype' | 'project' | string;
    /** The ID of the project or issue type the avatar belongs to. */
    entityId: string;
    /** The size of the avatar image. If not provided the default size is returned. */
    size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | string;
    /** The format to return the avatar image in. If not provided the original content format is returned. */
    format?: 'png' | 'svg' | string;
}

interface GetAvatarImageByType$1 {
    /** The icon type of the avatar. */
    type: 'issuetype' | 'project' | string;
    /** The size of the avatar image. If not provided the default size is returned. */
    size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | string;
    /** The format to return the avatar image in. If not provided the original content format is returned. */
    format?: 'png' | 'svg' | string;
}

interface GetAvatars$1 {
    /** The avatar type. */
    type: 'project' | 'issuetype' | string;
    /** The ID of the item the avatar is associated with. */
    entityId: number | string;
}

interface GetBulkChangelogs$1 extends BulkChangelogRequest$1 {
}

interface GetBulkPermissions$1 extends BulkPermissionsRequest$1 {
}

interface GetBulkScreenTabs$1 {
    /**
     * The list of screen IDs. To include multiple screen IDs, provide an ampersand-separated list. For example,
     * `screenId=10000&screenId=10001`.
     */
    screenId?: number[];
    /**
     * The list of tab IDs. To include multiple tab IDs, provide an ampersand-separated list. For example,
     * `tabId=10000&tabId=10001`.
     */
    tabId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. The maximum number is 100, */
    maxResult?: number;
}

interface GetChangeLogs$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetChangeLogsByIds$1 extends IssueChangelogIds$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface GetColumns$1 {
    /** The ID of the filter. */
    id: number;
}

interface GetComment$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the comment. */
    id: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body
     * rendered in HTML.
     */
    expand?: string;
}

interface GetCommentProperty$1 {
    /** The ID of the comment. */
    commentId: string;
    /** The key of the property. */
    propertyKey: string;
}

interface GetCommentPropertyKeys$1 {
    /** The ID of the comment. */
    commentId: string;
}

interface GetComments$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field.
     * Accepts _created_ to sort comments by their created date.
     */
    orderBy?: 'created' | '-created' | '+created' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body
     * rendered in HTML.
     */
    expand?: string;
}

interface GetCommentsByIds$1 extends IssueCommentListRequest$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `renderedBody` Returns the comment body rendered in HTML. `properties` Returns the comment's properties.
     */
    expand?: string;
}

interface GetComponent$1 {
    /** The ID of the component. */
    id: string;
}

interface GetComponentRelatedIssues$1 {
    /** The ID of the component. */
    id: string;
}

interface GetContextsForField$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** Whether to return contexts that apply to all issue types. */
    isAnyIssueType?: boolean;
    /** Whether to return contexts that apply to all projects. */
    isGlobalContext?: boolean;
    /**
     * The list of context IDs. To include multiple contexts, separate IDs with ampersand:
     * `contextId=10000&contextId=10001`.
     */
    contextId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCreateIssueMeta$1 {
    /**
     * List of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using
     * an ampersand-separated list. For example, `projectIds=10000,10001&projectIds=10020,10021`. This parameter may be
     * provided with `projectKeys`.
     */
    projectIds?: string[];
    /**
     * List of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided
     * using an ampersand-separated list. For example, `projectKeys=proj1,proj2&projectKeys=proj3`. This parameter may be
     * provided with `projectIds`.
     */
    projectKeys?: string[];
    /**
     * List of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided
     * using an ampersand-separated list. For example, `issuetypeIds=10000,10001&issuetypeIds=10020,10021`. This parameter
     * may be provided with `issuetypeNames`.
     */
    issuetypeIds?: string[];
    /**
     * List of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be
     * provided using an ampersand-separated list. For example, `issuetypeNames=name1,name2&issuetypeNames=name3`. This
     * parameter may be provided with `issuetypeIds`.
     */
    issuetypeNames?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about issue metadata in the response. This parameter accepts `projects.issuetypes.fields`, which
     * returns information about the fields in the issue creation screen for each issue type. Fields hidden from the
     * screen are not returned. Use the information to populate the `fields` and `update` fields in [Create
     * issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).
     */
    expand?: string;
}

interface GetCreateIssueMetaIssueTypeId$1 {
    /** The ID or key of the project. */
    projectIdOrKey: string;
    /** The issuetype ID. */
    issueTypeId: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCreateIssueMetaIssueTypes$1 {
    /** The ID or key of the project. */
    projectIdOrKey: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCurrentUser$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about user in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `groups` Returns all groups, including nested groups, the user belongs to.
     * - `applicationRoles` Returns the application roles the user is assigned to.
     */
    expand?: 'groups' | 'applicationRoles' | ('groups' | 'applicationRoles')[] | string | string[];
}

interface GetCustomFieldConfiguration$1 {
    /** The ID or key of the custom field, for example `customfield_10000`. */
    fieldIdOrKey: string;
    /**
     * The list of configuration IDs. To include multiple configurations, separate IDs with an ampersand:
     * `id=10000&id=10001`. Can't be provided with `fieldContextId`, `issueId`, `projectKeyOrId`, or `issueTypeId`.
     */
    id?: number[];
    /**
     * The list of field context IDs. To include multiple field contexts, separate IDs with an ampersand:
     * `fieldContextId=10000&fieldContextId=10001`. Can't be provided with `id`, `issueId`, `projectKeyOrId`, or
     * `issueTypeId`.
     */
    fieldContextId?: number[];
    /**
     * The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided
     * with `projectKeyOrId`, or `issueTypeId`.
     */
    issueId?: number;
    /**
     * The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with
     * `issueId`.
     */
    projectKeyOrId?: string;
    /**
     * The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with
     * `issueId`.
     */
    issueTypeId?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCustomFieldContextsForProjectsAndIssueTypes$1 extends ProjectIssueTypeMappings$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCustomFieldOption$1 {
    /** The ID of the custom field option. */
    id: string;
}

interface GetCustomFieldsConfigurations$1 extends ConfigurationsListParameters$1 {
    /**
     * The list of configuration IDs. To include multiple configurations, separate IDs with an ampersand:
     * `id=10000&id=10001`. Can't be provided with `fieldContextId`, `issueId`, `projectKeyOrId`, or `issueTypeId`.
     */
    id?: number[];
    /**
     * The list of field context IDs. To include multiple field contexts, separate IDs with an ampersand:
     * `fieldContextId=10000&fieldContextId=10001`. Can't be provided with `id`, `issueId`, `projectKeyOrId`, or
     * `issueTypeId`.
     */
    fieldContextId?: number[];
    /**
     * The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided
     * with `projectKeyOrId`, or `issueTypeId`.
     */
    issueId?: number;
    /**
     * The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with
     * `issueId`.
     */
    projectKeyOrId?: string;
    /**
     * The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with
     * `issueId`.
     */
    issueTypeId?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetDashboard$1 {
    /** The ID of the dashboard. */
    id: string;
}

interface GetDashboardItemProperty$1 {
    /** The ID of the dashboard. */
    dashboardId: string;
    /** The ID of the dashboard item. */
    itemId: string;
    /** The key of the dashboard item property. */
    propertyKey: string;
}

interface GetDashboardItemPropertyKeys$1 {
    /** The ID of the dashboard. */
    dashboardId: string;
    /** The ID of the dashboard item. */
    itemId: string;
}

interface GetDashboardsPaginated$1 {
    /** String used to perform a case-insensitive partial match with `name`. */
    dashboardName?: string;
    /**
     * User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with
     * the `owner` parameter.
     */
    accountId?: string;
    /**
     * As a group's name can change, use of `groupId` is recommended. Group name used to return dashboards that are shared
     * with a group that matches `sharePermissions.group.name`. This parameter cannot be used with the `groupId`
     * parameter.
     */
    groupname?: string;
    /**
     * Group ID used to return dashboards that are shared with a group that matches `sharePermissions.group.groupId`. This
     * parameter cannot be used with the `groupname` parameter.
     */
    groupId?: string;
    /** Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`. */
    projectId?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to
     *   display the description field is in use.
     * - `favourite_count` Sorts by dashboard popularity.
     * - `id` Sorts by dashboard ID.
     * - `is_favourite` Sorts by whether the dashboard is marked as a favorite.
     * - `name` Sorts by dashboard name.
     * - `owner` Sorts by dashboard owner name.
     */
    orderBy?: 'description' | '-description' | '+description' | 'favorite_count' | '-favorite_count' | '+favorite_count' | 'id' | '-id' | '+id' | 'is_favorite' | '-is_favorite' | '+is_favorite' | 'name' | '-name' | '+name' | 'owner' | '-owner' | '+owner' | string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The status to filter by. It may be active, archived or deleted. */
    status?: 'active' | 'archived' | 'deleted' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about dashboard in the response. This parameter accepts a comma-separated list. Expand options
     * include:
     *
     * - `description` Returns the description of the dashboard.
     * - `owner` Returns the owner of the dashboard.
     * - `viewUrl` Returns the URL that is used to view the dashboard.
     * - `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.
     * - `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.
     * - `sharePermissions` Returns details of the share permissions defined for the dashboard.
     * - `editPermissions` Returns details of the edit permissions defined for the dashboard.
     * - `isWritable` Returns whether the current user has permission to edit the dashboard.
     */
    expand?: 'description' | 'owner' | 'viewUrl' | 'favourite' | 'favouritedCount' | 'sharePermissions' | 'editPermissions' | 'isWritable' | ('description' | 'owner' | 'viewUrl' | 'favourite' | 'favouritedCount' | 'sharePermissions' | 'editPermissions' | 'isWritable')[] | string | string[];
}

interface GetDefaultProjectClassification$1 {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string;
}

interface GetDefaultValues$1 {
    /** The ID of the custom field, for example `customfield\_10000`. */
    fieldId: string;
    /** The IDs of the contexts. */
    contextId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetDefaultWorkflow$1 {
    /** The ID of the workflow scheme. */
    id: number;
    /**
     * Set to `true` to return the default workflow for the workflow scheme's draft rather than scheme itself. If the
     * workflow scheme does not have a draft, then the default workflow for the workflow scheme is returned.
     */
    returnDraftIfExists?: boolean;
}

interface GetDraftDefaultWorkflow$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
}

interface GetDraftWorkflow$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /**
     * The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified
     * workflow.
     */
    workflowName?: string;
}

interface GetDynamicWebhooksForApp$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetEditIssueMeta$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Whether hidden fields are returned. Available to Connect app users with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideScreenSecurity?: boolean;
    /**
     * Whether non-editable fields are returned. Available to Connect app users with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideEditableFlag?: boolean;
}

interface GetFailedWebhooks$1 {
    /**
     * The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with
     * the same failure time being split across pages, the directive is ignored and all records with the same failure time
     * included on the page.
     */
    maxResults?: number;
    /**
     * The time after which any webhook failure must have occurred for the record to be returned, expressed as
     * milliseconds since the UNIX epoch.
     */
    after?: number;
}

interface GetFavouriteFilters$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     *   the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     *   doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     *   `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     *   `?expand=sharedUsers[1001:2000]`.
     * - `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the
     *   `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is
     *   limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For
     *   example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: 'sharedUsers' | 'subscriptions' | ('sharedUsers' | 'subscriptions')[] | string | string[];
}

interface GetFeaturesForProject$1 {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
}

interface GetFieldAutoCompleteForQueryString$1 {
    /** The name of the field. */
    fieldName?: string;
    /** The partial field item name entered by the user. */
    fieldValue?: string;
    /**
     * The name of the [ CHANGED operator
     * predicate](https://confluence.atlassian.com/x/hQORLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for which
     * the suggestions are generated. The valid predicate operators are _by_, _from_, and _to_.
     */
    predicateName?: string;
    /** The partial predicate item name entered by the user. */
    predicateValue?: string;
}

interface GetFieldConfigurationItems$1 {
    /** The ID of the field configuration. */
    id: number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetFieldConfigurationSchemeMappings$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of field configuration scheme IDs. To include multiple field configuration schemes separate IDs with
     * ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`.
     */
    fieldConfigurationSchemeId?: number[];
}

interface GetFieldConfigurationSchemeProjectMapping$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of project IDs. To include multiple projects, separate IDs with ampersand:
     * `projectId=10000&projectId=10001`.
     */
    projectId: (string | number)[];
}

type OneOrMany<T> = T | T[];

interface GetFieldsPaginated$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The type of fields to search. */
    type?: ('custom' | 'system' | string)[];
    /** The IDs of the custom fields to return or, where `query` is specified, filter. */
    id?: string[];
    /** String used to perform a case-insensitive partial match with field names or descriptions. */
    query?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `contextsCount` sorts by the number of contexts related to a field
     * - `lastUsed` sorts by the date when the value of the field last changed
     * - `name` sorts by the field name
     * - `screensCount` sorts by the number of screens related to a field
     */
    orderBy?: 'contextsCount' | '-contextsCount' | '+contextsCount' | 'lastUsed' | '-lastUsed' | '+lastUsed' | 'name' | '-name' | '+name' | 'screensCount' | '-screensCount' | '+screensCount' | 'projectsCount' | '-projectsCount' | '+projectsCount' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `key` returns the key for each field
     * - `lastUsed` returns the date when the value of the field last changed
     * - `screensCount` returns the number of screens related to a field
     * - `contextsCount` returns the number of contexts related to a field
     * - `isLocked` returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og)
     * - `searcherKey` returns the searcher key for each custom field
     */
    expand?: OneOrMany<'key' | 'lastUsed' | 'screensCount' | 'contextsCount' | 'isLocked' | 'searcherKey' | string>;
    projectIds?: number[];
}

interface GetFilter$1 {
    /** The ID of the filter to return. */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     *   the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     *   doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     *   `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     *   `?expand=sharedUsers[1001:2000]`.
     * - `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the
     *   `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is
     *   limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For
     *   example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: 'sharedUsers' | 'subscriptions' | ('sharedUsers' | 'subscriptions')[] | string | string[];
    /**
     * EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be returned.
     * Available to users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideSharePermissions?: boolean;
}

interface GetFiltersPaginated$1 {
    /** String used to perform a case-insensitive partial match with `name`. */
    filterName?: string;
    /**
     * User account ID used to return filters with the matching `owner.accountId`. This parameter cannot be used with
     * `owner`.
     */
    accountId?: string;
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. Group name used to returns
     * filters that are shared with a group that matches `sharePermissions.group.groupname`. This parameter cannot be used
     * with the `groupId` parameter.
     */
    groupname?: string;
    /**
     * Group ID used to returns filters that are shared with a group that matches `sharePermissions.group.groupId`. This
     * parameter cannot be used with the `groupname` parameter.
     */
    groupId?: string;
    /** Project ID used to returns filters that are shared with a project that matches `sharePermissions.project.id`. */
    projectId?: number;
    /**
     * The list of filter IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`. Do not exceed 200 filter IDs.
     */
    id?: number[];
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by filter description. Note that this sorting works independently of whether the expand to
     *   display the description field is in use.
     * - `favourite_count` Sorts by the count of how many users have this filter as a favorite.
     * - `is_favourite` Sorts by whether the filter is marked as a favorite.
     * - `id` Sorts by filter ID.
     * - `name` Sorts by filter name.
     * - `owner` Sorts by the ID of the filter owner.
     * - `is_shared` Sorts by whether the filter is shared.
     */
    orderBy?: 'description' | '-description' | '+description' | 'favourite_count' | '-favourite_count' | '+favourite_count' | 'id' | '-id' | '+id' | 'is_favourite' | '-is_favourite' | '+is_favourite' | 'name' | '-name' | '+name' | 'owner' | '-owner' | '+owner' | 'is_shared' | '-is_shared' | '+is_shared' | string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `description` Returns the description of the filter.
     * - `favourite` Returns an indicator of whether the user has set the filter as a favorite.
     * - `favouritedCount` Returns a count of how many users have set this filter as a favorite.
     * - `jql` Returns the JQL query that the filter uses.
     * - `owner` Returns the owner of the filter.
     * - `searchUrl` Returns a URL to perform the filter's JQL query.
     * - `sharePermissions` Returns the share permissions defined for the filter.
     * - `editPermissions` Returns the edit permissions defined for the filter.
     * - `isWritable` Returns whether the current user has permission to edit the filter.
     * - `subscriptions` Returns the users that are subscribed to the filter.
     * - `viewUrl` Returns a URL to view the filter.
     */
    expand?: 'description' | 'favourite' | 'favouritedCount' | 'jql' | 'owner' | 'searchUrl' | 'sharePermissions' | 'editPermissions' | 'isWritable' | 'subscriptions' | 'viewUrl' | ('description' | 'favourite' | 'favouritedCount' | 'jql' | 'owner' | 'searchUrl' | 'sharePermissions' | 'editPermissions' | 'isWritable' | 'subscriptions' | 'viewUrl')[] | string | string[];
    /**
     * EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be returned.
     * Available to users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideSharePermissions?: boolean;
    /**
     * When `true` this will perform a case-insensitive substring match for the provided `filterName`. When `false` the
     * filter name will be searched using [full text search
     * syntax](https://support.atlassian.com/jira-software-cloud/docs/search-for-issues-using-the-text-field/).
     */
    isSubstringMatch?: boolean;
}

interface GetHierarchy$1 {
    /** The ID of the project. */
    projectId: string | number;
}

interface GetIdsOfWorklogsDeletedSince$1 {
    /** The date and time, as a UNIX timestamp in milliseconds, after which deleted worklogs are returned. */
    since?: number;
}

interface GetIdsOfWorklogsModifiedSince$1 {
    /** The date and time, as a UNIX timestamp in milliseconds, after which updated worklogs are returned. */
    since?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about worklogs in the response. This parameter accepts `properties` that returns the properties of each
     * worklog.
     */
    expand?: string;
}

interface GetIssue$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a
     * subset of fields. Allowed values:
     *
     * `*all` Returns all fields. `*navigable` Returns navigable fields. Any issue field, prefixed with a minus to
     * exclude.
     *
     * Examples:
     *
     * `summary,comment` Returns only the summary and comments fields. `-description` Returns all (default) fields except
     * description. `*navigable,-comment` Returns all navigable fields except comment.
     *
     * This parameter may be specified multiple times. For example, `fields=field1,field2& fields=field3`.
     *
     * Note: All fields are returned by default. This differs from [Search for issues using JQL
     * (GET)](#api-rest-api-2-search-get) and [Search for issues using JQL (POST)](#api-rest-api-2-search-post) where the
     * default is all navigable fields.
     */
    fields?: string[];
    /**
     * Whether fields in `fields` are referenced by keys rather than IDs. This parameter is useful where fields have been
     * added by a connect app and a field's key may differ from its ID.
     */
    fieldsByKeys?: boolean;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about the issues in the response. This parameter accepts a comma-separated list. Expand options
     * include:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field. -`schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Returns a JSON array for each version of a field's value, with the highest number
     *   representing the most recent version. Note: When included in the request, the `fields` parameter is ignored.
     */
    expand?: 'renderedFields' | 'names' | 'transitions' | 'editmeta' | 'changelog' | 'versionedRepresentations' | ('renderedFields' | 'names' | 'transitions' | 'editmeta' | 'changelog' | 'versionedRepresentations')[] | string | string[];
    /**
     * A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:
     *
     * `*all` Returns all issue properties. Any issue property key, prefixed with a minus to exclude.
     *
     * Examples:
     *
     * `*all` Returns all properties. `*all,-prop1` Returns all properties except `prop1`. `prop1,prop2` Returns `prop1`
     * and `prop2` properties.
     *
     * This parameter may be specified multiple times. For example, `properties=prop1,prop2& properties=prop3`.
     */
    properties?: string[];
    /**
     * Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown
     * under **Projects** in Jira. This also populates the [JQL issues search](#api-rest-api-2-search-get) `lastViewed`
     * field.
     */
    updateHistory?: boolean;
    /**
     * Whether to fail the request quickly in case of an error while loading fields for an issue. For `failFast=true`, if
     * one field fails, the entire operation fails. For `failFast=false`, the operation will continue even if a field
     * fails. It will return a valid response, but without values for the failed field(s).
     */
    failFast?: boolean;
}

interface GetIssueFieldOption$1 {
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
    /** The ID of the option to be returned. */
    optionId: number;
}

interface GetIssueLimitReport$1 extends IssueLimitReportRequest {
    /**
     * Return issue keys instead of issue ids in the response.
     *
     *     Usage: Add `?isReturningKeys=true` to the end of the path to request issue keys.
     */
    isReturningKeys?: boolean;
}

interface GetIssueLink$1 {
    /** The ID of the issue link. */
    linkId: string;
}

interface GetIssueLinkType$1 {
    /** The ID of the issue link type. */
    issueLinkTypeId: string;
}

interface GetIssuePickerResource$1 {
    /** A string to match against text fields in the issue such as title, description, or comments. */
    query?: string;
    /**
     * A JQL query defining a list of issues to search for the query term. Note that `username` and `userkey` cannot be
     * used as search terms for this parameter, due to privacy reasons. Use `accountId` instead.
     */
    currentJQL?: string;
    /**
     * The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform
     * this query.
     */
    currentIssueKey?: string;
    /** The ID of a project that suggested issues must belong to. */
    currentProjectId?: string;
    /** Indicate whether to include subtasks in the suggestions list. */
    showSubTasks?: boolean;
    /**
     * When `currentIssueKey` is a subtask, whether to include the parent issue in the suggestions if it matches the
     * query.
     */
    showSubTaskParent?: boolean;
}

interface GetIssueProperty$1 {
    /** The key or ID of the issue. */
    issueIdOrKey: string;
    /** The key of the property. */
    propertyKey: string;
}

interface GetIssuePropertyKeys$1 {
    /** The key or ID of the issue. */
    issueIdOrKey: string;
}

interface GetIssueSecurityLevel$1 {
    /** The ID of the issue security level. */
    id: string;
}

interface GetIssueSecurityLevelMembers$1 {
    /**
     * The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get)
     * operation to get a list of issue security scheme IDs.
     */
    issueSecuritySchemeId: number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue security level IDs. To include multiple issue security levels separate IDs with ampersand:
     * `issueSecurityLevelId=10000&issueSecurityLevelId=10001`.
     */
    issueSecurityLevelId?: number[];
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand
     * options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `projectRole` Returns
     * information about the project role granted the permission. `user` Returns information about the user who is granted
     * the permission.
     */
    expand?: string;
}

interface GetIssueSecurityScheme$1 {
    /**
     * The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get)
     * operation to get a list of issue security scheme IDs.
     */
    id: number;
}

interface GetIssueType$1 {
    /** The ID of the issue type. */
    id: string;
}

interface GetIssueTypeMappingsForContexts$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /**
     * The ID of the context. To include multiple contexts, provide an ampersand-separated list. For example,
     * `contextId=10001&contextId=10002`.
     */
    contextId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetIssueTypeProperty$1 {
    /** The ID of the issue type. */
    issueTypeId: string;
    /**
     * The key of the property. Use [Get issue type property keys](#api-rest-api-2-issuetype-issueTypeId-properties-get)
     * to get a list of all issue type property keys.
     */
    propertyKey: string;
}

interface GetIssueTypePropertyKeys$1 {
    /** The ID of the issue type. */
    issueTypeId: string;
}

interface GetIssueTypeSchemeForProjects$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of project IDs. To include multiple project IDs, provide an ampersand-separated list. For example,
     * `projectId=10000&projectId=10001`.
     */
    projectId: (string | number)[];
}

interface GetIssueTypeSchemesMapping$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue type scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `issueTypeSchemeId=10000&issueTypeSchemeId=10001`.
     */
    issueTypeSchemeId?: number[];
}

interface GetIssueTypeScreenSchemeMappings$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue type screen scheme IDs. To include multiple issue type screen schemes, separate IDs with
     * ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`.
     */
    issueTypeScreenSchemeId?: number[];
}

interface GetIssueTypeScreenSchemeProjectAssociations$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of project IDs. To include multiple projects, separate IDs with ampersand:
     * `projectId=10000&projectId=10001`.
     */
    projectId: (string | number)[];
}

interface GetIssueTypeScreenSchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue type screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For
     * example, `id=10000&id=10001`.
     */
    id?: number[];
    /** String used to perform a case-insensitive partial match with issue type screen scheme name. */
    queryString?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `name` Sorts by issue type screen scheme name.
     * - `id` Sorts by issue type screen scheme ID.
     */
    orderBy?: 'name' | '-name' | '+name' | 'id' | '-id' | '+id' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts `projects` that, for each issue type screen schemes, returns
     * information about the projects the issue type screen scheme is assigned to.
     */
    expand?: string;
}

interface GetIssueTypesForProject$1 {
    /** The ID of the project. */
    projectId: string | number;
    /**
     * The level of the issue type to filter by. Use:
     *
     * `-1` for Subtask. `0` for Base. `1` for Epic.
     */
    level?: number;
}

interface GetIssueWatchers$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface GetIssueWorklog$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned. */
    startedAfter?: number;
    /** The worklog start date and time, as a UNIX timestamp in milliseconds, before which worklogs are returned. */
    startedBefore?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about worklogs in the response. This parameter accepts`properties`, which returns worklog properties.
     */
    expand?: string;
}

interface GetIsWatchingIssueBulk$1 extends IssueList$1 {
}

interface GetMyFilters$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
    /** Include the user's favorite filters in the response. */
    includeFavourites?: boolean;
}

interface GetMyPermissions$1 {
    /** The key of project. Ignored if `projectId` is provided. */
    projectKey?: string;
    /** The ID of project. */
    projectId?: string;
    /** The key of the issue. Ignored if `issueId` is provided. */
    issueKey?: string;
    /** The ID of the issue. */
    issueId?: string;
    /**
     * A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available
     * permissions, use [Get all permissions](#api-rest-api-2-permissions-get).
     */
    permissions?: string;
    projectUuid?: string;
    projectConfigurationUuid?: string;
    /** The ID of the comment. */
    commentId?: string;
}

interface GetNotificationScheme$1 {
    /**
     * The ID of the notification scheme. Use [Get notification schemes paginated](#api-rest-api-2-notificationscheme-get)
     * to get a list of notification scheme IDs.
     */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `all` Returns all expandable information.
     * - `field` Returns information about any custom fields assigned to receive an event.
     * - `group` Returns information about any groups assigned to receive an event.
     * - `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable
     *   information.
     * - `projectRole` Returns information about any project roles assigned to receive an event.
     * - `user` Returns information about any users assigned to receive an event.
     */
    expand?: 'all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user')[] | string | string[];
}

interface GetNotificationSchemeForProject$1 {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `all` Returns all expandable information
     * - `field` Returns information about any custom fields assigned to receive an event
     * - `group` Returns information about any groups assigned to receive an event
     * - `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable
     *   information
     * - `projectRole` Returns information about any project roles assigned to receive an event
     * - `user` Returns information about any users assigned to receive an event
     */
    expand?: 'all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user')[] | string | string[];
}

interface GetNotificationSchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of notification schemes IDs to be filtered by */
    id?: string[];
    /** The list of projects IDs to be filtered by */
    projectId?: string[];
    /**
     * When set to true, returns only the default notification scheme. If you provide project IDs not associated with the
     * default, returns an empty page. The default value is false.
     */
    onlyDefault?: boolean;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `all` Returns all expandable information
     * - `field` Returns information about any custom fields assigned to receive an event
     * - `group` Returns information about any groups assigned to receive an event
     * - `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable
     *   information
     * - `projectRole` Returns information about any project roles assigned to receive an event
     * - `user` Returns information about any users assigned to receive an event
     */
    expand?: 'all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user')[] | string | string[];
}

interface GetNotificationSchemeToProjectMappings$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of notifications scheme IDs to be filtered out */
    notificationSchemeId?: string[];
    /** The list of project IDs to be filtered out */
    projectId?: string[];
}

interface GetOptionsForContext$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
    /** The ID of the option. */
    optionId?: number;
    /** Whether only options are returned. */
    onlyOptions?: boolean;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetPermissionScheme$1 {
    /** The ID of the permission scheme to return. */
    schemeId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are included when you specify any value. Expand options include:
     *
     * - `all` Returns all expandable information.
     * - `field` Returns information about the custom field granted the permission.
     * - `group` Returns information about the group that is granted the permission.
     * - `permissions` Returns all permission grants for each permission scheme.
     * - `projectRole` Returns information about the project role granted the permission.
     * - `user` Returns information about the user who is granted the permission.
     */
    expand?: 'all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user')[] | string | string[];
}

interface GetPermissionSchemeGrant$1 {
    /** The ID of the permission scheme. */
    schemeId: number;
    /** The ID of the permission grant. */
    permissionId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `permissions` Returns all
     * permission grants for each permission scheme. `projectRole` Returns information about the project role granted the
     * permission. `user` Returns information about the user who is granted the permission.
     */
    expand?: string;
}

interface GetPermissionSchemeGrants$1 {
    /** The ID of the permission scheme. */
    schemeId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `permissions` Returns all permission grants for each permission scheme. `user` Returns information about the user
     * who is granted the permission. `group` Returns information about the group that is granted the permission.
     * `projectRole` Returns information about the project role granted the permission. `field` Returns information about
     * the custom field granted the permission. `all` Returns all expandable information.
     */
    expand?: string;
}

interface GetPermittedProjects$1 extends PermissionsKeys$1 {
}

interface GetPlan$1 {
    /** The ID of the plan. */
    planId: number;
    /** Whether to return group IDs instead of group names. Group names are deprecated. */
    useGroupId?: boolean;
}

interface GetPlanOnlyTeam$1 {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the plan-only team. */
    planOnlyTeamId: number;
}

interface GetPlans$1 {
    /** Whether to include trashed plans in the results. */
    includeTrashed?: boolean;
    /** Whether to include archived plans in the results. */
    includeArchived?: boolean;
    /** The cursor to start from. If not provided, the first page will be returned. */
    cursor?: string;
    /** The maximum number of plans to return per page. The maximum value is 50. The default value is 50. */
    maxResults?: number;
}

interface GetPolicies$1 {
    /** A list of project identifiers. This parameter accepts a comma-separated list. */
    ids?: string;
}

interface GetPrecomputations$1 {
    /**
     * The function key in format:
     *
     * Forge: `ari:cloud:ecosystem::extension/[App ID]/[Environment ID]/static/[Function key from manifest]` Connect:
     * `[App key]__[Module key]`
     */
    functionKey?: string[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * @deprecated [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a
     *   field:
     *
     *   - `functionKey` Sorts by the functionKey.
     *   - `used` Sorts by the used timestamp.
     *   - `created` Sorts by the created timestamp.
     *   - `updated` Sorts by the updated timestamp.
     */
    filter?: string;
    orderBy?: 'functionKey' | 'used' | 'created' | 'updated' | '+functionKey' | '+used' | '+created' | '+updated' | '-functionKey' | '-used' | '-created' | '-updated' | string;
}

interface GetPrecomputationsByID$1 extends JqlFunctionPrecomputationGetByIdRequest$1 {
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * `functionKey` Sorts by the functionKey. `used` Sorts by the used timestamp. `created` Sorts by the created
     * timestamp. `updated` Sorts by the updated timestamp.
     */
    orderBy?: string;
}

interface GetPreference$1 {
    /** The key of the preference. */
    key: string;
}

interface GetPrioritiesByPriorityScheme$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The priority scheme ID. */
    schemeId: string;
}

interface GetPriority$1 {
    /** The ID of the issue priority. */
    id: string;
}

interface GetPrioritySchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * A set of priority IDs to filter by. To include multiple IDs, provide an ampersand-separated list. For example,
     * `priorityId=10000&priorityId=10001`.
     */
    priorityId?: number[];
    /**
     * A set of priority scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `schemeId=10000&schemeId=10001`.
     */
    schemeId?: number[];
    /** The name of scheme to search for. */
    schemeName?: string;
    /** Whether only the default priority is returned. */
    onlyDefault?: boolean;
    /** The ordering to return the priority schemes by. */
    orderBy?: 'name' | '+name' | '-name' | string;
    /**
     * A comma separated list of additional information to return. "priorities" will return priorities associated with the
     * priority scheme. "projects" will return projects associated with the priority scheme.
     * `expand=priorities,projects`.
     */
    expand?: string;
}

interface GetProject$1 {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string | number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Note that the project description,
     * issue types, and project lead are included in all responses by default. Expand options include:
     *
     * - `description` The project description.
     * - `issueTypes` The issue types associated with the project.
     * - `lead` The project lead.
     * - `projectKeys` All project keys associated with the project.
     * - `issueTypeHierarchy` The project issue type hierarchy.
     */
    expand?: 'description' | 'issueTypes' | 'lead' | 'projectKeys' | 'issueTypeHierarchy' | ('description' | 'issueTypes' | 'lead' | 'projectKeys' | 'issueTypeHierarchy')[] | string | string[];
    /** A list of project properties to return for the project. This parameter accepts a comma-separated list. */
    properties?: string[];
}

interface GetProjectCategoryById$1 {
    /** The ID of the project category. */
    id: number;
}

interface GetProjectComponents$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string;
    /**
     * The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the
     * API will return connected Compass components if the project is opted into Compass, otherwise it will return Jira
     * components. Defaults to `jira`.
     *
     * @default jira
     */
    componentSource?: 'jira' | 'compass' | 'auto' | string;
}

interface GetProjectComponentsPaginated$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by the component description.
     * - `issueCount` Sorts by the count of issues associated with the component.
     * - `lead` Sorts by the user key of the component's project lead.
     * - `name` Sorts by component name.
     */
    orderBy?: 'description' | '-description' | '+description' | 'issueCount' | '-issueCount' | '+issueCount' | 'lead' | '-lead' | '+lead' | 'name' | '-name' | '+name' | string;
    /**
     * Filter the results using a literal string. Components with a matching `name` or `description` are returned (case
     * insensitive).
     */
    query?: string;
    /**
     * The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the
     * API will return connected Compass components if the project is opted into Compass, otherwise it will return Jira
     * components. Defaults to `jira`.
     *
     * @default jira
     */
    componentSource?: 'jira' | 'compass' | 'auto' | string;
}

interface GetProjectContextMapping$1 {
    /** The ID of the custom field, for example `customfield\_10000`. */
    fieldId: string;
    /**
     * The list of context IDs. To include multiple context, separate IDs with ampersand:
     * `contextId=10000&contextId=10001`.
     */
    contextId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetProjectEmail$1 {
    /** The project ID. */
    projectId: string | number;
}

interface GetProjectIssueSecurityScheme$1 {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
}

interface GetProjectIssueTypeUsagesForStatus$1 {
    /** The statusId to fetch issue type usages for */
    statusId: string;
    /** The projectId to fetch issue type usages for */
    projectId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetProjectProperty$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The project property key. Use [Get project property keys](#api-rest-api-2-project-projectIdOrKey-properties-get) to
     * get a list of all project property keys.
     */
    propertyKey: string;
}

interface GetProjectPropertyKeys$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface GetProjectRole$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
    /** Exclude inactive users. */
    excludeInactiveUsers?: boolean;
}

interface GetProjectRoleActorsForRole$1 {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface GetProjectRoleById$1 {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface GetProjectRoleDetails$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** Whether the roles should be filtered to include only those the user is assigned to. */
    currentMember?: boolean;
    excludeConnectAddons?: boolean;
}

interface GetProjectRoles$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface GetProjectsByPriorityScheme$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The project IDs to filter by. For example, `projectId=10000&projectId=10001`. */
    projectId?: number[];
    /** The priority scheme ID. */
    schemeId: string;
    /** The string to query projects on by name. */
    query?: string;
}

interface GetProjectsForIssueTypeScreenScheme$1 {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    query?: string;
}

interface GetProjectTypeByKey$1 {
    /** The key of the project type. */
    projectTypeKey: 'software' | 'service_desk' | 'business' | 'product_discovery' | string;
}

interface GetProjectUsagesForStatus$1 {
    /** The statusId to fetch project usages for */
    statusId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetProjectUsagesForWorkflow$1 {
    /** The workflow ID */
    workflowId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetProjectUsagesForWorkflowScheme$1 {
    /** The workflow scheme ID */
    workflowSchemeId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetProjectVersions$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts `operations`, which returns actions that can be performed on
     * the version.
     */
    expand?: string;
}

interface GetProjectVersionsPaginated$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by version description.
     * - `name` Sorts by version name.
     * - `releaseDate` Sorts by release date, starting with the oldest date. Versions with no release date are listed last.
     * - `sequence` Sorts by the order of appearance in the user interface.
     * - `startDate` Sorts by start date, starting with the oldest date. Versions with no start date are listed last.
     */
    orderBy?: 'description' | '-description' | '+description' | 'name' | '-name' | '+name' | 'releaseDate' | '-releaseDate' | '+releaseDate' | 'sequence' | '-sequence' | '+sequence' | 'startDate' | '-startDate' | '+startDate' | string;
    /**
     * Filter the results using a literal string. Versions with matching `name` or `description` are returned (case
     * insensitive).
     */
    query?: string;
    /**
     * A list of status values used to filter the results by version status. This parameter accepts a comma-separated
     * list. The status values are `released`, `unreleased`, and `archived`.
     */
    status?: 'released' | 'unreleased' | 'archived' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `issuesstatus` Returns the number of issues in each status category for each version.
     * - `operations` Returns actions that can be performed on the specified version.
     * - `driver` Returns the Atlassian account ID of the version driver.
     * - `approvers` Returns a list containing the approvers for this version.
     */
    expand?: 'issuesstatus' | 'operations' | 'driver' | 'approvers' | ('issuesstatus' | 'operations' | 'driver' | 'approvers')[] | string | string[];
}

interface GetRecent$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expanded options include:
     *
     * - `description` Returns the project description.
     * - `projectKeys` Returns all project keys associated with a project.
     * - `lead` Returns information about the project lead.
     * - `issueTypes` Returns all issue types associated with the project.
     * - `url` Returns the URL associated with the project.
     * - `permissions` Returns the permissions associated with the project.
     * - `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the
     *   project.
     * - `*` Returns the project with all available expand options.
     */
    expand?: 'description' | 'projectKeys' | 'lead' | 'issueTypes' | 'url' | 'permissions' | 'insight' | '*' | ('description' | 'projectKeys' | 'lead' | 'issueTypes' | 'url' | 'permissions' | 'insight')[] | string | string[];
    /**
     * EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated
     * list. Invalid property names are ignored.
     */
    properties?: string[];
}

interface GetRelatedWork$1 {
    /** The ID of the version. */
    id: string;
}

interface GetRemoteIssueLinkById$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the remote issue link. */
    linkId: string;
}

interface GetRemoteIssueLinks$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The global ID of the remote issue link. */
    globalId?: string;
}

interface GetResolution$1 {
    /** The ID of the issue resolution value. */
    id: string;
}

interface GetScreens$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of screen IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`.
     */
    id?: number[];
    /** String used to perform a case-insensitive partial match with screen name. */
    queryString?: string;
    /**
     * The scope filter string. To filter by multiple scope, provide an ampersand-separated list. For example,
     * `scope=GLOBAL&scope=PROJECT`.
     */
    scope?: ('GLOBAL' | 'TEMPLATE' | 'PROJECT' | string)[];
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `id` Sorts by screen ID.
     * - `name` Sorts by screen name.
     */
    orderBy?: 'name' | '-name' | '+name' | 'id' | '-id' | '+id' | string;
}

interface GetScreenSchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`.
     */
    id?: number[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) include additional
     * information in the response. This parameter accepts `issueTypeScreenSchemes` that, for each screen schemes, returns
     * information about the issue type screen scheme the screen scheme is assigned to.
     */
    expand?: string;
    /** String used to perform a case-insensitive partial match with screen scheme name. */
    queryString?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `id` Sorts by screen scheme ID.
     * - `name` Sorts by screen scheme name.
     */
    orderBy?: 'name' | '-name' | '+name' | 'id' | '-id' | '+id' | string;
}

interface GetScreensForField$1 {
    /** The ID of the field to return screens for. */
    fieldId: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about screens in the response. This parameter accepts `tab` which returns details about the screen tabs
     * the field is used in.
     */
    expand?: string;
}

interface GetSecurityLevelMembers$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue security level member IDs. To include multiple issue security level members separate IDs with an
     * ampersand: `id=10000&id=10001`.
     */
    id?: string | string[];
    /**
     * The list of issue security scheme IDs. To include multiple issue security schemes separate IDs with an ampersand:
     * `schemeId=10000&schemeId=10001`.
     */
    schemeId?: string | string[];
    /**
     * The list of issue security level IDs. To include multiple issue security levels separate IDs with an ampersand:
     * `levelId=10000&levelId=10001`.
     */
    levelId?: string | string[];
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand
     * options include:
     *
     * - `all` Returns all expandable information
     * - `field` Returns information about the custom field granted the permission
     * - `group` Returns information about the group that is granted the permission
     * - `projectRole` Returns information about the project role granted the permission
     * - `user` Returns information about the user who is granted the permission
     */
    expand?: 'all' | 'field' | 'group' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'projectRole' | 'user')[] | string | string[];
}

interface GetSecurityLevels$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue security scheme level IDs. To include multiple issue security levels, separate IDs with an
     * ampersand: `id=10000&id=10001`.
     */
    id?: string | string[];
    /**
     * The list of issue security scheme IDs. To include multiple issue security schemes, separate IDs with an ampersand:
     * `schemeId=10000&schemeId=10001`.
     */
    schemeId?: string | string[];
    /**
     * When set to true, returns multiple default levels for each security scheme containing a default. If you provide
     * scheme and level IDs not associated with the default, returns an empty page. The default value is false.
     */
    onlyDefault?: boolean;
}

interface GetSecurityLevelsForProject$1 {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
}

interface GetSelectableIssueFieldOptions$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** Filters the results to options that are only available in the specified project. */
    projectId?: number;
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
}

interface GetSharePermission$1 {
    /** The ID of the filter. */
    id: number;
    /** The ID of the share permission. */
    permissionId: number;
}

interface GetSharePermissions$1 {
    /** The ID of the filter. */
    id: number;
}

interface GetStatus$1 {
    /** The ID or name of the status. */
    idOrName: string;
}

interface GetStatusCategory$1 {
    /** The ID or key of the status category. */
    idOrKey: string;
}

interface GetStatusesById$1 {
    /**
     * @deprecated See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298) for details.
     *
     *   Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     *   information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     *   - `usages` Returns the project and issue types that use the status in their workflow.
     *   - `workflowUsages` Returns the workflows that use the status.
     */
    expand?: 'usages' | 'workflowUsages' | ('usages' | 'workflowUsages')[] | string | string[];
    /**
     * The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * id=10000&id=10001.
     *
     * Min items `1`, Max items `50`
     */
    id: string[];
}

interface GetTask$1 {
    /** The ID of the task. */
    taskId: string;
}

interface GetTeams$1 {
    /** The ID of the plan. */
    planId: number;
    /** The cursor to start from. If not provided, the first page will be returned. */
    cursor?: string;
    /** The maximum number of plan teams to return per page. The maximum value is 50. The default value is 50. */
    maxResults?: number;
}

interface GetTransitions$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about transitions in the response. This parameter accepts `transitions.fields`, which returns
     * information about the fields in the transition screen for each transition. Fields hidden from the screen are not
     * returned. Use this information to populate the `fields` and `update` fields in [Transition
     * issue](#api-rest-api-2-issue-issueIdOrKey-transitions-post).
     */
    expand?: string;
    /** The ID of the transition. */
    transitionId?: string;
    /** Whether transitions with the condition _Hide From User Condition_ are included in the response. */
    skipRemoteOnlyCondition?: boolean;
    /** Whether details of transitions that fail a condition are included in the response */
    includeUnavailableTransitions?: boolean;
    /**
     * Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or
     * only by ops-bar sequence value.
     */
    sortByOpsBarAndStatus?: boolean;
}

interface GetTrashedFieldsPaginated$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    id?: string[];
    /** String used to perform a case-insensitive partial match with field names or descriptions. */
    query?: string;
    expand?: string | string[];
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `name` sorts by the field name
     * - `trashDate` sorts by the date the field was moved to the trash
     * - `plannedDeletionDate` sorts by the planned deletion date
     */
    orderBy?: 'name' | '-name' | '+name' | 'trashDate' | '-trashDate' | '+trashDate' | 'plannedDeletionDate' | '-plannedDeletionDate' | '+plannedDeletionDate' | 'projectsCount' | '-projectsCount' | '+projectsCount' | string;
}

interface GetUiModifications$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand
     * options include:
     *
     * - `data` Returns UI modification data.
     * - `contexts` Returns UI modification contexts.
     */
    expand?: 'data' | 'contexts' | ('data' | 'contexts')[] | string | string[];
}

interface GetUser$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Required.
     */
    accountId?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about users in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `groups` includes all groups and nested groups to which the user belongs.
     * - `applicationRoles` includes details of all the applications to which the user has access.
     */
    expand?: 'groups' | 'applicationRoles' | ('groups' | 'applicationRoles')[] | string | string[];
}

interface GetUserDefaultColumns$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This parameter is no longer available See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
}

interface GetUserEmail$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * `5b10ac8d82e05b22cc7d4ef5`.
     */
    accountId: string;
}

interface GetUserEmailBulk$1 {
    /**
     * The account IDs of the users for which emails are required. An `accountId` is an identifier that uniquely
     * identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`. Note, this should be
     * treated as an opaque identifier (that is, do not assume any structure in the value).
     */
    accountId: string[];
}

interface GetUserGroups$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
}

interface GetUserNavProperty$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The key of the user's property. */
    propertyKey: string;
}

interface GetUserProperty$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    userKey?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** The key of the user's property. */
    propertyKey: string;
}

interface GetUserPropertyKeys$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    userKey?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
}

interface GetUsersFromGroup$1 {
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. The name of the group. This
     * parameter cannot be used with the `groupId` parameter.
     */
    groupname?: string;
    /** The ID of the group. This parameter cannot be used with the `groupName` parameter. */
    groupId?: string;
    /** Include inactive users. */
    includeInactiveUsers?: boolean;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetValidProjectKey$1 {
    /** The project key. */
    key?: string;
}

interface GetValidProjectName$1 {
    /** The project name. */
    name: string;
}

interface GetVersion$1 {
    /** The ID of the version. */
    id: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about version in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `operations` Returns the list of operations available for this version.
     * - `issuesstatus` Returns the count of issues in this version for each of the status categories _to do_, _in
     *   progress_, _done_, and _unmapped_. The _unmapped_ property represents the number of issues with a status other
     *   than _to do_, _in progress_, and _done_.
     * - `driver` Returns the Atlassian account ID of the version driver.
     * - `approvers` Returns a list containing the Atlassian account IDs of approvers for this version.
     */
    expand?: 'operations' | 'issuesstatus' | 'driver' | 'approvers' | ('operations' | 'issuesstatus' | 'driver' | 'approvers')[] | string | string[];
}

interface GetVersionRelatedIssues$1 {
    /** The ID of the version. */
    id: string;
}

interface GetVersionUnresolvedIssues$1 {
    /** The ID of the version. */
    id: string;
}

interface GetVisibleIssueFieldOptions$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** Filters the results to options that are only available in the specified project. */
    projectId?: number;
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
}

interface GetVotes$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface GetWorkflow$1 {
    /** The ID of the workflow scheme. */
    id: number;
    /**
     * The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified
     * workflow.
     */
    workflowName?: string;
    /**
     * Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft
     * exists, the mapping from the workflow scheme is returned.
     */
    returnDraftIfExists?: boolean;
}

interface GetWorkflowProjectIssueTypeUsages$1 {
    /** The workflow ID */
    workflowId: string;
    /** The project ID */
    projectId: number;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetWorkflowScheme$1 {
    /**
     * The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the
     * URL as `schemeId`. For example, _schemeId=10301_.
     */
    id: number;
    /**
     * Returns the workflow scheme's draft rather than scheme itself, if set to true. If the workflow scheme does not have
     * a draft, then the workflow scheme is returned.
     */
    returnDraftIfExists?: boolean;
}

interface GetWorkflowSchemeDraft$1 {
    /** The ID of the active workflow scheme that the draft was created from. */
    id: number;
}

interface GetWorkflowSchemeDraftIssueType$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
}

interface GetWorkflowSchemeIssueType$1 {
    /** The ID of the workflow scheme. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
    /**
     * Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft
     * exists, the mapping from the workflow scheme is returned.
     */
    returnDraftIfExists?: boolean;
}

interface GetWorkflowSchemeProjectAssociations$1 {
    /**
     * The ID of a project to return the workflow schemes for. To include multiple projects, provide an ampersand-Jim:
     * oneseparated list. For example, `projectId=10000&projectId=10001`.
     */
    projectId: (string | number)[];
}

interface GetWorkflowSchemeUsagesForWorkflow$1 {
    /** The workflow ID */
    workflowId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetWorkflowsPaginated$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The name of a workflow to return. To include multiple workflows, provide an ampersand-separated list. For example,
     * `workflowName=name1&workflowName=name2`.
     */
    workflowName?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `transitions` For each workflow, returns information about the transitions inside the workflow.
     * - `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included
     *   automatically if this expand is requested.
     * - `transitions.properties` For each workflow transition, returns information about its properties. Transitions are
     *   included automatically if this expand is requested.
     * - `statuses` For each workflow, returns information about the statuses inside the workflow.
     * - `statuses.properties` For each workflow status, returns information about its properties. Statuses are included
     *   automatically if this expand is requested.
     * - `default` For each workflow, returns information about whether this is the default workflow.
     * - `schemes` For each workflow, returns information about the workflow schemes the workflow is assigned to.
     * - `projects` For each workflow, returns information about the projects the workflow is assigned to, through workflow
     *   schemes.
     * - `hasDraftWorkflow` For each workflow, returns information about whether the workflow has a draft version.
     * - `operations` For each workflow, returns information about the actions that can be undertaken on the workflow.
     */
    expand?: 'transitions' | 'transitions.rules' | 'transitions.properties' | 'statuses' | 'statuses.properties' | 'default' | 'schemes' | 'projects' | 'hasDraftWorkflow' | 'operations' | ('transitions' | 'transitions.rules' | 'transitions.properties' | 'statuses' | 'statuses.properties' | 'default' | 'schemes' | 'projects' | 'hasDraftWorkflow' | 'operations')[] | string | string[];
    /** String used to perform a case-insensitive partial match with workflow name. */
    queryString?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `name` Sorts by workflow name.
     * - `created` Sorts by create time.
     * - `updated` Sorts by update time.
     */
    orderBy?: 'name' | '-name' | '+name' | 'created' | '-created' | '+created' | 'updated' | '+updated' | '-updated' | string;
    /** Filters active and inactive workflows. */
    isActive?: boolean;
}

interface GetWorkflowTransitionProperties$1 {
    /**
     * The ID of the transition. To get the ID, view the workflow in text mode in the Jira administration console. The ID
     * is shown next to the transition.
     */
    transitionId: number;
    /**
     * Some properties with keys that have the _jira._ prefix are reserved, which means they are not editable. To include
     * these properties in the results, set this parameter to _true_.
     */
    includeReservedKeys?: boolean;
    /**
     * The key of the property being returned, also known as the name of the property. If this parameter is not specified,
     * all properties on the transition are returned.
     */
    key?: string;
    /** The name of the workflow that the transition belongs to. */
    workflowName: string;
    /** The workflow status. Set to _live_ for active and inactive workflows, or _draft_ for draft workflows. */
    workflowMode?: 'live' | 'draft' | string;
}

interface GetWorkflowTransitionRuleConfigurations$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The types of the transition rules to return. */
    types: ('postfunction' | 'condition' | 'validator' | string)[];
    /**
     * The transition rule class keys, as defined in the Connect or the Forge app descriptor, of the transition rules to
     * return.
     */
    keys?: string[];
    /** The list of workflow names to filter by. */
    workflowNames?: string[];
    /** The list of `tags` to filter by. */
    withTags?: string[];
    /** Whether draft or published workflows are returned. If not provided, both workflow types are returned. */
    draft?: boolean;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts `transition`, which, for each rule, returns information about
     * the transition the rule is assigned to.
     */
    expand?: 'transition' | string;
}

interface GetWorkflowUsagesForStatus$1 {
    /** The statusId to fetch workflow usages for */
    statusId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetWorklog$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    id: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about work logs in the response. This parameter accepts
     *
     * `properties`, which returns worklog properties.
     */
    expand?: string;
}

interface GetWorklogProperty$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    worklogId: string;
    /** The key of the property. */
    propertyKey: string;
}

interface GetWorklogPropertyKeys$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    worklogId: string;
}

interface GetWorklogsForIds$1 extends WorklogIdsRequest$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about worklogs in the response. This parameter accepts `properties` that returns the properties of each
     * worklog.
     */
    expand?: string;
}

interface LinkIssues$1 extends LinkIssueRequestJson$1 {
}

interface MatchIssues$1 extends IssuesAndJQLQueries$1 {
}

interface MergeVersions$1 {
    /** The ID of the version to delete. */
    id: string;
    /** The ID of the version to merge into. */
    moveIssuesTo: string;
}

interface MigrateQueries$1 extends JQLPersonalDataMigrationRequest$1 {
}

interface MovePriorities$1 extends ReorderIssuePriorities$1 {
}

interface MoveResolutions$1 extends ReorderIssueResolutionsRequest$1 {
}

interface MoveScreenTab$1 {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
    /** The position of tab. The base index is 0. */
    pos: number;
}

interface MoveScreenTabField$1 extends MoveField$1 {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
    /** The ID of the field. */
    id: string;
}

interface MoveVersion$1 extends VersionMove$1 {
    /** The ID of the version to be moved. */
    id: string;
}

interface Notify$1 extends Notification$1 {
    /** ID or key of the issue that the notification is sent for. */
    issueIdOrKey: string;
}

interface ParseJqlQueries$1 extends JqlQueriesToParse$1 {
    /**
     * How to validate the JQL query and treat the validation results. Validation options include:
     *
     * - `strict` Returns all errors. If validation fails, the query structure is not returned.
     * - `warn` Returns all errors. If validation fails but the JQL query is correctly formed, the query structure is
     *   returned.
     * - `none` No validation is performed. If JQL query is correctly formed, the query structure is returned.
     */
    validation?: 'strict' | 'warn' | 'none' | string;
}

interface PartialUpdateProjectRole$1 extends CreateUpdateRoleRequest$1 {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface PublishDraftWorkflowScheme$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** Whether the request only performs a validation. */
    validateOnly?: boolean;
    statusMappings?: StatusMapping$1[];
}

interface PutAddonProperty$1 {
    /** The key of the app, as defined in its descriptor. */
    addonKey: string;
    /** The key of the property. */
    propertyKey: string;
    propertyValue: any;
}

interface PutAppProperty$1 {
    /** The key of the property. */
    propertyKey: string;
    propertyValue: any;
}

interface ReadWorkflows$1 {
    /**
     * Return the new fields (`toStatusReference`/`links`) instead of the deprecated fields (`to`/`from`) for workflow
     * transition port mappings.
     */
    useTransitionLinksFormat?: boolean;
    /**
     * Return the new field `approvalConfiguration` instead of the deprecated status properties for approval
     * configuration.
     */
    useApprovalConfiguration?: boolean;
    /** The list of projects and issue types to query. */
    projectAndIssueTypes?: ProjectAndIssueTypePair$1[];
    /** The list of workflow IDs to query. */
    workflowIds?: string[];
    /** The list of workflow names to query. */
    workflowNames?: string[];
}

interface ReadWorkflowSchemes$1 extends WorkflowSchemeReadRequest$1 {
    /**
     * Deprecated. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298) for details.
     *
     *     Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `workflows.usages` Returns the project and issue types that each workflow in the workflow scheme is associated
     * with.
     */
    expand?: string;
}

interface RefreshWebhooks$1 extends ContainerForWebhookIDs$1 {
}

interface RegisterDynamicWebhooks$1 extends WebhookRegistrationDetails$1 {
}

interface RegisterModules$1 extends ConnectModules$1 {
}

interface RemoveAssociations$1 extends FieldAssociationsRequest$1 {
}

interface RemoveAtlassianTeam$1 {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the Atlassian team. */
    atlassianTeamId: string;
}

interface RemoveAttachment$1 {
    /** The ID of the attachment. */
    id: string;
}

interface RemoveCustomFieldContextFromProjects$1 extends ProjectIds$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface RemoveDefaultProjectClassification$1 {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string;
}

interface RemoveGadget$1 {
    /** The ID of the dashboard. */
    dashboardId: number;
    /** The ID of the gadget. */
    gadgetId: number;
}

interface RemoveGroup$1 {
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. The name of the group. This
     * parameter cannot be used with the `groupId` parameter.
     */
    groupname?: string;
    /** The ID of the group. This parameter cannot be used with the `groupname` parameter. */
    groupId?: string;
    /**
     * As a group's name can change, use of `swapGroupId` is recommended to identify a group. The group to transfer
     * restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and
     * worklogs are inaccessible after the deletion. This parameter cannot be used with the `swapGroupId` parameter.
     */
    swapGroup?: string;
    /**
     * The ID of the group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are
     * not transferred, comments and worklogs are inaccessible after the deletion. This parameter cannot be used with the
     * `swapGroup` parameter.
     */
    swapGroupId?: string;
}

interface RemoveIssueTypeFromIssueTypeScheme$1 {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
    /** The ID of the issue type. */
    issueTypeId: number;
}

interface RemoveIssueTypesFromContext$1 extends IssueTypeIds$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface RemoveIssueTypesFromGlobalFieldConfigurationScheme$1 extends IssueTypeIdsToRemove$1 {
    /** The ID of the field configuration scheme. */
    id: number;
}

interface RemoveLevel$1 {
    /** The ID of the issue security scheme. */
    schemeId: string;
    /** The ID of the issue security level to remove. */
    levelId: string;
    /** The ID of the issue security level that will replace the currently selected level. */
    replaceWith?: string;
}

interface RemoveMappingsFromIssueTypeScreenScheme$1 extends IssueTypeIds$1 {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
}

interface RemoveMemberFromSecurityLevel$1 {
    /** The ID of the issue security scheme. */
    schemeId: string;
    /** The ID of the issue security level. */
    levelId: string;
    /** The ID of the issue security level member to be removed. */
    memberId: string;
}

interface RemoveModules$1 {
    /**
     * The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter. For
     * example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`. Nonexistent keys are
     * ignored.
     */
    moduleKey?: string[];
}

interface RemoveNotificationFromNotificationScheme$1 {
    /** The ID of the notification scheme. */
    notificationSchemeId: string;
    /** The ID of the notification. */
    notificationId: string;
}

interface RemovePreference$1 {
    /** The key of the preference. */
    key: string;
}

interface RemoveProjectCategory$1 {
    /** ID of the project category to delete. */
    id: number;
}

interface RemoveScreenTabField$1 {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
    /** The ID of the field. */
    id: string;
}

interface RemoveUser$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
}

interface RemoveUserFromGroup$1 {
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. The name of the group. This
     * parameter cannot be used with the `groupId` parameter.
     */
    groupname?: string;
    /** The ID of the group. This parameter cannot be used with the `groupName` parameter. */
    groupId?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId: string;
}

interface RemoveVote$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface RemoveWatcher$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Required.
     */
    accountId?: string;
}

interface RenameScreenTab$1 extends ScreenableTab$1 {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
}

interface ReorderCustomFieldOptions$1 extends OrderOfCustomFieldOptions$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface ReorderIssueTypesInIssueTypeScheme$1 extends OrderOfIssueTypes$1 {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
}

interface ReplaceCustomFieldOption$1 {
    /** The ID of the option that will replace the currently selected option. */
    replaceWith?: number;
    /** A JQL query that specifies the issues to be updated. For example, _project=10000_. */
    jql?: string;
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the option to be deselected. */
    optionId: number;
    /** The ID of the context. */
    contextId: number;
}

interface ReplaceIssueFieldOption$1 {
    /** The ID of the option that will replace the currently selected option. */
    replaceWith?: number;
    /** A JQL query that specifies the issues to be updated. For example, _project=10000_. */
    jql?: string;
    /**
     * Whether screen security is overridden to enable hidden fields to be edited. Available to Connect and Forge app
     * users with admin permission.
     */
    overrideScreenSecurity?: boolean;
    /**
     * Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect and Forge app
     * users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideEditableFlag?: boolean;
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
    /** The ID of the option to be deselected. */
    optionId: number;
}

interface ResetColumns$1 {
    /** The ID of the filter. */
    id: number;
}

interface ResetUserColumns$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
}

interface Restore$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface RestoreCustomField$1 {
    /** The ID of a custom field. */
    id: string;
}

interface SanitiseJqlQueries$1 extends JqlQueriesToSanitize$1 {
}

interface Search$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `usages` Returns the project and issue types that use the status in their workflow.
     * - `workflowUsages` Returns the workflows that use the status.
     */
    expand?: 'usages' | 'workflowUsages' | ('usages' | 'workflowUsages')[] | string | string[];
    /** The project the status is part of or null for global statuses. */
    projectId?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** Term to match status names against or null to search for all statuses in the search scope. */
    searchString?: string;
    /** Category of the status to filter by. The supported values are: `TODO`, `IN_PROGRESS`, and `DONE`. */
    statusCategory?: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
}

interface SearchForIssuesIds$1 extends IdSearchRequest$1 {
}

interface SearchForIssuesUsingJql$1 {
    /**
     * The [JQL](https://confluence.atlassian.com/x/egORLQ) that defines the search. Note:
     *
     * If no JQL expression is provided, all issues are returned. `username` and `userkey` cannot be used as search terms
     * due to privacy reasons. Use `accountId` instead. If a user has hidden their email address in their user profile,
     * partial matches of the email address will not find the user. An exact match is required.
     */
    jql?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /**
     * The maximum number of items to return per page. To manage page size, Jira may return fewer items per page where a
     * large number of fields are requested. The greatest number of items returned per page is achieved when requesting
     * `id` or `key` only.
     */
    maxResults?: number;
    /**
     * Determines how to validate the JQL query and treat the validation results. Supported values are:
     *
     * - `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).
     * - `warn` Returns all errors as warnings. `none` No validation is performed. `true` _Deprecated_ A legacy synonym for
     * - `strict`. `false` _Deprecated_ A legacy synonym for `warn`.
     *
     * Note: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.
     */
    validateQuery?: 'strict' | 'warn' | 'none' | string;
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * `*all` Returns all fields. `*navigable` Returns navigable fields. Any issue field, prefixed with a minus to
     * exclude.
     *
     * Examples:
     *
     * `summary,comment` Returns only the summary and comments fields. `-description` Returns all navigable (default)
     * fields except description. `*all,-comment` Returns all fields except comments.
     *
     * This parameter may be specified multiple times. For example, `fields=field1,field2&fields=field3`.
     *
     * Note: All navigable fields are returned by default. This differs from [GET
     * issue](#api-rest-api-2-issue-issueIdOrKey-get) where the default is all fields.
     */
    fields?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about issues in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     */
    expand?: 'renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | string | string[];
    /**
     * A list of issue property keys for issue properties to include in the results. This parameter accepts a
     * comma-separated list. Multiple properties can also be provided using an ampersand separated list. For example,
     * `properties=prop1,prop2&properties=prop3`. A maximum of 5 issue property keys can be specified.
     */
    properties?: string[];
    /** Reference fields by their key (rather than ID). */
    fieldsByKeys?: boolean;
    /**
     * Whether to fail the request quickly in case of an error while loading fields for an issue. For `failFast=true`, if
     * one field fails, the entire operation fails. For `failFast=false`, the operation will continue even if a field
     * fails. It will return a valid response, but without values for the failed field(s).
     */
    failFast?: boolean;
}

interface SearchForIssuesUsingJqlEnhancedSearch$1 {
    /**
     * The [JQL](https://confluence.atlassian.com/x/egORLQ) expression. For performance reasons, this parameter requires a
     * bounded query. A bounded query is a query with a search restriction.
     *
     * - Example of an unbounded query: `order by key desc`.
     * - Example of a bounded query: `assignee = currentUser() order by key`.
     *
     * Additionally, `orderBy` clause can contain a maximum of 7 fields.
     */
    jql: string;
    /**
     * The token for a page to fetch that is not the first page. The first page has a `nextPageToken` of `null`. Use the
     * `nextPageToken` to fetch the next page of issues.
     */
    nextPageToken?: string;
    /**
     * The maximum number of items to return per page. To manage page size, API may return fewer items per page where a
     * large number of fields are requested. The greatest number of items returned per page is achieved when requesting
     * `id` or `key` only.
     *
     * It returns max 5000 issues.
     *
     * Default: `50`
     *
     * Format: `int32`
     */
    maxResults?: number;
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * - `*all` Returns all fields.
     * - `*navigable` Returns navigable fields.
     * - `id` Returns only issue IDs.
     * - Any issue field, prefixed with a minus to exclude.
     *
     * The default is `id`.
     *
     * Examples:
     *
     * - `summary,comment` Returns only the summary and comments fields.
     * - `-description` Returns all navigable (default) fields except description.
     * - `*all,-comment` Returns all fields except comments.
     *
     * Multiple `fields` parameters can be included in a request.
     *
     * Note: By default, this resource returns IDs only. This differs from [GET
     * issue](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-issueidorkey-get)
     * where the default is all fields.
     */
    fields?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about issues in the response. Note that, unlike the majority of instances where `expand` is specified,
     * `expand` is defined as a comma-delimited string of values. The expand options are:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     *
     * Examples: `names,changelog` Returns the display name of each field as well as a list of recent updates to an issue.
     */
    expand?: string;
    /** A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list. */
    properties?: string[];
    /** Reference fields by their key (rather than ID). The default is `false`. */
    fieldsByKeys?: boolean;
    /** Fail this request early if we can't retrieve all field data. The default is `false`. */
    failFast?: boolean;
    /** Strong consistency issue ids to be reconciled with search results. Accepts max 50 ids. All issues must exist. */
    reconcileIssues?: number[];
}

interface SearchForIssuesUsingJqlEnhancedSearchPost$1 extends EnhancedSearchRequest$1 {
}

interface SearchForIssuesUsingJqlPost$1 extends SearchRequest$1 {
}

interface SearchPriorities$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of priority IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=2&id=3`. */
    id?: string[];
    /**
     * The list of projects IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `projectId=10010&projectId=10111`.
     */
    projectId?: string[];
    /** The name of priority to search for. */
    priorityName?: string;
    /** Whether only the default priority is returned. */
    onlyDefault?: boolean;
    /**
     * Use `schemes` to return the associated priority schemes for each priority. Limited to returning first 15 priority
     * schemes per priority.
     */
    expand?: 'schemes' | string;
}

interface SearchProjects$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field.
     *
     * - `category` Sorts by project category. A complete list of category IDs is found using [Get all project
     *   categories](#api-rest-api-2-projectCategory-get).
     * - `issueCount` Sorts by the total number of issues in each project.
     * - `key` Sorts by project key.
     * - `lastIssueUpdatedTime` Sorts by the last issue update time.
     * - `name` Sorts by project name.
     * - `owner` Sorts by project lead.
     * - `archivedDate` EXPERIMENTAL. Sorts by project archived date.
     * - `deletedDate` EXPERIMENTAL. Sorts by project deleted date.
     */
    orderBy?: 'category' | '-category' | '+category' | 'key' | '-key' | '+key' | 'name' | '-name' | '+name' | 'owner' | '-owner' | '+owner' | 'issueCount' | '-issueCount' | '+issueCount' | 'lastIssueUpdatedDate' | '-lastIssueUpdatedDate' | '+lastIssueUpdatedDate' | 'archivedDate' | '+archivedDate' | '-archivedDate' | 'deletedDate' | '+deletedDate' | '-deletedDate' | string;
    /**
     * The project IDs to filter the results by. To include multiple IDs, provide an ampersand-separated list. For
     * example, `id=10000&id=10001`. Up to 50 project IDs can be provided.
     */
    id?: number[];
    /**
     * The project keys to filter the results by. To include multiple keys, provide an ampersand-separated list. For
     * example, `keys=PA&keys=PB`. Up to 50 project keys can be provided.
     */
    keys?: string[];
    /**
     * Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case
     * insensitive).
     */
    query?: string;
    /**
     * Orders results by the [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This
     * parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`.
     */
    typeKey?: string;
    /**
     * The ID of the project's category. A complete list of category IDs is found using the [Get all project
     * categories](#api-rest-api-2-projectCategory-get) operation.
     */
    categoryId?: number;
    /**
     * Filter results by projects for which the user can:
     *
     * `view` the project, meaning that they have one of the following permissions:
     *
     * _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. _Administer
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. _Administer Jira_
     * [global permission](https://confluence.atlassian.com/x/x4dKLg). `browse` the project, meaning that they have the
     * _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. `edit` the
     * project, meaning that they have one of the following permissions:
     *
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). `create` the project, meaning that they have
     * the _Create issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the
     * issue is created.
     */
    action?: 'view' | 'browse' | 'edit' | 'create' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expanded options include:
     *
     * - `description` Returns the project description.
     * - `projectKeys` Returns all project keys associated with a project.
     * - `lead` Returns information about the project lead.
     * - `issueTypes` Returns all issue types associated with the project.
     * - `url` Returns the URL associated with the project.
     * - `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the
     *   project.
     */
    expand?: 'description' | 'projectKeys' | 'lead' | 'issueTypes' | 'url' | 'insight' | ('description' | 'projectKeys' | 'lead' | 'issueTypes' | 'url' | 'insight')[] | string | string[];
    /**
     * EXPERIMENTAL. Filter results by project status:
     *
     * - `live` Search live projects.
     * - `archived` Search archived projects.
     * - `deleted` Search deleted projects, those in the recycle bin.
     */
    status?: ('live' | 'archived' | 'deleted' | string)[];
    /**
     * EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated
     * list.
     */
    properties?: string[];
    /**
     * EXPERIMENTAL. A query string used to search properties. The query string cannot be specified using a JSON object.
     * For example, to search for the value of `nested` from `{"something":{"nested":1,"other":2}}` use
     * `[thepropertykey].something.nested=1`. Note that the propertyQuery key is enclosed in square brackets to enable
     * searching where the propertyQuery key includes dot (.) or equals (=) characters. Note that `thepropertykey` is only
     * returned when included in `properties`.
     */
    propertyQuery?: string;
}

interface SearchProjectsUsingSecuritySchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of security scheme IDs to be filtered out. */
    issueSecuritySchemeId?: string[];
    /** The list of project IDs to be filtered out. */
    projectId?: string[];
}

interface SearchResolutions$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of resolutions IDs to be filtered out */
    id?: string[];
    /**
     * When set to true, return default only,when IDs provided, if none of them is default, return empty page. Default
     * value is false
     */
    onlyDefault?: boolean;
}

interface SearchSecuritySchemes$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue security scheme IDs. To include multiple issue security scheme IDs, separate IDs with an
     * ampersand: `id=10000&id=10001`.
     */
    id?: string | string[];
    /**
     * The list of project IDs. To include multiple project IDs, separate IDs with an ampersand:
     * `projectId=10000&projectId=10001`.
     */
    projectId?: string | string[];
}

interface SearchWorkflows$1 {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `values.transitions` Returns the transitions that each workflow is associated with.
     */
    expand?: string;
    /** String used to perform a case-insensitive partial match with workflow name. */
    queryString?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * `name` Sorts by workflow name. `created` Sorts by create time. `updated` Sorts by update time.
     */
    orderBy?: string;
    /** The scope of the workflow. Global for company-managed projects and Project for team-managed projects. */
    scope?: string;
    /** Filters active and inactive workflows. */
    isActive?: boolean;
}

interface SelectTimeTrackingImplementation$1 extends TimeTrackingProvider$1 {
}

interface Services$1 {
    /** The ID of the services (the strings starting with "b:" need to be decoded in Base64). */
    serviceIds: string[];
}

interface SetActors$1 extends ProjectRoleActorsUpdate$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface SetApplicationProperty$1 extends SimpleApplicationProperty$1 {
    /** The key of the application property to update. */
    id: string;
    body?: {
        /** The ID of the application property. */
        id?: string;
        /** The new value. */
        value?: string;
    };
}

interface SetBanner$1 extends AnnouncementBannerConfigurationUpdate$1 {
}

interface SetColumns$1 {
    /** The ID of the filter. */
    id: number;
    columns: string[];
}

interface SetCommentProperty$1 {
    /** The ID of the comment. */
    commentId: string;
    /** The key of the property. The maximum length is 255 characters. */
    propertyKey: string;
    property: any;
}

interface SetDashboardItemProperty$1 {
    /** The ID of the dashboard. */
    dashboardId: string;
    /** The ID of the dashboard item. */
    itemId: string;
    /**
     * The key of the dashboard item property. The maximum length is 255 characters. For dashboard items with a spec URI
     * and no complete module key, if the provided propertyKey is equal to "config", the request body's JSON must be an
     * object with all keys and values as strings.
     */
    propertyKey: string;
    propertyValue: any;
}

interface SetDefaultLevels$1 extends SetDefaultLevelsRequest$1 {
}

interface SetDefaultPriority$1 extends SetDefaultPriorityRequest$1 {
}

interface SetDefaultResolution$1 extends SetDefaultResolutionRequest$1 {
}

interface SetDefaultShareScope$1 extends DefaultShareScope$1 {
}

interface SetDefaultValues$1 extends CustomFieldContextDefaultValueUpdate$1 {
    /** The ID of the custom field. */
    fieldId: string;
}

interface SetFavouriteForFilter$1 {
    /** The ID of the filter. */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
}

interface SetFieldConfigurationSchemeMapping$1 extends AssociateFieldConfigurationsWithIssueTypesRequest$1 {
    /** The ID of the field configuration scheme. */
    id: number;
}

interface SetIssueProperty$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The key of the issue property. The maximum length is 255 characters. */
    propertyKey: string;
    /** The value of the issue property. Can be of any type. */
    propertyValue: any;
}

interface SetIssueTypeProperty$1 {
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The key of the issue type property. The maximum length is 255 characters. */
    propertyKey: string;
    propertyValue: any;
}

interface SetPreference$1 {
    /** The key of the preference. The maximum length is 255 characters. */
    key: string;
    value: string;
}

interface SetProjectProperty$1 {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** The key of the project property. The maximum length is 255 characters. */
    propertyKey: string;
    propertyValue: any;
}

interface SetSharedTimeTrackingConfiguration$1 extends TimeTrackingConfiguration$1 {
}

interface SetUserColumns$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId: string;
    columns: any;
}

interface SetUserNavProperty$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The key of the nav property. The maximum length is 255 characters. */
    propertyKey: string;
}

interface SetUserProperty$1 {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The key of the user's property. The maximum length is 255 characters. */
    propertyKey: string;
    propertyValue: any;
}

interface SetWorkflowSchemeDraftIssueType$1 extends IssueTypeWorkflowMapping$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
    /** Details about the mapping between an issue type and a workflow. */
    details: {
        /** The ID of the issue type. Not required if updating the issue type-workflow mapping. */
        issueType?: string;
        /** The name of the workflow. */
        workflow?: string;
        /**
         * Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the
         * workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types
         * mapping.
         */
        updateDraftIfNeeded?: boolean;
    };
}

interface SetWorkflowSchemeIssueType$1 extends IssueTypeWorkflowMapping$1 {
    /** The ID of the workflow scheme. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
    /** Details about the mapping between an issue type and a workflow. */
    details: {
        /** The ID of the issue type. Not required if updating the issue type-workflow mapping. */
        issueType?: string;
        /** The name of the workflow. */
        workflow?: string;
        /**
         * Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the
         * workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types
         * mapping.
         */
        updateDraftIfNeeded?: boolean;
    };
}

interface SetWorklogProperty$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    worklogId: string;
    /** The key of the issue property. The maximum length is 255 characters. */
    propertyKey: string;
}

interface StoreAvatar$1 {
    /** The avatar type. */
    type: 'project' | 'issuetype' | string;
    /** The ID of the item the avatar is associated with. */
    entityId: number | string;
    /** The X coordinate of the top-left corner of the crop region. */
    x?: number;
    /** The Y coordinate of the top-left corner of the crop region. */
    y?: number;
    /**
     * The length of each side of the crop region.
     *
     * @default 0
     */
    size?: number;
    mimeType: string;
    avatar: Buffer | ArrayBuffer | Uint8Array;
}

interface SuggestedPrioritiesForMappings$1 extends SuggestedMappingsRequest$1 {
}

interface ToggleFeatureForProject$1 extends ProjectFeatureToggleRequest$1 {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
    /** The key of the feature. */
    featureKey: string;
}

interface TrashCustomField$1 {
    /** The ID of a custom field. */
    id: string;
}

interface TrashPlan$1 {
    /** The ID of the plan. */
    planId: number;
}

interface UnarchiveIssues$1 {
    issueIdsOrKeys?: string[];
}

interface UpdateAtlassianTeam$1 {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the Atlassian team. */
    atlassianTeamId: string;
}

interface UpdateComment$1 extends Comment$2 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the comment. */
    id: string;
    /** Whether users are notified when a comment is updated. */
    notifyUsers?: boolean;
    /**
     * Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with
     * the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on
     * behalf of users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideEditableFlag?: boolean;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body
     * rendered in HTML.
     */
    expand?: 'renderedBody' | ['renderedBody'] | string | string[];
}

interface UpdateComponent$1 extends ProjectComponent$1 {
    /** The ID of the component. */
    id: string;
}

interface UpdateCustomField$1 extends UpdateCustomFieldDetails$1 {
    /** The ID of the custom field. */
    fieldId: string;
}

interface UpdateCustomFieldConfiguration$1 extends CustomFieldConfigurations$1 {
    /** The ID or key of the custom field, for example `customfield_10000`. */
    fieldIdOrKey: string;
}

interface UpdateCustomFieldContext$1 extends CustomFieldContextUpdateDetails$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface UpdateCustomFieldOption$1 extends BulkCustomFieldOptionUpdateRequest$1 {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface UpdateCustomFieldValue$1 extends CustomFieldValueUpdateDetails {
    /** The ID or key of the custom field. For example, `customfield_10010`. */
    fieldIdOrKey: string;
    /** Whether to generate a changelog for this update. */
    generateChangelog?: boolean;
}

interface UpdateDashboard$1 extends DashboardDetails$1 {
    /** The ID of the dashboard to update. */
    id: string;
    /**
     * Whether admin level permissions are used. It should only be true if the user has _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    extendAdminPermissions?: boolean;
}

interface UpdateDefaultProjectClassification$2 extends UpdateDefaultProjectClassification$3 {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string;
}

interface UpdateDefaultScreenScheme$1 {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
    /** The ID of the screen scheme. */
    screenSchemeId: string;
}

interface UpdateDefaultWorkflow$1 extends DefaultWorkflow$1 {
    /** The ID of the workflow scheme. */
    id: number;
}

interface UpdateDraftDefaultWorkflow$1 extends DefaultWorkflow$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
}

interface UpdateDraftWorkflowMapping$1 extends IssueTypesWorkflowMapping$1 {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The name of the workflow. */
    workflowName: string;
}

interface UpdateEntityPropertiesValue$1 {
    /** The app migration transfer ID. */
    transferId: string;
    /** The Atlassian account ID of the impersonated user. This user must be a member of the site admin group. */
    accountId: string;
    /** The type indicating the object that contains the entity properties. */
    entityType: 'IssueProperty' | 'CommentProperty' | 'DashboardItemProperty' | 'IssueTypeProperty' | 'ProjectProperty' | 'UserProperty' | 'WorklogProperty' | 'BoardProperty' | 'SprintProperty' | string;
    entities?: Array<EntityPropertyDetails$1>;
}

interface UpdateFieldConfiguration$1 extends FieldConfigurationDetails$1 {
    /** The ID of the field configuration. */
    id: number;
}

interface UpdateFieldConfigurationItems$1 extends FieldConfigurationItemsDetails$1 {
    /** The ID of the field configuration. */
    id: number;
}

interface UpdateFieldConfigurationScheme$1 extends UpdateFieldConfigurationSchemeDetails$1 {
    /** The ID of the field configuration scheme. */
    id: number;
}

interface UpdateFilter$1 extends Omit<Filter$1, 'id'> {
    /** The ID of the filter to update. */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
    /**
     * EXPERIMENTAL: Whether share permissions are overridden to enable the addition of any share permissions to filters.
     * Available to users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideSharePermissions?: boolean;
}

interface UpdateGadget$1 extends DashboardGadgetUpdateRequest$1 {
    /** The ID of the dashboard. */
    dashboardId: number;
    /** The ID of the gadget. */
    gadgetId: number;
}

interface UpdateIssueFieldOption$1 extends IssueFieldOption$1 {
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
    /** The ID of the option to be updated. */
    optionId: number;
}

interface UpdateIssueFields$1 extends ConnectCustomFieldValues$1 {
    /** The ID of the transfer. */
    transferId: string;
    /** The Atlassian account ID of the impersonated user. This user must be a member of the site admin group. */
    accountId: string;
}

interface UpdateIssueLinkType$1 extends IssueLinkType$1 {
    /** The ID of the issue link type. */
    issueLinkTypeId: string;
}

interface UpdateIssueSecurityScheme$1 extends UpdateIssueSecuritySchemeRequest$1 {
    /** The ID of the issue security scheme. */
    id: string;
}

interface UpdateIssueType$1 extends IssueTypeUpdate$1 {
    /** The ID of the issue type. */
    id: string;
}

interface UpdateIssueTypeScheme$1 extends IssueTypeSchemeUpdateDetails$1 {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
}

interface UpdateIssueTypeScreenScheme$1 extends IssueTypeScreenSchemeUpdateDetails$1 {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
}

interface UpdateMultipleCustomFieldValues$1 extends MultipleCustomFieldValuesUpdateDetails$1 {
    /** Whether to generate a changelog for this update. */
    generateChangelog?: boolean;
}

interface UpdateNotificationScheme$1 extends UpdateNotificationSchemeDetails$1 {
    /** The ID of the notification scheme. */
    id: string;
}

interface UpdatePermissionScheme$1 extends PermissionScheme$1 {
    /** The ID of the permission scheme to update. */
    schemeId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `permissions` Returns all
     * permission grants for each permission scheme. `projectRole` Returns information about the project role granted the
     * permission. `user` Returns information about the user who is granted the permission.
     */
    expand?: string;
}

interface UpdatePlan$1 {
    /** The ID of the plan. */
    planId: number;
    /** Whether to accept group IDs instead of group names. Group names are deprecated. */
    useGroupId?: boolean;
}

interface UpdatePlanOnlyTeam$1 {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the plan-only team. */
    planOnlyTeamId: number;
}

interface UpdatePrecomputations$1 extends JqlFunctionPrecomputationUpdateRequest$1 {
    skipNotFoundPrecomputations?: boolean;
}

interface UpdatePriority$1 extends UpdatePriorityDetails$1 {
    /** The ID of the issue priority. */
    id: string;
}

interface UpdatePriorityScheme$1 extends UpdatePrioritySchemeRequest$1 {
    /** The ID of the priority scheme. */
    schemeId: number;
}

interface UpdateProject$1 extends UpdateProjectDetails$1 {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string | number;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which
     * defines the application-specific feature set. If you don't specify the project template you have to specify the
     * project type.
     */
    projectTypeKey?: 'business' | 'service_desk' | 'software' | string;
    /**
     * A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the
     * `projectTypeKey`.
     */
    projectTemplateKey?: 'com.atlassian.jira-core-project-templates:jira-core-simplified-content-management' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-process-control' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-procurement' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-project-management' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking' | 'com.atlassian.servicedesk:simplified-it-service-management' | 'com.atlassian.servicedesk:simplified-general-service-desk' | 'com.atlassian.servicedesk:simplified-internal-service-desk' | 'com.atlassian.servicedesk:simplified-external-service-desk' | 'com.atlassian.servicedesk:simplified-hr-service-desk' | 'com.atlassian.servicedesk:simplified-facilities-service-desk' | 'com.atlassian.servicedesk:simplified-legal-service-desk' | 'com.pyxis.greenhopper.jira:gh-simplified-agility-kanban' | 'com.pyxis.greenhopper.jira:gh-simplified-agility-scrum' | 'com.pyxis.greenhopper.jira:gh-simplified-basic' | 'com.pyxis.greenhopper.jira:gh-simplified-kanban-classic' | 'com.pyxis.greenhopper.jira:gh-simplified-scrum-classic' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Note that the project description,
     * issue types, and project lead are included in all responses by default. Expand options include:
     *
     * - `description` The project description.
     * - `issueTypes` The issue types associated with the project.
     * - `lead` The project lead.
     * - `projectKeys` All project keys associated with the project.
     */
    expand?: 'description' | 'issueTypes' | 'lead' | 'projectKeys' | ('description' | 'issueTypes' | 'lead' | 'projectKeys')[] | string | string[];
}

interface UpdateProjectAvatar$1 extends Avatar$1 {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
}

interface UpdateProjectCategory$1 extends Omit<ProjectCategory$1, 'id'> {
    id: number;
}

interface UpdateProjectEmail$1 extends ProjectEmailAddress$1 {
    /** The project ID. */
    projectId: string | number;
}

interface UpdateRelatedWork$1 extends VersionRelatedWork$1 {
    /** The ID of the version to update the related work on. For the related work id, pass it to the input JSON. */
    id: string;
}

interface UpdateRemoteIssueLink$1 extends RemoteIssueLinkRequest$1 {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the remote issue link. */
    linkId: string;
}

interface UpdateResolution$1 extends UpdateResolutionDetails$1 {
    /** The ID of the issue resolution. */
    id: string;
}

interface UpdateSchemes$1 extends WorkflowSchemeUpdateRequest {
}

interface UpdateScreen$1 extends UpdateScreenDetails$1 {
    /** The ID of the screen. */
    screenId: number;
}

interface UpdateScreenScheme$1 extends UpdateScreenSchemeDetails$1 {
    /** The ID of the screen scheme. */
    screenSchemeId: string;
}

interface UpdateSecurityLevel$1 extends UpdateIssueSecurityLevelDetails$1 {
    /** The ID of the issue security scheme level belongs to. */
    schemeId: string;
    /** The ID of the issue security level to update. */
    levelId: string;
}

interface UpdateStatuses$1 extends StatusUpdateRequest$1 {
}

interface UpdateUiModification$1 extends UpdateUiModificationDetails$1 {
    /** The ID of the UI modification. */
    uiModificationId: string;
}

interface UpdateVersion$1 extends Version$2 {
    /** The ID of the version. */
    id: string;
}

interface UpdateWorkflowMapping$1 extends IssueTypesWorkflowMapping$1 {
    /** The ID of the workflow scheme. */
    id: number;
    /** The name of the workflow. */
    workflowName: string;
}

interface UpdateWorkflows$1 extends WorkflowUpdateRequest$1 {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `workflows.usages` Returns the project and issue types that each workflow is associated with. `statuses.usages`
     * Returns the project and issue types that each status is associated with.
     */
    expand?: string;
}

interface UpdateWorkflowScheme$1 extends WorkflowScheme$1 {
    /**
     * The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the
     * URL as `schemeId`. For example, _schemeId=10301_.
     */
    id: number;
}

interface UpdateWorkflowSchemeDraft$1 extends WorkflowScheme$1 {
    /** The ID of the active workflow scheme that the draft was created from. */
    id: number;
}

interface UpdateWorkflowSchemeMappings$1 extends WorkflowSchemeUpdateRequiredMappingsRequest {
}

interface UpdateWorkflowTransitionProperty$1 extends WorkflowTransitionProperty$1 {
    /**
     * The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown
     * next to the transition.
     */
    transitionId: number;
    /**
     * The key of the property being updated, also known as the name of the property. Set this to the same value as the
     * `key` defined in the request body.
     */
    key: string;
    /** The name of the workflow that the transition belongs to. */
    workflowName: string;
    /**
     * The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot
     * be edited.
     */
    workflowMode?: 'live' | 'draft' | string;
}

interface UpdateWorkflowTransitionRuleConfigurations$1 extends WorkflowTransitionRulesUpdate$1 {
}

interface UpdateWorklog$1 extends Worklog$1 {
    /** The ID or key the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    id: string;
    /** Whether users watching the issue are notified by email. */
    notifyUsers?: boolean;
    /**
     * Defines how to update the issue's time estimate, the options are:
     *
     * - `new` Sets the estimate to a specific value, defined in `newEstimate`.
     * - `leave` Leaves the estimate unchanged.
     * - `auto` Updates the estimate by the difference between the original and updated value of `timeSpent` or
     *   `timeSpentSeconds`.
     */
    adjustEstimate?: 'new' | 'leave' | 'manual' | 'auto' | string;
    /**
     * The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For
     * example, _2d_. Required when `adjustEstimate` is `new`.
     */
    newEstimate?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information about worklogs in the response. This parameter accepts `properties`, which returns worklog properties.
     */
    expand?: string;
    /**
     * Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue
     * is closed. Connect and Forge app users with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag.
     */
    overrideEditableFlag?: boolean;
}

interface ValidateCreateWorkflows$1 {
    payload: WorkflowCreateRequest$1;
    validationOptions?: ValidationOptionsForCreate$1;
}

interface ValidateProjectKey$1 {
    /** The project key. */
    key?: string;
}

interface ValidateUpdateWorkflows$1 {
    payload: WorkflowUpdateRequest$1;
    validationOptions?: ValidationOptionsForUpdate$1;
}

interface WorkflowCapabilities$2 {
    workflowId?: string;
    projectId?: string;
    issueTypeId?: string;
}

interface WorkflowRuleSearch$1 extends WorkflowRulesSearch$1 {
    /** The app migration transfer ID. */
    transferId: string;
}

declare namespace index$9 {
  export type { AddActorUsers$1 as AddActorUsers, AddAtlassianTeam$1 as AddAtlassianTeam, AddAttachment$1 as AddAttachment, AddComment$1 as AddComment, AddFieldToDefaultScreen$1 as AddFieldToDefaultScreen, AddGadget$1 as AddGadget, AddIssueTypesToContext$1 as AddIssueTypesToContext, AddIssueTypesToIssueTypeScheme$1 as AddIssueTypesToIssueTypeScheme, AddNotifications$1 as AddNotifications, AddProjectRoleActorsToRole$1 as AddProjectRoleActorsToRole, AddScreenTab$1 as AddScreenTab, AddScreenTabField$1 as AddScreenTabField, AddSecurityLevel$1 as AddSecurityLevel, AddSecurityLevelMembers$1 as AddSecurityLevelMembers, AddSharePermission$1 as AddSharePermission, AddUserToGroup$1 as AddUserToGroup, AddVote$1 as AddVote, AddWatcher$1 as AddWatcher, AddWorklog$1 as AddWorklog, AnalyseExpression$1 as AnalyseExpression, AppendMappingsForIssueTypeScreenScheme$1 as AppendMappingsForIssueTypeScreenScheme, ArchiveIssues$1 as ArchiveIssues, ArchiveIssuesAsync$1 as ArchiveIssuesAsync, ArchivePlan$1 as ArchivePlan, ArchiveProject$1 as ArchiveProject, AssignFieldConfigurationSchemeToProject$1 as AssignFieldConfigurationSchemeToProject, AssignIssue$1 as AssignIssue, AssignIssueTypeSchemeToProject$1 as AssignIssueTypeSchemeToProject, AssignIssueTypeScreenSchemeToProject$1 as AssignIssueTypeScreenSchemeToProject, AssignPermissionScheme$1 as AssignPermissionScheme, AssignProjectsToCustomFieldContext$1 as AssignProjectsToCustomFieldContext, AssignSchemeToProject$1 as AssignSchemeToProject, AssociateSchemesToProjects$1 as AssociateSchemesToProjects, Attachment$4 as Attachment, BulkDeleteIssueProperty$1 as BulkDeleteIssueProperty, BulkDeleteWorklogs$1 as BulkDeleteWorklogs, BulkEditDashboards$1 as BulkEditDashboards, BulkFetchIssues$1 as BulkFetchIssues, BulkGetGroups$1 as BulkGetGroups, BulkGetUsers$1 as BulkGetUsers, BulkGetUsersMigration$1 as BulkGetUsersMigration, BulkMoveWorklogs$1 as BulkMoveWorklogs, BulkSetIssuePropertiesByIssue$1 as BulkSetIssuePropertiesByIssue, BulkSetIssueProperty$1 as BulkSetIssueProperty, BulkSetIssuesProperties$1 as BulkSetIssuesProperties, CancelTask$1 as CancelTask, ChangeFilterOwner$1 as ChangeFilterOwner, CopyDashboard$1 as CopyDashboard, CountIssues$1 as CountIssues, CreateAssociations$1 as CreateAssociations, CreateComponent$1 as CreateComponent, CreateCustomField$1 as CreateCustomField, CreateCustomFieldContext$2 as CreateCustomFieldContext, CreateCustomFieldOption$1 as CreateCustomFieldOption, CreateDashboard$1 as CreateDashboard, CreateFieldConfiguration$1 as CreateFieldConfiguration, CreateFieldConfigurationScheme$1 as CreateFieldConfigurationScheme, CreateFilter$1 as CreateFilter, CreateGroup$1 as CreateGroup, CreateIssue$1 as CreateIssue, CreateIssueFieldOption$1 as CreateIssueFieldOption, CreateIssueLinkType$1 as CreateIssueLinkType, CreateIssueSecurityScheme$1 as CreateIssueSecurityScheme, CreateIssueType$1 as CreateIssueType, CreateIssueTypeAvatar$1 as CreateIssueTypeAvatar, CreateIssueTypeScheme$1 as CreateIssueTypeScheme, CreateIssueTypeScreenScheme$1 as CreateIssueTypeScreenScheme, CreateIssues$1 as CreateIssues, CreateNotificationScheme$1 as CreateNotificationScheme, CreateOrUpdateRemoteIssueLink$1 as CreateOrUpdateRemoteIssueLink, CreatePermissionGrant$1 as CreatePermissionGrant, CreatePermissionScheme$1 as CreatePermissionScheme, CreatePlan$1 as CreatePlan, CreatePlanOnlyTeam$1 as CreatePlanOnlyTeam, CreatePriority$1 as CreatePriority, CreatePriorityScheme$1 as CreatePriorityScheme, CreateProject$1 as CreateProject, CreateProjectAvatar$1 as CreateProjectAvatar, CreateProjectCategory$1 as CreateProjectCategory, CreateProjectRole$1 as CreateProjectRole, CreateProjectWithCustomTemplate$1 as CreateProjectWithCustomTemplate, CreateRelatedWork$1 as CreateRelatedWork, CreateResolution$1 as CreateResolution, CreateScreen$1 as CreateScreen, CreateScreenScheme$1 as CreateScreenScheme, CreateStatuses$1 as CreateStatuses, CreateUiModification$1 as CreateUiModification, CreateUser$1 as CreateUser, CreateVersion$1 as CreateVersion, CreateWorkflow$1 as CreateWorkflow, CreateWorkflowScheme$1 as CreateWorkflowScheme, CreateWorkflowSchemeDraftFromParent$1 as CreateWorkflowSchemeDraftFromParent, CreateWorkflowTransitionProperty$1 as CreateWorkflowTransitionProperty, CreateWorkflows$1 as CreateWorkflows, DeleteActor$1 as DeleteActor, DeleteAddonProperty$1 as DeleteAddonProperty, DeleteAndReplaceVersion$2 as DeleteAndReplaceVersion, DeleteAppProperty$1 as DeleteAppProperty, DeleteAvatar$1 as DeleteAvatar, DeleteComment$1 as DeleteComment, DeleteCommentProperty$1 as DeleteCommentProperty, DeleteComponent$1 as DeleteComponent, DeleteCustomField$1 as DeleteCustomField, DeleteCustomFieldContext$1 as DeleteCustomFieldContext, DeleteCustomFieldOption$1 as DeleteCustomFieldOption, DeleteDashboard$1 as DeleteDashboard, DeleteDashboardItemProperty$1 as DeleteDashboardItemProperty, DeleteDefaultWorkflow$1 as DeleteDefaultWorkflow, DeleteDraftDefaultWorkflow$1 as DeleteDraftDefaultWorkflow, DeleteDraftWorkflowMapping$1 as DeleteDraftWorkflowMapping, DeleteFavouriteForFilter$1 as DeleteFavouriteForFilter, DeleteFieldConfiguration$1 as DeleteFieldConfiguration, DeleteFieldConfigurationScheme$1 as DeleteFieldConfigurationScheme, DeleteFilter$1 as DeleteFilter, DeleteInactiveWorkflow$1 as DeleteInactiveWorkflow, DeleteIssue$1 as DeleteIssue, DeleteIssueFieldOption$1 as DeleteIssueFieldOption, DeleteIssueLink$1 as DeleteIssueLink, DeleteIssueLinkType$1 as DeleteIssueLinkType, DeleteIssueProperty$1 as DeleteIssueProperty, DeleteIssueType$1 as DeleteIssueType, DeleteIssueTypeProperty$1 as DeleteIssueTypeProperty, DeleteIssueTypeScheme$1 as DeleteIssueTypeScheme, DeleteIssueTypeScreenScheme$1 as DeleteIssueTypeScreenScheme, DeleteNotificationScheme$1 as DeleteNotificationScheme, DeletePermissionScheme$1 as DeletePermissionScheme, DeletePermissionSchemeEntity$1 as DeletePermissionSchemeEntity, DeletePlanOnlyTeam$1 as DeletePlanOnlyTeam, DeletePriority$1 as DeletePriority, DeletePriorityScheme$1 as DeletePriorityScheme, DeleteProject$1 as DeleteProject, DeleteProjectAsynchronously$1 as DeleteProjectAsynchronously, DeleteProjectAvatar$1 as DeleteProjectAvatar, DeleteProjectProperty$1 as DeleteProjectProperty, DeleteProjectRole$1 as DeleteProjectRole, DeleteProjectRoleActorsFromRole$1 as DeleteProjectRoleActorsFromRole, DeleteRelatedWork$1 as DeleteRelatedWork, DeleteRemoteIssueLinkByGlobalId$1 as DeleteRemoteIssueLinkByGlobalId, DeleteRemoteIssueLinkById$1 as DeleteRemoteIssueLinkById, DeleteResolution$1 as DeleteResolution, DeleteScreen$1 as DeleteScreen, DeleteScreenScheme$1 as DeleteScreenScheme, DeleteScreenTab$1 as DeleteScreenTab, DeleteSecurityScheme$1 as DeleteSecurityScheme, DeleteSharePermission$1 as DeleteSharePermission, DeleteStatusesById$1 as DeleteStatusesById, DeleteUiModification$1 as DeleteUiModification, DeleteUserProperty$1 as DeleteUserProperty, DeleteWebhookById$1 as DeleteWebhookById, DeleteWorkflowMapping$1 as DeleteWorkflowMapping, DeleteWorkflowScheme$1 as DeleteWorkflowScheme, DeleteWorkflowSchemeDraft$1 as DeleteWorkflowSchemeDraft, DeleteWorkflowSchemeDraftIssueType$1 as DeleteWorkflowSchemeDraftIssueType, DeleteWorkflowSchemeIssueType$1 as DeleteWorkflowSchemeIssueType, DeleteWorkflowTransitionProperty$1 as DeleteWorkflowTransitionProperty, DeleteWorkflowTransitionRuleConfigurations$1 as DeleteWorkflowTransitionRuleConfigurations, DeleteWorklog$1 as DeleteWorklog, DeleteWorklogProperty$1 as DeleteWorklogProperty, DoTransition$1 as DoTransition, DuplicatePlan$1 as DuplicatePlan, EditIssue$1 as EditIssue, EvaluateJiraExpression$1 as EvaluateJiraExpression, EvaluateJiraExpressionUsingEnhancedSearch$1 as EvaluateJiraExpressionUsingEnhancedSearch, ExpandAttachmentForHumans$1 as ExpandAttachmentForHumans, ExpandAttachmentForMachines$1 as ExpandAttachmentForMachines, ExportArchivedIssues$1 as ExportArchivedIssues, FindAssignableUsers$1 as FindAssignableUsers, FindBulkAssignableUsers$1 as FindBulkAssignableUsers, FindComponentsForProjects$1 as FindComponentsForProjects, FindGroups$1 as FindGroups, FindUserKeysByQuery$1 as FindUserKeysByQuery, FindUsers$1 as FindUsers, FindUsersAndGroups$1 as FindUsersAndGroups, FindUsersByQuery$1 as FindUsersByQuery, FindUsersForPicker$1 as FindUsersForPicker, FindUsersWithAllPermissions$1 as FindUsersWithAllPermissions, FindUsersWithBrowsePermission$1 as FindUsersWithBrowsePermission, FullyUpdateProjectRole$1 as FullyUpdateProjectRole, GetAccessibleProjectTypeByKey$1 as GetAccessibleProjectTypeByKey, GetAddonProperties$1 as GetAddonProperties, GetAddonProperty$1 as GetAddonProperty, GetAllDashboards$1 as GetAllDashboards, GetAllFieldConfigurationSchemes$1 as GetAllFieldConfigurationSchemes, GetAllFieldConfigurations$1 as GetAllFieldConfigurations, GetAllGadgets$1 as GetAllGadgets, GetAllIssueFieldOptions$1 as GetAllIssueFieldOptions, GetAllIssueTypeSchemes$1 as GetAllIssueTypeSchemes, GetAllLabels$1 as GetAllLabels, GetAllPermissionSchemes$1 as GetAllPermissionSchemes, GetAllProjectAvatars$1 as GetAllProjectAvatars, GetAllScreenTabFields$1 as GetAllScreenTabFields, GetAllScreenTabs$1 as GetAllScreenTabs, GetAllStatuses$1 as GetAllStatuses, GetAllSystemAvatars$1 as GetAllSystemAvatars, GetAllUserDataClassificationLevels$1 as GetAllUserDataClassificationLevels, GetAllUsers$1 as GetAllUsers, GetAllUsersDefault$1 as GetAllUsersDefault, GetAllWorkflowSchemes$1 as GetAllWorkflowSchemes, GetAlternativeIssueTypes$1 as GetAlternativeIssueTypes, GetApplicationProperty$1 as GetApplicationProperty, GetApplicationRole$1 as GetApplicationRole, GetAssignedPermissionScheme$1 as GetAssignedPermissionScheme, GetAtlassianTeam$1 as GetAtlassianTeam, GetAttachment$1 as GetAttachment, GetAttachmentContent$2 as GetAttachmentContent, GetAttachmentThumbnail$2 as GetAttachmentThumbnail, GetAuditRecords$1 as GetAuditRecords, GetAutoCompletePost$1 as GetAutoCompletePost, GetAvailablePrioritiesByPriorityScheme$1 as GetAvailablePrioritiesByPriorityScheme, GetAvailableScreenFields$1 as GetAvailableScreenFields, GetAvatarImageByID$1 as GetAvatarImageByID, GetAvatarImageByOwner$1 as GetAvatarImageByOwner, GetAvatarImageByType$1 as GetAvatarImageByType, GetAvatars$1 as GetAvatars, GetBulkChangelogs$1 as GetBulkChangelogs, GetBulkPermissions$1 as GetBulkPermissions, GetBulkScreenTabs$1 as GetBulkScreenTabs, GetChangeLogs$1 as GetChangeLogs, GetChangeLogsByIds$1 as GetChangeLogsByIds, GetColumns$1 as GetColumns, GetComment$1 as GetComment, GetCommentProperty$1 as GetCommentProperty, GetCommentPropertyKeys$1 as GetCommentPropertyKeys, GetComments$1 as GetComments, GetCommentsByIds$1 as GetCommentsByIds, GetComponent$1 as GetComponent, GetComponentRelatedIssues$1 as GetComponentRelatedIssues, GetContextsForField$1 as GetContextsForField, GetCreateIssueMeta$1 as GetCreateIssueMeta, GetCreateIssueMetaIssueTypeId$1 as GetCreateIssueMetaIssueTypeId, GetCreateIssueMetaIssueTypes$1 as GetCreateIssueMetaIssueTypes, GetCurrentUser$1 as GetCurrentUser, GetCustomFieldConfiguration$1 as GetCustomFieldConfiguration, GetCustomFieldContextsForProjectsAndIssueTypes$1 as GetCustomFieldContextsForProjectsAndIssueTypes, GetCustomFieldOption$1 as GetCustomFieldOption, GetCustomFieldsConfigurations$1 as GetCustomFieldsConfigurations, GetDashboard$1 as GetDashboard, GetDashboardItemProperty$1 as GetDashboardItemProperty, GetDashboardItemPropertyKeys$1 as GetDashboardItemPropertyKeys, GetDashboardsPaginated$1 as GetDashboardsPaginated, GetDefaultProjectClassification$1 as GetDefaultProjectClassification, GetDefaultValues$1 as GetDefaultValues, GetDefaultWorkflow$1 as GetDefaultWorkflow, GetDraftDefaultWorkflow$1 as GetDraftDefaultWorkflow, GetDraftWorkflow$1 as GetDraftWorkflow, GetDynamicWebhooksForApp$1 as GetDynamicWebhooksForApp, GetEditIssueMeta$1 as GetEditIssueMeta, GetFailedWebhooks$1 as GetFailedWebhooks, GetFavouriteFilters$1 as GetFavouriteFilters, GetFeaturesForProject$1 as GetFeaturesForProject, GetFieldAutoCompleteForQueryString$1 as GetFieldAutoCompleteForQueryString, GetFieldConfigurationItems$1 as GetFieldConfigurationItems, GetFieldConfigurationSchemeMappings$1 as GetFieldConfigurationSchemeMappings, GetFieldConfigurationSchemeProjectMapping$1 as GetFieldConfigurationSchemeProjectMapping, GetFieldsPaginated$1 as GetFieldsPaginated, GetFilter$1 as GetFilter, GetFiltersPaginated$1 as GetFiltersPaginated, GetHierarchy$1 as GetHierarchy, GetIdsOfWorklogsDeletedSince$1 as GetIdsOfWorklogsDeletedSince, GetIdsOfWorklogsModifiedSince$1 as GetIdsOfWorklogsModifiedSince, GetIsWatchingIssueBulk$1 as GetIsWatchingIssueBulk, GetIssue$1 as GetIssue, GetIssueFieldOption$1 as GetIssueFieldOption, GetIssueLimitReport$1 as GetIssueLimitReport, GetIssueLink$1 as GetIssueLink, GetIssueLinkType$1 as GetIssueLinkType, GetIssuePickerResource$1 as GetIssuePickerResource, GetIssueProperty$1 as GetIssueProperty, GetIssuePropertyKeys$1 as GetIssuePropertyKeys, GetIssueSecurityLevel$1 as GetIssueSecurityLevel, GetIssueSecurityLevelMembers$1 as GetIssueSecurityLevelMembers, GetIssueSecurityScheme$1 as GetIssueSecurityScheme, GetIssueType$1 as GetIssueType, GetIssueTypeMappingsForContexts$1 as GetIssueTypeMappingsForContexts, GetIssueTypeProperty$1 as GetIssueTypeProperty, GetIssueTypePropertyKeys$1 as GetIssueTypePropertyKeys, GetIssueTypeSchemeForProjects$1 as GetIssueTypeSchemeForProjects, GetIssueTypeSchemesMapping$1 as GetIssueTypeSchemesMapping, GetIssueTypeScreenSchemeMappings$1 as GetIssueTypeScreenSchemeMappings, GetIssueTypeScreenSchemeProjectAssociations$1 as GetIssueTypeScreenSchemeProjectAssociations, GetIssueTypeScreenSchemes$1 as GetIssueTypeScreenSchemes, GetIssueTypesForProject$1 as GetIssueTypesForProject, GetIssueWatchers$1 as GetIssueWatchers, GetIssueWorklog$1 as GetIssueWorklog, GetMyFilters$1 as GetMyFilters, GetMyPermissions$1 as GetMyPermissions, GetNotificationScheme$1 as GetNotificationScheme, GetNotificationSchemeForProject$1 as GetNotificationSchemeForProject, GetNotificationSchemeToProjectMappings$1 as GetNotificationSchemeToProjectMappings, GetNotificationSchemes$1 as GetNotificationSchemes, GetOptionsForContext$1 as GetOptionsForContext, GetPermissionScheme$1 as GetPermissionScheme, GetPermissionSchemeGrant$1 as GetPermissionSchemeGrant, GetPermissionSchemeGrants$1 as GetPermissionSchemeGrants, GetPermittedProjects$1 as GetPermittedProjects, GetPlan$1 as GetPlan, GetPlanOnlyTeam$1 as GetPlanOnlyTeam, GetPlans$1 as GetPlans, GetPolicies$1 as GetPolicies, GetPrecomputations$1 as GetPrecomputations, GetPrecomputationsByID$1 as GetPrecomputationsByID, GetPreference$1 as GetPreference, GetPrioritiesByPriorityScheme$1 as GetPrioritiesByPriorityScheme, GetPriority$1 as GetPriority, GetPrioritySchemes$1 as GetPrioritySchemes, GetProject$1 as GetProject, GetProjectCategoryById$1 as GetProjectCategoryById, GetProjectComponents$1 as GetProjectComponents, GetProjectComponentsPaginated$1 as GetProjectComponentsPaginated, GetProjectContextMapping$1 as GetProjectContextMapping, GetProjectEmail$1 as GetProjectEmail, GetProjectIssueSecurityScheme$1 as GetProjectIssueSecurityScheme, GetProjectIssueTypeUsagesForStatus$1 as GetProjectIssueTypeUsagesForStatus, GetProjectProperty$1 as GetProjectProperty, GetProjectPropertyKeys$1 as GetProjectPropertyKeys, GetProjectRole$1 as GetProjectRole, GetProjectRoleActorsForRole$1 as GetProjectRoleActorsForRole, GetProjectRoleById$1 as GetProjectRoleById, GetProjectRoleDetails$1 as GetProjectRoleDetails, GetProjectRoles$1 as GetProjectRoles, GetProjectTypeByKey$1 as GetProjectTypeByKey, GetProjectUsagesForStatus$1 as GetProjectUsagesForStatus, GetProjectUsagesForWorkflow$1 as GetProjectUsagesForWorkflow, GetProjectUsagesForWorkflowScheme$1 as GetProjectUsagesForWorkflowScheme, GetProjectVersions$1 as GetProjectVersions, GetProjectVersionsPaginated$1 as GetProjectVersionsPaginated, GetProjectsByPriorityScheme$1 as GetProjectsByPriorityScheme, GetProjectsForIssueTypeScreenScheme$1 as GetProjectsForIssueTypeScreenScheme, GetRecent$1 as GetRecent, GetRelatedWork$1 as GetRelatedWork, GetRemoteIssueLinkById$1 as GetRemoteIssueLinkById, GetRemoteIssueLinks$1 as GetRemoteIssueLinks, GetResolution$1 as GetResolution, GetScreenSchemes$1 as GetScreenSchemes, GetScreens$1 as GetScreens, GetScreensForField$1 as GetScreensForField, GetSecurityLevelMembers$1 as GetSecurityLevelMembers, GetSecurityLevels$1 as GetSecurityLevels, GetSecurityLevelsForProject$1 as GetSecurityLevelsForProject, GetSelectableIssueFieldOptions$1 as GetSelectableIssueFieldOptions, GetSharePermission$1 as GetSharePermission, GetSharePermissions$1 as GetSharePermissions, GetStatus$1 as GetStatus, GetStatusCategory$1 as GetStatusCategory, GetStatusesById$1 as GetStatusesById, GetTask$1 as GetTask, GetTeams$1 as GetTeams, GetTransitions$1 as GetTransitions, GetTrashedFieldsPaginated$1 as GetTrashedFieldsPaginated, GetUiModifications$1 as GetUiModifications, GetUser$1 as GetUser, GetUserDefaultColumns$1 as GetUserDefaultColumns, GetUserEmail$1 as GetUserEmail, GetUserEmailBulk$1 as GetUserEmailBulk, GetUserGroups$1 as GetUserGroups, GetUserNavProperty$1 as GetUserNavProperty, GetUserProperty$1 as GetUserProperty, GetUserPropertyKeys$1 as GetUserPropertyKeys, GetUsersFromGroup$1 as GetUsersFromGroup, GetValidProjectKey$1 as GetValidProjectKey, GetValidProjectName$1 as GetValidProjectName, GetVersion$1 as GetVersion, GetVersionRelatedIssues$1 as GetVersionRelatedIssues, GetVersionUnresolvedIssues$1 as GetVersionUnresolvedIssues, GetVisibleIssueFieldOptions$1 as GetVisibleIssueFieldOptions, GetVotes$1 as GetVotes, GetWorkflow$1 as GetWorkflow, GetWorkflowProjectIssueTypeUsages$1 as GetWorkflowProjectIssueTypeUsages, GetWorkflowScheme$1 as GetWorkflowScheme, GetWorkflowSchemeDraft$1 as GetWorkflowSchemeDraft, GetWorkflowSchemeDraftIssueType$1 as GetWorkflowSchemeDraftIssueType, GetWorkflowSchemeIssueType$1 as GetWorkflowSchemeIssueType, GetWorkflowSchemeProjectAssociations$1 as GetWorkflowSchemeProjectAssociations, GetWorkflowSchemeUsagesForWorkflow$1 as GetWorkflowSchemeUsagesForWorkflow, GetWorkflowTransitionProperties$1 as GetWorkflowTransitionProperties, GetWorkflowTransitionRuleConfigurations$1 as GetWorkflowTransitionRuleConfigurations, GetWorkflowUsagesForStatus$1 as GetWorkflowUsagesForStatus, GetWorkflowsPaginated$1 as GetWorkflowsPaginated, GetWorklog$1 as GetWorklog, GetWorklogProperty$1 as GetWorklogProperty, GetWorklogPropertyKeys$1 as GetWorklogPropertyKeys, GetWorklogsForIds$1 as GetWorklogsForIds, LinkIssues$1 as LinkIssues, MatchIssues$1 as MatchIssues, MergeVersions$1 as MergeVersions, MigrateQueries$1 as MigrateQueries, MovePriorities$1 as MovePriorities, MoveResolutions$1 as MoveResolutions, MoveScreenTab$1 as MoveScreenTab, MoveScreenTabField$1 as MoveScreenTabField, MoveVersion$1 as MoveVersion, Notify$1 as Notify, ParseJqlQueries$1 as ParseJqlQueries, PartialUpdateProjectRole$1 as PartialUpdateProjectRole, PublishDraftWorkflowScheme$1 as PublishDraftWorkflowScheme, PutAddonProperty$1 as PutAddonProperty, PutAppProperty$1 as PutAppProperty, ReadWorkflowSchemes$1 as ReadWorkflowSchemes, ReadWorkflows$1 as ReadWorkflows, RefreshWebhooks$1 as RefreshWebhooks, RegisterDynamicWebhooks$1 as RegisterDynamicWebhooks, RegisterModules$1 as RegisterModules, RemoveAssociations$1 as RemoveAssociations, RemoveAtlassianTeam$1 as RemoveAtlassianTeam, RemoveAttachment$1 as RemoveAttachment, RemoveCustomFieldContextFromProjects$1 as RemoveCustomFieldContextFromProjects, RemoveDefaultProjectClassification$1 as RemoveDefaultProjectClassification, RemoveGadget$1 as RemoveGadget, RemoveGroup$1 as RemoveGroup, RemoveIssueTypeFromIssueTypeScheme$1 as RemoveIssueTypeFromIssueTypeScheme, RemoveIssueTypesFromContext$1 as RemoveIssueTypesFromContext, RemoveIssueTypesFromGlobalFieldConfigurationScheme$1 as RemoveIssueTypesFromGlobalFieldConfigurationScheme, RemoveLevel$1 as RemoveLevel, RemoveMappingsFromIssueTypeScreenScheme$1 as RemoveMappingsFromIssueTypeScreenScheme, RemoveMemberFromSecurityLevel$1 as RemoveMemberFromSecurityLevel, RemoveModules$1 as RemoveModules, RemoveNotificationFromNotificationScheme$1 as RemoveNotificationFromNotificationScheme, RemovePreference$1 as RemovePreference, RemoveProjectCategory$1 as RemoveProjectCategory, RemoveScreenTabField$1 as RemoveScreenTabField, RemoveUser$1 as RemoveUser, RemoveUserFromGroup$1 as RemoveUserFromGroup, RemoveVote$1 as RemoveVote, RemoveWatcher$1 as RemoveWatcher, RenameScreenTab$1 as RenameScreenTab, ReorderCustomFieldOptions$1 as ReorderCustomFieldOptions, ReorderIssueTypesInIssueTypeScheme$1 as ReorderIssueTypesInIssueTypeScheme, ReplaceCustomFieldOption$1 as ReplaceCustomFieldOption, ReplaceIssueFieldOption$1 as ReplaceIssueFieldOption, ResetColumns$1 as ResetColumns, ResetUserColumns$1 as ResetUserColumns, Restore$1 as Restore, RestoreCustomField$1 as RestoreCustomField, SanitiseJqlQueries$1 as SanitiseJqlQueries, Search$1 as Search, SearchForIssuesIds$1 as SearchForIssuesIds, SearchForIssuesUsingJql$1 as SearchForIssuesUsingJql, SearchForIssuesUsingJqlEnhancedSearch$1 as SearchForIssuesUsingJqlEnhancedSearch, SearchForIssuesUsingJqlEnhancedSearchPost$1 as SearchForIssuesUsingJqlEnhancedSearchPost, SearchForIssuesUsingJqlPost$1 as SearchForIssuesUsingJqlPost, SearchPriorities$1 as SearchPriorities, SearchProjects$1 as SearchProjects, SearchProjectsUsingSecuritySchemes$1 as SearchProjectsUsingSecuritySchemes, SearchResolutions$1 as SearchResolutions, SearchSecuritySchemes$1 as SearchSecuritySchemes, SearchWorkflows$1 as SearchWorkflows, SelectTimeTrackingImplementation$1 as SelectTimeTrackingImplementation, Services$1 as Services, SetActors$1 as SetActors, SetApplicationProperty$1 as SetApplicationProperty, SetBanner$1 as SetBanner, SetColumns$1 as SetColumns, SetCommentProperty$1 as SetCommentProperty, SetDashboardItemProperty$1 as SetDashboardItemProperty, SetDefaultLevels$1 as SetDefaultLevels, SetDefaultPriority$1 as SetDefaultPriority, SetDefaultResolution$1 as SetDefaultResolution, SetDefaultShareScope$1 as SetDefaultShareScope, SetDefaultValues$1 as SetDefaultValues, SetFavouriteForFilter$1 as SetFavouriteForFilter, SetFieldConfigurationSchemeMapping$1 as SetFieldConfigurationSchemeMapping, SetIssueProperty$1 as SetIssueProperty, SetIssueTypeProperty$1 as SetIssueTypeProperty, SetPreference$1 as SetPreference, SetProjectProperty$1 as SetProjectProperty, SetSharedTimeTrackingConfiguration$1 as SetSharedTimeTrackingConfiguration, SetUserColumns$1 as SetUserColumns, SetUserNavProperty$1 as SetUserNavProperty, SetUserProperty$1 as SetUserProperty, SetWorkflowSchemeDraftIssueType$1 as SetWorkflowSchemeDraftIssueType, SetWorkflowSchemeIssueType$1 as SetWorkflowSchemeIssueType, SetWorklogProperty$1 as SetWorklogProperty, StoreAvatar$1 as StoreAvatar, SuggestedPrioritiesForMappings$1 as SuggestedPrioritiesForMappings, ToggleFeatureForProject$1 as ToggleFeatureForProject, TrashCustomField$1 as TrashCustomField, TrashPlan$1 as TrashPlan, UnarchiveIssues$1 as UnarchiveIssues, UpdateAtlassianTeam$1 as UpdateAtlassianTeam, UpdateComment$1 as UpdateComment, UpdateComponent$1 as UpdateComponent, UpdateCustomField$1 as UpdateCustomField, UpdateCustomFieldConfiguration$1 as UpdateCustomFieldConfiguration, UpdateCustomFieldContext$1 as UpdateCustomFieldContext, UpdateCustomFieldOption$1 as UpdateCustomFieldOption, UpdateCustomFieldValue$1 as UpdateCustomFieldValue, UpdateDashboard$1 as UpdateDashboard, UpdateDefaultProjectClassification$2 as UpdateDefaultProjectClassification, UpdateDefaultScreenScheme$1 as UpdateDefaultScreenScheme, UpdateDefaultWorkflow$1 as UpdateDefaultWorkflow, UpdateDraftDefaultWorkflow$1 as UpdateDraftDefaultWorkflow, UpdateDraftWorkflowMapping$1 as UpdateDraftWorkflowMapping, UpdateEntityPropertiesValue$1 as UpdateEntityPropertiesValue, UpdateFieldConfiguration$1 as UpdateFieldConfiguration, UpdateFieldConfigurationItems$1 as UpdateFieldConfigurationItems, UpdateFieldConfigurationScheme$1 as UpdateFieldConfigurationScheme, UpdateFilter$1 as UpdateFilter, UpdateGadget$1 as UpdateGadget, UpdateIssueFieldOption$1 as UpdateIssueFieldOption, UpdateIssueFields$1 as UpdateIssueFields, UpdateIssueLinkType$1 as UpdateIssueLinkType, UpdateIssueSecurityScheme$1 as UpdateIssueSecurityScheme, UpdateIssueType$1 as UpdateIssueType, UpdateIssueTypeScheme$1 as UpdateIssueTypeScheme, UpdateIssueTypeScreenScheme$1 as UpdateIssueTypeScreenScheme, UpdateMultipleCustomFieldValues$1 as UpdateMultipleCustomFieldValues, UpdateNotificationScheme$1 as UpdateNotificationScheme, UpdatePermissionScheme$1 as UpdatePermissionScheme, UpdatePlan$1 as UpdatePlan, UpdatePlanOnlyTeam$1 as UpdatePlanOnlyTeam, UpdatePrecomputations$1 as UpdatePrecomputations, UpdatePriority$1 as UpdatePriority, UpdatePriorityScheme$1 as UpdatePriorityScheme, UpdateProject$1 as UpdateProject, UpdateProjectAvatar$1 as UpdateProjectAvatar, UpdateProjectCategory$1 as UpdateProjectCategory, UpdateProjectEmail$1 as UpdateProjectEmail, UpdateRelatedWork$1 as UpdateRelatedWork, UpdateRemoteIssueLink$1 as UpdateRemoteIssueLink, UpdateResolution$1 as UpdateResolution, UpdateSchemes$1 as UpdateSchemes, UpdateScreen$1 as UpdateScreen, UpdateScreenScheme$1 as UpdateScreenScheme, UpdateSecurityLevel$1 as UpdateSecurityLevel, UpdateStatuses$1 as UpdateStatuses, UpdateUiModification$1 as UpdateUiModification, UpdateVersion$1 as UpdateVersion, UpdateWorkflowMapping$1 as UpdateWorkflowMapping, UpdateWorkflowScheme$1 as UpdateWorkflowScheme, UpdateWorkflowSchemeDraft$1 as UpdateWorkflowSchemeDraft, UpdateWorkflowSchemeMappings$1 as UpdateWorkflowSchemeMappings, UpdateWorkflowTransitionProperty$1 as UpdateWorkflowTransitionProperty, UpdateWorkflowTransitionRuleConfigurations$1 as UpdateWorkflowTransitionRuleConfigurations, UpdateWorkflows$1 as UpdateWorkflows, UpdateWorklog$1 as UpdateWorklog, ValidateCreateWorkflows$1 as ValidateCreateWorkflows, ValidateProjectKey$1 as ValidateProjectKey, ValidateUpdateWorkflows$1 as ValidateUpdateWorkflows, WorkflowCapabilities$2 as WorkflowCapabilities, WorkflowRuleSearch$1 as WorkflowRuleSearch };
}

declare class AnnouncementBanner$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the current announcement banner configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getBanner<T = AnnouncementBannerConfiguration$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the current announcement banner configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getBanner<T = AnnouncementBannerConfiguration$1>(callback?: never): Promise<T>;
    /**
     * Updates the announcement banner configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setBanner<T = void>(parameters: SetBanner$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the announcement banner configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setBanner<T = void>(parameters: SetBanner$1, callback?: never): Promise<T>;
}

declare class AppDataPolicies$1 {
    private client;
    constructor(client: Client);
    /** Returns data policy for the workspace. */
    getPolicy<T = WorkspaceDataPolicy$1>(callback: Callback<T>): Promise<void>;
    /** Returns data policy for the workspace. */
    getPolicy<T = WorkspaceDataPolicy$1>(callback?: never): Promise<T>;
    /** Returns data policies for the projects specified in the request. */
    getPolicies<T = ProjectDataPolicies$1>(parameters: GetPolicies$1 | undefined, callback: Callback<T>): Promise<void>;
    /** Returns data policies for the projects specified in the request. */
    getPolicies<T = ProjectDataPolicies$1>(parameters?: GetPolicies$1, callback?: never): Promise<T>;
}

declare class AppMigration$1 {
    private client;
    constructor(client: Client);
    /**
     * Updates the value of a custom field added by Connect apps on one or more issues. The values of up to 200 custom
     * fields can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request
     */
    updateIssueFields<T = unknown>(parameters: UpdateIssueFields$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the value of a custom field added by Connect apps on one or more issues. The values of up to 200 custom
     * fields can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request
     */
    updateIssueFields<T = unknown>(parameters: UpdateIssueFields$1, callback?: never): Promise<T>;
    /**
     * Updates the values of multiple entity properties for an object, up to 50 updates per request. This operation is for
     * use by Connect apps during app migration.
     */
    updateEntityPropertiesValue<T = unknown>(parameters: UpdateEntityPropertiesValue$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the values of multiple entity properties for an object, up to 50 updates per request. This operation is for
     * use by Connect apps during app migration.
     */
    updateEntityPropertiesValue<T = unknown>(parameters: UpdateEntityPropertiesValue$1, callback?: never): Promise<T>;
    /**
     * Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect
     * app.
     */
    workflowRuleSearch<T = WorkflowRulesSearchDetails$1>(parameters: WorkflowRuleSearch$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect
     * app.
     */
    workflowRuleSearch<T = WorkflowRulesSearchDetails$1>(parameters: WorkflowRuleSearch$1, callback?: never): Promise<T>;
}

declare class AppProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Gets all the properties of an app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    getAddonProperties<T = PropertyKeys$2>(parameters: GetAddonProperties$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Gets all the properties of an app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    getAddonProperties<T = PropertyKeys$2>(parameters: GetAddonProperties$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the key and value of an app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    getAddonProperty<T = EntityProperty$2>(parameters: GetAddonProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the key and value of an app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    getAddonProperty<T = EntityProperty$2>(parameters: GetAddonProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of an app's property. Use this resource to store custom data for your app.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    putAddonProperty<T = OperationMessage$1>(parameters: PutAddonProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of an app's property. Use this resource to store custom data for your app.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    putAddonProperty<T = OperationMessage$1>(parameters: PutAddonProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes an app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    deleteAddonProperty<T = void>(parameters: DeleteAddonProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    deleteAddonProperty<T = void>(parameters: DeleteAddonProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of a Forge app's property. These values can be retrieved in [Jira
     * expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) through the `app` [context
     * variable](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables). They are also
     * available in [entity property display
     * conditions](/platform/forge/manifest-reference/display-conditions/entity-property-conditions/).
     *
     * For other use cases, use the [Storage
     * API](https://developer.atlassian.com/platform/forge/runtime-reference/storage-api/).
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Forge apps can make this request.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    putAppProperty<T = OperationMessage$1>(parameters: PutAppProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a Forge app's property. These values can be retrieved in [Jira
     * expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) through the `app` [context
     * variable](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables). They are also
     * available in [entity property display
     * conditions](/platform/forge/manifest-reference/display-conditions/entity-property-conditions/).
     *
     * For other use cases, use the [Storage
     * API](https://developer.atlassian.com/platform/forge/runtime-reference/storage-api/).
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Forge apps can make this request.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    putAppProperty<T = OperationMessage$1>(parameters: PutAppProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes a Forge app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Forge apps can make this request.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    deleteAppProperty<T = void>(parameters: DeleteAppProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a Forge app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Forge apps can make this request.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    deleteAppProperty<T = void>(parameters: DeleteAppProperty$1, callback?: never): Promise<T>;
}

declare class ApplicationRoles$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all application roles. In Jira, application roles are managed using the [Application access
     * configuration](https://confluence.atlassian.com/x/3YxjL) page.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllApplicationRoles<T = ApplicationRole$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all application roles. In Jira, application roles are managed using the [Application access
     * configuration](https://confluence.atlassian.com/x/3YxjL) page.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllApplicationRoles<T = ApplicationRole$1[]>(callback?: never): Promise<T>;
    /**
     * Returns an application role.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApplicationRole<T = ApplicationRole$1>(parameters: GetApplicationRole$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns an application role.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApplicationRole<T = ApplicationRole$1>(parameters: GetApplicationRole$1 | string, callback?: never): Promise<T>;
}

declare class AuditRecords$2 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of audit records. The list can be filtered to include items:
     *
     * - Where each item in `filter` has at least one match in any of these fields:
     *
     *   - `summary`
     *   - `category`
     *   - `eventSource`
     *   - `objectItem.name` If the object is a user, account ID is available to filter.
     *   - `objectItem.parentName`
     *   - `objectItem.typeName`
     *   - `changedValues.changedFrom`
     *   - `changedValues.changedTo`
     *   - `remoteAddress`
     *
     *   For example, if `filter` contains _man ed_, an audit record containing `summary": "User added to group"` and
     *   `"category": "group management"` is returned.
     * - Created on or after a date and time.
     * - Created on or before a date and time.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAuditRecords<T = AuditRecords$3>(parameters: GetAuditRecords$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of audit records. The list can be filtered to include items:
     *
     * - Where each item in `filter` has at least one match in any of these fields:
     *
     *   - `summary`
     *   - `category`
     *   - `eventSource`
     *   - `objectItem.name` If the object is a user, account ID is available to filter.
     *   - `objectItem.parentName`
     *   - `objectItem.typeName`
     *   - `changedValues.changedFrom`
     *   - `changedValues.changedTo`
     *   - `remoteAddress`
     *
     *   For example, if `filter` contains _man ed_, an audit record containing `summary": "User added to group"` and
     *   `"category": "group management"` is returned.
     * - Created on or after a date and time.
     * - Created on or before a date and time.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAuditRecords<T = AuditRecords$3>(parameters?: GetAuditRecords$1, callback?: never): Promise<T>;
}

declare class Avatars$2 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of system avatar details by owner type, where the owner types are issue type, project, user or
     * priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllSystemAvatars<T = SystemAvatars$1>(parameters: GetAllSystemAvatars$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of system avatar details by owner type, where the owner types are issue type, project, user or
     * priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllSystemAvatars<T = SystemAvatars$1>(parameters: GetAllSystemAvatars$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the system and custom avatars for a project, issue type or priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For system avatars, none.
     * - For priority avatars, none.
     */
    getAvatars<T = Avatars$3>(parameters: GetAvatars$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the system and custom avatars for a project, issue type or priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For system avatars, none.
     * - For priority avatars, none.
     */
    getAvatars<T = Avatars$3>(parameters: GetAvatars$1, callback?: never): Promise<T>;
    /**
     * Loads a custom avatar for a project, issue type or priority.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar use:
     *
     * - [Update issue
     *   type](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-types/#api-rest-api-2-issuetype-id-put)
     *   to set it as the issue type's displayed avatar.
     * - [Set project
     *   avatar](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-project-avatars/#api-rest-api-2-project-projectidorkey-avatar-put)
     *   to set it as the project's displayed avatar.
     * - [Update
     *   priority](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-priorities/#api-rest-api-2-priority-id-put)
     *   to set it as the priority's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    storeAvatar<T = Avatar$1>(parameters: StoreAvatar$1, callback: Callback<T>): Promise<void>;
    /**
     * Loads a custom avatar for a project, issue type or priority.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar use:
     *
     * - [Update issue
     *   type](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-types/#api-rest-api-2-issuetype-id-put)
     *   to set it as the issue type's displayed avatar.
     * - [Set project
     *   avatar](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-project-avatars/#api-rest-api-2-project-projectidorkey-avatar-put)
     *   to set it as the project's displayed avatar.
     * - [Update
     *   priority](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-priorities/#api-rest-api-2-priority-id-put)
     *   to set it as the priority's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    storeAvatar<T = Avatar$1>(parameters: StoreAvatar$1, callback?: never): Promise<T>;
    /**
     * Deletes an avatar from a project, issue type or priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteAvatar<T = void>(parameters: DeleteAvatar$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an avatar from a project, issue type or priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteAvatar<T = void>(parameters: DeleteAvatar$1, callback?: never): Promise<T>;
    /**
     * Returns the default project, issue type or priority avatar image.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAvatarImageByType<T = AvatarWithDetails$1>(parameters: GetAvatarImageByType$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default project, issue type or priority avatar image.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAvatarImageByType<T = AvatarWithDetails$1>(parameters: GetAvatarImageByType$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a project, issue type or priority avatar image by ID.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - For system avatars, none.
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For priority avatars, none.
     */
    getAvatarImageByID<T = AvatarWithDetails$1>(parameters: GetAvatarImageByID$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a project, issue type or priority avatar image by ID.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - For system avatars, none.
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For priority avatars, none.
     */
    getAvatarImageByID<T = AvatarWithDetails$1>(parameters: GetAvatarImageByID$1, callback?: never): Promise<T>;
    /**
     * Returns the avatar image for a project, issue type or priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - For system avatars, none.
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For priority avatars, none.
     */
    getAvatarImageByOwner<T = AvatarWithDetails$1>(parameters: GetAvatarImageByOwner$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the avatar image for a project, issue type or priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - For system avatars, none.
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For priority avatars, none.
     */
    getAvatarImageByOwner<T = AvatarWithDetails$1>(parameters: GetAvatarImageByOwner$1, callback?: never): Promise<T>;
}

declare class ClassificationLevels$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all classification levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllUserDataClassificationLevels<T = DataClassificationLevels$1>(parameters: GetAllUserDataClassificationLevels$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all classification levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllUserDataClassificationLevels<T = DataClassificationLevels$1>(parameters?: GetAllUserDataClassificationLevels$1, callback?: never): Promise<T>;
}

declare class Dashboards$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or
     * owned dashboards.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllDashboards<T = PageOfDashboards$1>(parameters: GetAllDashboards$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or
     * owned dashboards.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllDashboards<T = PageOfDashboards$1>(parameters?: GetAllDashboards$1, callback?: never): Promise<T>;
    /**
     * Creates a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    createDashboard<T = Dashboard$1>(parameters: CreateDashboard$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    createDashboard<T = Dashboard$1>(parameters: CreateDashboard$1, callback?: never): Promise<T>;
    /**
     * Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None
     *
     * The dashboards to be updated must be owned by the user, or the user must be an administrator.
     */
    bulkEditDashboards<T = BulkEditShareableEntity$1>(parameters: BulkEditDashboards$1, callback: Callback<T>): Promise<void>;
    /**
     * Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None
     *
     * The dashboards to be updated must be owned by the user, or the user must be an administrator.
     */
    bulkEditDashboards<T = BulkEditShareableEntity$1>(parameters: BulkEditDashboards$1, callback?: never): Promise<T>;
    /**
     * Gets a list of all available gadgets that can be added to all dashboards.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllAvailableDashboardGadgets<T = AvailableDashboardGadgetsResponse$1>(callback: Callback<T>): Promise<void>;
    /**
     * Gets a list of all available gadgets that can be added to all dashboards.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllAvailableDashboardGadgets<T = AvailableDashboardGadgetsResponse$1>(callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * dashboards. This operation is similar to [Get dashboards](#api-rest-api-2-dashboard-get) except that the results
     * can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name.
     * When multiple attributes are specified only filters matching all attributes are returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * following dashboards that match the query parameters are returned:
     *
     * - Dashboards owned by the user. Not returned for anonymous users.
     * - Dashboards shared with a group that the user is a member of. Not returned for anonymous users.
     * - Dashboards shared with a private project that the user can browse. Not returned for anonymous users.
     * - Dashboards shared with a public project.
     * - Dashboards shared with the public.
     */
    getDashboardsPaginated<T = PageDashboard$1>(parameters: GetDashboardsPaginated$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * dashboards. This operation is similar to [Get dashboards](#api-rest-api-2-dashboard-get) except that the results
     * can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name.
     * When multiple attributes are specified only filters matching all attributes are returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * following dashboards that match the query parameters are returned:
     *
     * - Dashboards owned by the user. Not returned for anonymous users.
     * - Dashboards shared with a group that the user is a member of. Not returned for anonymous users.
     * - Dashboards shared with a private project that the user can browse. Not returned for anonymous users.
     * - Dashboards shared with a public project.
     * - Dashboards shared with the public.
     */
    getDashboardsPaginated<T = PageDashboard$1>(parameters?: GetDashboardsPaginated$1, callback?: never): Promise<T>;
    /**
     * Returns a list of dashboard gadgets on a dashboard.
     *
     * This operation returns:
     *
     * - Gadgets from a list of IDs, when `id` is set.
     * - Gadgets with a module key, when `moduleKey` is set.
     * - Gadgets from a list of URIs, when `uri` is set.
     * - All gadgets, when no other parameters are set.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllGadgets<T = DashboardGadgetResponse$1>(parameters: GetAllGadgets$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of dashboard gadgets on a dashboard.
     *
     * This operation returns:
     *
     * - Gadgets from a list of IDs, when `id` is set.
     * - Gadgets with a module key, when `moduleKey` is set.
     * - Gadgets from a list of URIs, when `uri` is set.
     * - All gadgets, when no other parameters are set.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllGadgets<T = DashboardGadgetResponse$1>(parameters: GetAllGadgets$1 | string, callback?: never): Promise<T>;
    /**
     * Adds a gadget to a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    addGadget<T = DashboardGadget$1>(parameters: AddGadget$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds a gadget to a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    addGadget<T = DashboardGadget$1>(parameters: AddGadget$1, callback?: never): Promise<T>;
    /**
     * Changes the title, position, and color of the gadget on a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    updateGadget<T = void>(parameters: UpdateGadget$1, callback: Callback<T>): Promise<void>;
    /**
     * Changes the title, position, and color of the gadget on a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    updateGadget<T = void>(parameters: UpdateGadget$1, callback?: never): Promise<T>;
    /**
     * Removes a dashboard gadget from a dashboard.
     *
     * When a gadget is removed from a dashboard, other gadgets in the same column are moved up to fill the emptied
     * position.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    removeGadget<T = void>(parameters: RemoveGadget$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes a dashboard gadget from a dashboard.
     *
     * When a gadget is removed from a dashboard, other gadgets in the same column are moved up to fill the emptied
     * position.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    removeGadget<T = void>(parameters: RemoveGadget$1, callback?: never): Promise<T>;
    /**
     * Returns the keys of all properties for a dashboard item.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     * The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when
     * Jira’s anonymous access is permitted.
     */
    getDashboardItemPropertyKeys<T = PropertyKeys$2>(parameters: GetDashboardItemPropertyKeys$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for a dashboard item.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     * The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when
     * Jira’s anonymous access is permitted.
     */
    getDashboardItemPropertyKeys<T = PropertyKeys$2>(parameters: GetDashboardItemPropertyKeys$1, callback?: never): Promise<T>;
    /**
     * Returns the key and value of a dashboard item property.
     *
     * A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed
     * to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding
     * and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).
     *
     * When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires
     * whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this
     * resource to store the item's content or configuration details. For more information on working with dashboard
     * items, see [ Building a dashboard item for a JIRA Connect
     * add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/)
     * and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/)
     * documentation.
     *
     * There is no resource to set or get dashboard items.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     * The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when
     * Jira’s anonymous access is permitted.
     */
    getDashboardItemProperty<T = EntityProperty$2>(parameters: GetDashboardItemProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the key and value of a dashboard item property.
     *
     * A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed
     * to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding
     * and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).
     *
     * When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires
     * whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this
     * resource to store the item's content or configuration details. For more information on working with dashboard
     * items, see [ Building a dashboard item for a JIRA Connect
     * add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/)
     * and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/)
     * documentation.
     *
     * There is no resource to set or get dashboard items.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     * The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when
     * Jira’s anonymous access is permitted.
     */
    getDashboardItemProperty<T = EntityProperty$2>(parameters: GetDashboardItemProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard
     * item.
     *
     * A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed
     * to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding
     * and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).
     *
     * When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires
     * whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this
     * resource to store the item's content or configuration details. For more information on working with dashboard
     * items, see [ Building a dashboard item for a JIRA Connect
     * add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/)
     * and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/)
     * documentation.
     *
     * There is no resource to set or get dashboard items.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * user must be the owner of the dashboard. Note, users with the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     */
    setDashboardItemProperty<T = unknown>(parameters: SetDashboardItemProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard
     * item.
     *
     * A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed
     * to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding
     * and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).
     *
     * When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires
     * whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this
     * resource to store the item's content or configuration details. For more information on working with dashboard
     * items, see [ Building a dashboard item for a JIRA Connect
     * add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/)
     * and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/)
     * documentation.
     *
     * There is no resource to set or get dashboard items.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * user must be the owner of the dashboard. Note, users with the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     */
    setDashboardItemProperty<T = unknown>(parameters: SetDashboardItemProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes a dashboard item property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * user must be the owner of the dashboard. Note, users with the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     */
    deleteDashboardItemProperty<T = void>(parameters: DeleteDashboardItemProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a dashboard item property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * user must be the owner of the dashboard. Note, users with the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     */
    deleteDashboardItemProperty<T = void>(parameters: DeleteDashboardItemProperty$1, callback?: never): Promise<T>;
    /**
     * Returns a dashboard.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     *
     * However, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with
     * the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the
     * System dashboard. The System dashboard is considered to be shared with all other users.
     */
    getDashboard<T = Dashboard$1>(parameters: GetDashboard$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a dashboard.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     *
     * However, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with
     * the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the
     * System dashboard. The System dashboard is considered to be shared with all other users.
     */
    getDashboard<T = Dashboard$1>(parameters: GetDashboard$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a dashboard, replacing all the dashboard details with those provided.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None
     *
     * The dashboard to be updated must be owned by the user.
     */
    updateDashboard<T = Dashboard$1>(parameters: UpdateDashboard$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a dashboard, replacing all the dashboard details with those provided.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None
     *
     * The dashboard to be updated must be owned by the user.
     */
    updateDashboard<T = Dashboard$1>(parameters: UpdateDashboard$1, callback?: never): Promise<T>;
    /**
     * Deletes a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None
     *
     * The dashboard to be deleted must be owned by the user.
     */
    deleteDashboard<T = void>(parameters: DeleteDashboard$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None
     *
     * The dashboard to be deleted must be owned by the user.
     */
    deleteDashboard<T = void>(parameters: DeleteDashboard$1 | string, callback?: never): Promise<T>;
    /**
     * Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None
     *
     * The dashboard to be copied must be owned by or shared with the user.
     */
    copyDashboard<T = Dashboard$1>(parameters: CopyDashboard$1, callback: Callback<T>): Promise<void>;
    /**
     * Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None
     *
     * The dashboard to be copied must be owned by or shared with the user.
     */
    copyDashboard<T = Dashboard$1>(parameters: CopyDashboard$1, callback?: never): Promise<T>;
}

declare class DynamicModules$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all modules registered dynamically by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    getModules<T = ConnectModules$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all modules registered dynamically by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    getModules<T = ConnectModules$1>(callback?: never): Promise<T>;
    /**
     * Registers a list of modules.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    registerModules<T = unknown>(parameters: RegisterModules$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Registers a list of modules.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    registerModules<T = unknown>(parameters?: RegisterModules$1, callback?: never): Promise<T>;
    /**
     * Remove all or a list of modules registered by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    removeModules<T = void>(parameters: RemoveModules$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Remove all or a list of modules registered by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    removeModules<T = void>(parameters?: RemoveModules$1, callback?: never): Promise<T>;
}

declare class FilterSharing$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the default sharing settings for new filters and dashboards for a user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getDefaultShareScope<T = DefaultShareScope$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the default sharing settings for new filters and dashboards for a user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getDefaultShareScope<T = DefaultShareScope$1>(callback?: never): Promise<T>;
    /**
     * Sets the default sharing for new filters and dashboards for a user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    setDefaultShareScope<T = DefaultShareScope$1>(parameters: SetDefaultShareScope$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Sets the default sharing for new filters and dashboards for a user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    setDefaultShareScope<T = DefaultShareScope$1>(parameters: SetDefaultShareScope$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or
     * the public. Sharing with all logged-in users or the public is known as a global share permission.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, share permissions are only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getSharePermissions<T = SharePermission$1[]>(parameters: GetSharePermissions$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or
     * the public. Sharing with all logged-in users or the public is known as a global share permission.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, share permissions are only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getSharePermissions<T = SharePermission$1[]>(parameters: GetSharePermissions$1 | string, callback?: never): Promise<T>;
    /**
     * Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the
     * public) it will overwrite all share permissions for the filter.
     *
     * Be aware that this operation uses different objects for updating share permissions compared to [Update
     * filter](#api-rest-api-2-filter-id-put).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Share
     * dashboards and filters_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the
     * filter.
     */
    addSharePermission<T = SharePermission$1[]>(parameters: AddSharePermission$1, callback: Callback<T>): Promise<void>;
    /**
     * Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the
     * public) it will overwrite all share permissions for the filter.
     *
     * Be aware that this operation uses different objects for updating share permissions compared to [Update
     * filter](#api-rest-api-2-filter-id-put).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Share
     * dashboards and filters_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the
     * filter.
     */
    addSharePermission<T = SharePermission$1[]>(parameters: AddSharePermission$1, callback?: never): Promise<T>;
    /**
     * Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the
     * public. Sharing with all logged-in users or the public is known as a global share permission.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, a share permission is only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getSharePermission<T = SharePermission$1>(parameters: GetSharePermission$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the
     * public. Sharing with all logged-in users or the public is known as a global share permission.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, a share permission is only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getSharePermission<T = SharePermission$1>(parameters: GetSharePermission$1, callback?: never): Promise<T>;
    /**
     * Deletes a share permission from a filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira and the user must own the filter.
     */
    deleteSharePermission<T = void>(parameters: DeleteSharePermission$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a share permission from a filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira and the user must own the filter.
     */
    deleteSharePermission<T = void>(parameters: DeleteSharePermission$1, callback?: never): Promise<T>;
}

declare class Filters$1 {
    private client;
    constructor(client: Client);
    /**
     * Creates a filter. The filter is shared according to the [default share scope](#api-rest-api-2-filter-post). The
     * filter is not selected as a favorite.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    createFilter<T = Filter$1>(parameters: CreateFilter$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a filter. The filter is shared according to the [default share scope](#api-rest-api-2-filter-post). The
     * filter is not selected as a favorite.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    createFilter<T = Filter$1>(parameters: CreateFilter$1, callback?: never): Promise<T>;
    /**
     * Returns the visible favorite filters of the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** A
     * favorite filter is only visible to the user where the filter is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     *
     * For example, if the user favorites a public filter that is subsequently made private that filter is not returned by
     * this operation.
     */
    getFavouriteFilters<T = Filter$1[]>(parameters: GetFavouriteFilters$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the visible favorite filters of the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** A
     * favorite filter is only visible to the user where the filter is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     *
     * For example, if the user favorites a public filter that is subsequently made private that filter is not returned by
     * this operation.
     */
    getFavouriteFilters<T = Filter$1[]>(parameters?: GetFavouriteFilters$1, callback?: never): Promise<T>;
    /**
     * Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are
     * also returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     *
     * For example, if the user favorites a public filter that is subsequently made private that filter is not returned by
     * this operation.
     */
    getMyFilters<T = Filter$1[]>(parameters: GetMyFilters$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are
     * also returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     *
     * For example, if the user favorites a public filter that is subsequently made private that filter is not returned by
     * this operation.
     */
    getMyFilters<T = Filter$1[]>(parameters?: GetMyFilters$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * filters. Use this operation to get:
     *
     * - Specific filters, by defining `id` only.
     * - Filters that match all of the specified attributes. For example, all filters for a user with a particular word in
     *   their name. When multiple attributes are specified only filters matching all attributes are returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, only the following filters that match the query parameters are returned:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getFiltersPaginated<T = PageFilterDetails$1>(parameters: GetFiltersPaginated$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * filters. Use this operation to get:
     *
     * - Specific filters, by defining `id` only.
     * - Filters that match all of the specified attributes. For example, all filters for a user with a particular word in
     *   their name. When multiple attributes are specified only filters matching all attributes are returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, only the following filters that match the query parameters are returned:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getFiltersPaginated<T = PageFilterDetails$1>(parameters?: GetFiltersPaginated$1, callback?: never): Promise<T>;
    /**
     * Returns a filter.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, the filter is only returned where it is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     */
    getFilter<T = Filter$1>(parameters: GetFilter$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a filter.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, the filter is only returned where it is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     */
    getFilter<T = Filter$1>(parameters: GetFilter$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however the user must own the filter.
     */
    updateFilter<T = Filter$1>(parameters: UpdateFilter$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however the user must own the filter.
     */
    updateFilter<T = Filter$1>(parameters: UpdateFilter$1, callback?: never): Promise<T>;
    /**
     * Delete a filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFilter<T = void>(parameters: DeleteFilter$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Delete a filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFilter<T = void>(parameters: DeleteFilter$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed
     * in _List View_ with the _Columns_ set to _Filter_.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, column details are only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getColumns<T = ColumnItem$1[]>(parameters: GetColumns$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed
     * in _List View_ with the _Columns_ set to _Filter_.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, column details are only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getColumns<T = ColumnItem$1[]>(parameters: GetColumns$1 | string, callback?: never): Promise<T>;
    /**
     * Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get
     * fields](#api-rest-api-2-field-get) to get the list fields in Jira. A navigable field has `navigable` set to
     * `true`.
     *
     * The parameters for this resource are expressed as HTML form data. For example, in curl:
     *
     * `curl -X PUT -d columns=summary -d columns=description
     * https://your-domain.atlassian.net/rest/api/2/filter/10000/columns`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, columns are only set for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    setColumns<T = unknown>(parameters: SetColumns$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get
     * fields](#api-rest-api-2-field-get) to get the list fields in Jira. A navigable field has `navigable` set to
     * `true`.
     *
     * The parameters for this resource are expressed as HTML form data. For example, in curl:
     *
     * `curl -X PUT -d columns=summary -d columns=description
     * https://your-domain.atlassian.net/rest/api/2/filter/10000/columns`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, columns are only set for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    setColumns<T = unknown>(parameters: SetColumns$1, callback?: never): Promise<T>;
    /**
     * Reset the user's column configuration for the filter to the default.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, columns are only reset for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    resetColumns<T = void>(parameters: ResetColumns$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Reset the user's column configuration for the filter to the default.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, columns are only reset for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    resetColumns<T = void>(parameters: ResetColumns$1 | string, callback?: never): Promise<T>;
    /**
     * Add a filter as a favorite for the user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, the user can only favorite:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    setFavouriteForFilter<T = Filter$1>(parameters: SetFavouriteForFilter$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Add a filter as a favorite for the user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, the user can only favorite:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    setFavouriteForFilter<T = Filter$1>(parameters: SetFavouriteForFilter$1 | string, callback?: never): Promise<T>;
    /**
     * Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from
     * the user's favorites list. For example, if the user favorites a public filter that is subsequently made private
     * (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    deleteFavouriteForFilter<T = Filter$1>(parameters: DeleteFavouriteForFilter$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from
     * the user's favorites list. For example, if the user favorites a public filter that is subsequently made private
     * (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    deleteFavouriteForFilter<T = Filter$1>(parameters: DeleteFavouriteForFilter$1 | string, callback?: never): Promise<T>;
    /**
     * Changes the owner of the filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira. However, the user must own the filter or have the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    changeFilterOwner<T = void>(parameters: ChangeFilterOwner$1, callback: Callback<T>): Promise<void>;
    /**
     * Changes the owner of the filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira. However, the user must own the filter or have the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    changeFilterOwner<T = void>(parameters: ChangeFilterOwner$1, callback?: never): Promise<T>;
}

declare class GroupAndUserPicker$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of users and groups matching a string. The string is used:
     *
     * - For users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden
     *   their email address in their user profile, partial matches of the email address will not find the user. An exact
     *   match is required.
     * - For groups, to find a case-sensitive match with group name.
     *
     * For example, if the string _tin_ is used, records with the display name _Tina_, email address
     * _sarah@tinplatetraining.com_, and the group _accounting_ would be returned.
     *
     * Optionally, the search can be refined to:
     *
     * - The projects and issue types associated with a custom field, such as a user picker. The search can then be further
     *   refined to return only users and groups that have permission to view specific:
     *
     *   - Projects.
     *   - Issue types.
     *
     *   If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or
     *   no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be
     *   limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.
     * - Not return Connect app users and groups.
     * - Return groups that have a case-insensitive match with the query.
     *
     * The primary use case for this resource is to populate a picker field suggestion list with users or groups. To this
     * end, the returned object includes an `html` field for each list. This field highlights the matched query term in
     * the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for
     * use in a picker, specifically _Showing X of Y matching groups_.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/yodKLg).
     */
    findUsersAndGroups<T = FoundUsersAndGroups$1>(parameters: FindUsersAndGroups$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users and groups matching a string. The string is used:
     *
     * - For users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden
     *   their email address in their user profile, partial matches of the email address will not find the user. An exact
     *   match is required.
     * - For groups, to find a case-sensitive match with group name.
     *
     * For example, if the string _tin_ is used, records with the display name _Tina_, email address
     * _sarah@tinplatetraining.com_, and the group _accounting_ would be returned.
     *
     * Optionally, the search can be refined to:
     *
     * - The projects and issue types associated with a custom field, such as a user picker. The search can then be further
     *   refined to return only users and groups that have permission to view specific:
     *
     *   - Projects.
     *   - Issue types.
     *
     *   If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or
     *   no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be
     *   limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.
     * - Not return Connect app users and groups.
     * - Return groups that have a case-insensitive match with the query.
     *
     * The primary use case for this resource is to populate a picker field suggestion list with users or groups. To this
     * end, the returned object includes an `html` field for each list. This field highlights the matched query term in
     * the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for
     * use in a picker, specifically _Showing X of Y matching groups_.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/yodKLg).
     */
    findUsersAndGroups<T = FoundUsersAndGroups$1>(parameters: FindUsersAndGroups$1, callback?: never): Promise<T>;
}

declare class Groups$1 {
    private client;
    constructor(client: Client);
    /**
     * Creates a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    createGroup<T = Group$2>(parameters: CreateGroup$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    createGroup<T = Group$2>(parameters: CreateGroup$1, callback?: never): Promise<T>;
    /**
     * Deletes a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ strategic [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeGroup<T = string>(parameters: RemoveGroup$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ strategic [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeGroup<T = string>(parameters: RemoveGroup$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * groups.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    bulkGetGroups<T = PageGroupDetails$1>(parameters: BulkGetGroups$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * groups.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    bulkGetGroups<T = PageGroupDetails$1>(parameters?: BulkGetGroups$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * users in a group.
     *
     * Note that users are ordered by username, however the username is not returned in the results due to privacy
     * reasons.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Browse users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUsersFromGroup<T = PageUserDetails$1>(parameters: GetUsersFromGroup$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * users in a group.
     *
     * Note that users are ordered by username, however the username is not returned in the results due to privacy
     * reasons.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Browse users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUsersFromGroup<T = PageUserDetails$1>(parameters: GetUsersFromGroup$1, callback?: never): Promise<T>;
    /**
     * Adds a user to a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    addUserToGroup<T = Group$2>(parameters: AddUserToGroup$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds a user to a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    addUserToGroup<T = Group$2>(parameters: AddUserToGroup$1, callback?: never): Promise<T>;
    /**
     * Removes a user from a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeUserFromGroup<T = unknown>(parameters: RemoveUserFromGroup$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes a user from a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeUserFromGroup<T = unknown>(parameters: RemoveUserFromGroup$1, callback?: never): Promise<T>;
    /**
     * Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude
     * groups from the results.
     *
     * The primary use case for this resource is to populate a group picker suggestions list. To this end, the returned
     * object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong
     * tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker,
     * specifically _Showing X of Y matching groups_.
     *
     * The list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users
     * without the required permission return an empty list.
     *
     * _Browse users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Without this permission,
     * calls where query is not an exact match to an existing group will return an empty list.
     */
    findGroups<T = FoundGroups$1>(parameters: FindGroups$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude
     * groups from the results.
     *
     * The primary use case for this resource is to populate a group picker suggestions list. To this end, the returned
     * object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong
     * tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker,
     * specifically _Showing X of Y matching groups_.
     *
     * The list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users
     * without the required permission return an empty list.
     *
     * _Browse users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Without this permission,
     * calls where query is not an exact match to an existing group will return an empty list.
     */
    findGroups<T = FoundGroups$1>(parameters?: FindGroups$1, callback?: never): Promise<T>;
}

declare class IssueAttachments$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment
     * to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range)
     * for details.
     *
     * To return a thumbnail of the attachment, use [Get attachment
     * thumbnail](#api-rest-api-2-attachment-thumbnail-id-get).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachmentContent<T = Buffer>(parameters: GetAttachmentContent$2 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment
     * to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range)
     * for details.
     *
     * To return a thumbnail of the attachment, use [Get attachment
     * thumbnail](#api-rest-api-2-attachment-thumbnail-id-get).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachmentContent<T = Buffer>(parameters: GetAttachmentContent$2 | string, callback?: never): Promise<T>;
    /**
     * Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.
     *
     * Note that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether
     * users can create and delete attachments.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAttachmentMeta<T = AttachmentSettings$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.
     *
     * Note that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether
     * users can create and delete attachments.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAttachmentMeta<T = AttachmentSettings$1>(callback?: never): Promise<T>;
    /**
     * Returns the thumbnail of an attachment.
     *
     * To return the attachment contents, use [Get attachment content](#api-rest-api-2-attachment-content-id-get).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachmentThumbnail<T = Buffer>(parameters: GetAttachmentThumbnail$2 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the thumbnail of an attachment.
     *
     * To return the attachment contents, use [Get attachment content](#api-rest-api-2-attachment-content-id-get).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachmentThumbnail<T = Buffer>(parameters: GetAttachmentThumbnail$2 | string, callback?: never): Promise<T>;
    /**
     * Returns the metadata for an attachment. Note that the attachment itself is not returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachment<T = AttachmentMetadata$1>(parameters: GetAttachment$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the metadata for an attachment. Note that the attachment itself is not returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachment<T = AttachmentMetadata$1>(parameters: GetAttachment$1 | string, callback?: never): Promise<T>;
    /**
     * Deletes an attachment from an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * project holding the issue containing the attachment:
     *
     * - _Delete own attachments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment
     *   created by the calling user.
     * - _Delete all attachments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment
     *   created by any user.
     */
    removeAttachment<T = void>(parameters: RemoveAttachment$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an attachment from an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * project holding the issue containing the attachment:
     *
     * - _Delete own attachments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment
     *   created by the calling user.
     * - _Delete all attachments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment
     *   created by any user.
     */
    removeAttachment<T = void>(parameters: RemoveAttachment$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment
     * itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is
     * returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.
     *
     * Use this operation to retrieve data that is presented to the user, as this operation returns the metadata for the
     * attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded
     * attachment](#api-rest-api-2-attachment-id-expand-raw-get), which only returns the metadata for the attachment's
     * contents.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    expandAttachmentForHumans<T = AttachmentArchiveMetadataReadable$1>(parameters: ExpandAttachmentForHumans$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment
     * itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is
     * returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.
     *
     * Use this operation to retrieve data that is presented to the user, as this operation returns the metadata for the
     * attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded
     * attachment](#api-rest-api-2-attachment-id-expand-raw-get), which only returns the metadata for the attachment's
     * contents.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    expandAttachmentForHumans<T = AttachmentArchiveMetadataReadable$1>(parameters: ExpandAttachmentForHumans$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a
     * ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is
     * supported.
     *
     * Use this operation if you are processing the data without presenting it to the user, as this operation only returns
     * the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all
     * metadata for an expanded attachment](#api-rest-api-2-attachment-id-expand-human-get) which also returns the
     * metadata for the attachment itself, such as the attachment's ID and name.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    expandAttachmentForMachines<T = AttachmentArchiveImpl$1>(parameters: ExpandAttachmentForMachines$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a
     * ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is
     * supported.
     *
     * Use this operation if you are processing the data without presenting it to the user, as this operation only returns
     * the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all
     * metadata for an expanded attachment](#api-rest-api-2-attachment-id-expand-human-get) which also returns the
     * metadata for the attachment itself, such as the attachment's ID and name.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    expandAttachmentForMachines<T = AttachmentArchiveImpl$1>(parameters: ExpandAttachmentForMachines$1 | string, callback?: never): Promise<T>;
    /**
     * Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC
     * 1867](https://www.ietf.org/rfc/rfc1867.txt)).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse Projects_ and _Create attachments_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addAttachment<T = Attachment$5[]>(parameters: AddAttachment$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC
     * 1867](https://www.ietf.org/rfc/rfc1867.txt)).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse Projects_ and _Create attachments_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addAttachment<T = Attachment$5[]>(parameters: AddAttachment$1, callback?: never): Promise<T>;
    private _convertToFile;
    private _streamToBlob;
}

declare class IssueCommentProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the keys of all the properties of a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentPropertyKeys<T = PropertyKeys$2>(parameters: GetCommentPropertyKeys$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all the properties of a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentPropertyKeys<T = PropertyKeys$2>(parameters: GetCommentPropertyKeys$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the value of a comment property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentProperty<T = EntityProperty$2>(parameters: GetCommentProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a comment property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentProperty<T = EntityProperty$2>(parameters: GetCommentProperty$1, callback?: never): Promise<T>;
    /**
     * Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Edit All Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value
     *   of a property on any comment.
     * - _Edit Own Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value
     *   of a property on a comment created by the user.
     *
     * Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or
     * group.
     */
    setCommentProperty<T = unknown>(parameters: SetCommentProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Edit All Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value
     *   of a property on any comment.
     * - _Edit Own Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value
     *   of a property on a comment created by the user.
     *
     * Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or
     * group.
     */
    setCommentProperty<T = unknown>(parameters: SetCommentProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes a comment property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Edit All Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any
     *   comment.
     * - _Edit Own Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a
     *   comment created by the user.
     *
     * Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or
     * group.
     */
    deleteCommentProperty<T = void>(parameters: DeleteCommentProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a comment property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Edit All Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any
     *   comment.
     * - _Edit Own Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a
     *   comment created by the user.
     *
     * Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or
     * group.
     */
    deleteCommentProperty<T = void>(parameters: DeleteCommentProperty$1, callback?: never): Promise<T>;
}

declare class IssueComments$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * comments specified by a list of comment IDs.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Comments are returned where the user:
     *
     * - Has _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     *   the comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentsByIds<T = PageComment$1>(parameters: GetCommentsByIds$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * comments specified by a list of comment IDs.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Comments are returned where the user:
     *
     * - Has _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     *   the comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentsByIds<T = PageComment$1>(parameters: GetCommentsByIds$1, callback?: never): Promise<T>;
    /**
     * Returns all comments for an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Comments are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is
     *   restricted to.
     */
    getComments<T = PageOfComments$1>(parameters: GetComments$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all comments for an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Comments are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is
     *   restricted to.
     */
    getComments<T = PageOfComments$1>(parameters: GetComments$1 | string, callback?: never): Promise<T>;
    /**
     * Adds a comment to an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Add comments_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addComment<T = Comment$2>(parameters: AddComment$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds a comment to an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Add comments_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addComment<T = Comment$2>(parameters: AddComment$1, callback?: never): Promise<T>;
    /**
     * Returns a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     */
    getComment<T = Comment$2>(parameters: GetComment$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     */
    getComment<T = Comment$2>(parameters: GetComment$1, callback?: never): Promise<T>;
    /**
     * Updates a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue
     *   containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all comments_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or _Edit
     *   own comments_ to update comment created by the user.
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     *
     * **WARNING:** Child comments inherit visibility from their parent comment. Attempting to update a child comment's
     * visibility will result in a 400 (Bad Request) error.
     */
    updateComment<T = Comment$2>(parameters: UpdateComment$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue
     *   containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all comments_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or _Edit
     *   own comments_ to update comment created by the user.
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     *
     * **WARNING:** Child comments inherit visibility from their parent comment. Attempting to update a child comment's
     * visibility will result in a 400 (Bad Request) error.
     */
    updateComment<T = Comment$2>(parameters: UpdateComment$1, callback?: never): Promise<T>;
    /**
     * Deletes a comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue
     *   containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all comments_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or
     *   _Delete own comments_ to delete comment created by the user,
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     */
    deleteComment<T = void>(parameters: DeleteComment$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue
     *   containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all comments_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or
     *   _Delete own comments_ to delete comment created by the user,
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     */
    deleteComment<T = void>(parameters: DeleteComment$1, callback?: never): Promise<T>;
}

declare class IssueCustomFieldAssociations$1 {
    private client;
    constructor(client: Client);
    /**
     * Associates fields with projects.
     *
     * Fields will be associated with each issue type on the requested projects.
     *
     * Fields will be associated with all projects that share the same field configuration which the provided projects are
     * using. This means that while the field will be associated with the requested projects, it will also be associated
     * with any other projects that share the same field configuration.
     *
     * If a success response is returned it means that the field association has been created in any applicable contexts
     * where it wasn't already present.
     *
     * Up to 50 fields and up to 100 projects can be associated in a single request. If more fields or projects are
     * provided a 400 response will be returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createAssociations<T = void>(parameters: CreateAssociations$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Associates fields with projects.
     *
     * Fields will be associated with each issue type on the requested projects.
     *
     * Fields will be associated with all projects that share the same field configuration which the provided projects are
     * using. This means that while the field will be associated with the requested projects, it will also be associated
     * with any other projects that share the same field configuration.
     *
     * If a success response is returned it means that the field association has been created in any applicable contexts
     * where it wasn't already present.
     *
     * Up to 50 fields and up to 100 projects can be associated in a single request. If more fields or projects are
     * provided a 400 response will be returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createAssociations<T = void>(parameters?: CreateAssociations$1, callback?: never): Promise<T>;
    /**
     * Unassociates a set of fields with a project and issue type context.
     *
     * Fields will be unassociated with all projects/issue types that share the same field configuration which the
     * provided project and issue types are using. This means that while the field will be unassociated with the provided
     * project and issue types, it will also be unassociated with any other projects and issue types that share the same
     * field configuration.
     *
     * If a success response is returned it means that the field association has been removed in any applicable contexts
     * where it was present.
     *
     * Up to 50 fields and up to 100 projects and issue types can be unassociated in a single request. If more fields or
     * projects are provided a 400 response will be returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeAssociations<T = void>(parameters: RemoveAssociations$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Unassociates a set of fields with a project and issue type context.
     *
     * Fields will be unassociated with all projects/issue types that share the same field configuration which the
     * provided project and issue types are using. This means that while the field will be unassociated with the provided
     * project and issue types, it will also be unassociated with any other projects and issue types that share the same
     * field configuration.
     *
     * If a success response is returned it means that the field association has been removed in any applicable contexts
     * where it was present.
     *
     * Up to 50 fields and up to 100 projects and issue types can be unassociated in a single request. If more fields or
     * projects are provided a 400 response will be returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeAssociations<T = void>(parameters?: RemoveAssociations$1, callback?: never): Promise<T>;
}

declare class IssueCustomFieldConfigurationApps$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * configurations for list of custom fields of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * The result can be filtered by one of these criteria:
     *
     * - `id`.
     * - `fieldContextId`.
     * - `issueId`.
     * - `projectKeyOrId` and `issueTypeId`.
     *
     * Otherwise, all configurations for the provided list of custom fields are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that provided the custom field type.
     */
    getCustomFieldsConfigurations<T = PageBulkContextualConfiguration$1>(parameters: GetCustomFieldsConfigurations$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * configurations for list of custom fields of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * The result can be filtered by one of these criteria:
     *
     * - `id`.
     * - `fieldContextId`.
     * - `issueId`.
     * - `projectKeyOrId` and `issueTypeId`.
     *
     * Otherwise, all configurations for the provided list of custom fields are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that provided the custom field type.
     */
    getCustomFieldsConfigurations<T = PageBulkContextualConfiguration$1>(parameters?: GetCustomFieldsConfigurations$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * configurations for a custom field of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * The result can be filtered by one of these criteria:
     *
     * - `id`.
     * - `fieldContextId`.
     * - `issueId`.
     * - `projectKeyOrId` and `issueTypeId`.
     *
     * Otherwise, all configurations are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that provided the custom field type.
     */
    getCustomFieldConfiguration<T = PageContextualConfiguration$1>(parameters: GetCustomFieldConfiguration$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * configurations for a custom field of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * The result can be filtered by one of these criteria:
     *
     * - `id`.
     * - `fieldContextId`.
     * - `issueId`.
     * - `projectKeyOrId` and `issueTypeId`.
     *
     * Otherwise, all configurations are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that provided the custom field type.
     */
    getCustomFieldConfiguration<T = PageContextualConfiguration$1>(parameters: GetCustomFieldConfiguration$1, callback?: never): Promise<T>;
    /**
     * Update the configuration for contexts of a custom field of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that created the custom field type.
     */
    updateCustomFieldConfiguration<T = unknown>(parameters: UpdateCustomFieldConfiguration$1, callback: Callback<T>): Promise<void>;
    /**
     * Update the configuration for contexts of a custom field of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that created the custom field type.
     */
    updateCustomFieldConfiguration<T = unknown>(parameters: UpdateCustomFieldConfiguration$1, callback?: never): Promise<T>;
}

declare class IssueCustomFieldContexts$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of [
     * contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a
     * custom field. Contexts can be returned as follows:
     *
     * - With no other parameters set, all contexts.
     * - By defining `id` only, all contexts from the list of IDs.
     * - By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types
     *   (true) or those that apply to only a subset of issue types (false)
     * - By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global
     *   contexts) (true) or those that apply to only a subset of projects (false).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). _Edit Workflow_ [edit workflow
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Edit-Workflows)
     */
    getContextsForField<T = PageCustomFieldContext$1>(parameters: GetContextsForField$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of [
     * contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a
     * custom field. Contexts can be returned as follows:
     *
     * - With no other parameters set, all contexts.
     * - By defining `id` only, all contexts from the list of IDs.
     * - By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types
     *   (true) or those that apply to only a subset of issue types (false)
     * - By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global
     *   contexts) (true) or those that apply to only a subset of projects (false).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). _Edit Workflow_ [edit workflow
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Edit-Workflows)
     */
    getContextsForField<T = PageCustomFieldContext$1>(parameters: GetContextsForField$1 | string, callback?: never): Promise<T>;
    /**
     * Creates a custom field context.
     *
     * If `projectIds` is empty, a global context is created. A global context is one that applies to all project. If
     * `issueTypeIds` is empty, the context applies to all issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomFieldContext<T = CreateCustomFieldContext$3>(parameters: CreateCustomFieldContext$2, callback: Callback<T>): Promise<void>;
    /**
     * Creates a custom field context.
     *
     * If `projectIds` is empty, a global context is created. A global context is one that applies to all project. If
     * `issueTypeIds` is empty, the context applies to all issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomFieldContext<T = CreateCustomFieldContext$3>(parameters: CreateCustomFieldContext$2, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no
     * defaults are set for a context, nothing is returned.\
     * The returned object depends on type of the custom field:
     *
     * - `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
     * - `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
     * - `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio
     *   buttons.
     * - `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and
     *   checkboxes.
     * - `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
     * - `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
     * - `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
     * - `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
     * - `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group
     *   pickers.
     * - `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
     * - `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
     * - `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
     * - `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
     * - `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
     * - `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
     * - `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
     * - `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
     * - `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.
     *
     * Forge custom fields
     * [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
     * are also supported, returning:
     *
     * - `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
     * - `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
     * - `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
     * - `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
     * - `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
     * - `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
     * - `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultValues<T = PageCustomFieldContextDefaultValue$1>(parameters: GetDefaultValues$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no
     * defaults are set for a context, nothing is returned.\
     * The returned object depends on type of the custom field:
     *
     * - `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
     * - `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
     * - `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio
     *   buttons.
     * - `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and
     *   checkboxes.
     * - `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
     * - `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
     * - `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
     * - `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
     * - `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group
     *   pickers.
     * - `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
     * - `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
     * - `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
     * - `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
     * - `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
     * - `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
     * - `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
     * - `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
     * - `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.
     *
     * Forge custom fields
     * [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
     * are also supported, returning:
     *
     * - `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
     * - `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
     * - `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
     * - `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
     * - `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
     * - `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
     * - `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultValues<T = PageCustomFieldContextDefaultValue$1>(parameters: GetDefaultValues$1 | string, callback?: never): Promise<T>;
    /**
     * Sets default for contexts of a custom field. Default are defined using these objects:
     *
     * - `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
     * - `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
     * - `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio
     *   buttons.
     * - `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and
     *   checkboxes.
     * - `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
     * - `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
     * - `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
     * - `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
     * - `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group
     *   pickers.
     * - `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
     * - `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
     * - `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
     * - `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
     * - `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
     * - `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
     * - `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
     * - `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
     * - `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.
     *
     * Forge custom fields
     * [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
     * are also supported, returning:
     *
     * - `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
     * - `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
     * - `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
     * - `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
     * - `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
     * - `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
     * - `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.
     *
     * Only one type of default object can be included in a request. To remove a default for a context, set the default
     * parameter to `null`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultValues<T = void>(parameters: SetDefaultValues$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets default for contexts of a custom field. Default are defined using these objects:
     *
     * - `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
     * - `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
     * - `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio
     *   buttons.
     * - `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and
     *   checkboxes.
     * - `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
     * - `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
     * - `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
     * - `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
     * - `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group
     *   pickers.
     * - `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
     * - `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
     * - `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
     * - `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
     * - `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
     * - `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
     * - `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
     * - `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
     * - `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.
     *
     * Forge custom fields
     * [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
     * are also supported, returning:
     *
     * - `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
     * - `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
     * - `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
     * - `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
     * - `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
     * - `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
     * - `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.
     *
     * Only one type of default object can be included in a request. To remove a default for a context, set the default
     * parameter to `null`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultValues<T = void>(parameters: SetDefaultValues$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts.
     * Mappings are ordered first by context ID and then by issue type ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeMappingsForContexts<T = PageIssueTypeToContextMapping$1>(parameters: GetIssueTypeMappingsForContexts$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts.
     * Mappings are ordered first by context ID and then by issue type ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeMappingsForContexts<T = PageIssueTypeToContextMapping$1>(parameters: GetIssueTypeMappingsForContexts$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * project and issue type mappings and, for each mapping, the ID of a [custom field
     * context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type.
     *
     * If there is no custom field context assigned to the project then, if present, the custom field context that applies
     * to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is
     * not found, the returned custom field context ID is `null`.
     *
     * Duplicate project and issue type mappings cannot be provided in the request.
     *
     * The order of the returned values is the same as provided in the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getCustomFieldContextsForProjectsAndIssueTypes<T = PageContextForProjectAndIssueType$1>(parameters: GetCustomFieldContextsForProjectsAndIssueTypes$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * project and issue type mappings and, for each mapping, the ID of a [custom field
     * context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type.
     *
     * If there is no custom field context assigned to the project then, if present, the custom field context that applies
     * to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is
     * not found, the returned custom field context ID is `null`.
     *
     * Duplicate project and issue type mappings cannot be provided in the request.
     *
     * The order of the returned values is the same as provided in the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getCustomFieldContextsForProjectsAndIssueTypes<T = PageContextForProjectAndIssueType$1>(parameters: GetCustomFieldContextsForProjectsAndIssueTypes$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings
     * are returned. Invalid IDs are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectContextMapping<T = PageCustomFieldContextProjectMapping$1>(parameters: GetProjectContextMapping$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings
     * are returned. Invalid IDs are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectContextMapping<T = PageCustomFieldContextProjectMapping$1>(parameters: GetProjectContextMapping$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a [ custom field
     * context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomFieldContext<T = void>(parameters: UpdateCustomFieldContext$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a [ custom field
     * context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomFieldContext<T = void>(parameters: UpdateCustomFieldContext$1, callback?: never): Promise<T>;
    /**
     * Deletes a [custom field
     * context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomFieldContext<T = void>(parameters: DeleteCustomFieldContext$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a [custom field
     * context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomFieldContext<T = void>(parameters: DeleteCustomFieldContext$1, callback?: never): Promise<T>;
    /**
     * Adds issue types to a custom field context, appending the issue types to the issue types list.
     *
     * A custom field context without any issue types applies to all issue types. Adding issue types to such a custom
     * field context would result in it applying to only the listed issue types.
     *
     * If any of the issue types exists in the custom field context, the operation fails and no issue types are added.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addIssueTypesToContext<T = void>(parameters: AddIssueTypesToContext$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds issue types to a custom field context, appending the issue types to the issue types list.
     *
     * A custom field context without any issue types applies to all issue types. Adding issue types to such a custom
     * field context would result in it applying to only the listed issue types.
     *
     * If any of the issue types exists in the custom field context, the operation fails and no issue types are added.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addIssueTypesToContext<T = void>(parameters: AddIssueTypesToContext$1, callback?: never): Promise<T>;
    /**
     * Removes issue types from a custom field context.
     *
     * A custom field context without any issue types applies to all issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypesFromContext<T = void>(parameters: RemoveIssueTypesFromContext$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes issue types from a custom field context.
     *
     * A custom field context without any issue types applies to all issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypesFromContext<T = void>(parameters: RemoveIssueTypesFromContext$1, callback?: never): Promise<T>;
    /**
     * Assigns a custom field context to projects.
     *
     * If any project in the request is assigned to any context of the custom field, the operation fails.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignProjectsToCustomFieldContext<T = void>(parameters: AssignProjectsToCustomFieldContext$1, callback: Callback<T>): Promise<void>;
    /**
     * Assigns a custom field context to projects.
     *
     * If any project in the request is assigned to any context of the custom field, the operation fails.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignProjectsToCustomFieldContext<T = void>(parameters: AssignProjectsToCustomFieldContext$1, callback?: never): Promise<T>;
    /**
     * Removes a custom field context from projects.
     *
     * A custom field context without any projects applies to all projects. Removing all projects from a custom field
     * context would result in it applying to all projects.
     *
     * If any project in the request is not assigned to the context, or the operation would result in two global contexts
     * for the field, the operation fails.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeCustomFieldContextFromProjects<T = void>(parameters: RemoveCustomFieldContextFromProjects$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes a custom field context from projects.
     *
     * A custom field context without any projects applies to all projects. Removing all projects from a custom field
     * context would result in it applying to all projects.
     *
     * If any project in the request is not assigned to the context, or the operation would result in two global contexts
     * for the field, the operation fails.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeCustomFieldContextFromProjects<T = void>(parameters: RemoveCustomFieldContextFromProjects$1, callback?: never): Promise<T>;
}

declare class IssueCustomFieldOptions$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a custom field option. For example, an option in a select list.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect apps.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * custom field option is returned as follows:
     *
     * - If the user has the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - If the user has the _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for at least
     *   one project the custom field is used in, and the field is visible in at least one layout the user has permission
     *   to view.
     */
    getCustomFieldOption<T = CustomFieldOption$1>(parameters: GetCustomFieldOption$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a custom field option. For example, an option in a select list.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect apps.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** The
     * custom field option is returned as follows:
     *
     * - If the user has the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - If the user has the _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for at least
     *   one project the custom field is used in, and the field is visible in at least one layout the user has permission
     *   to view.
     */
    getCustomFieldOption<T = CustomFieldOption$1>(parameters: GetCustomFieldOption$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * custom field option for a context. Options are returned first then cascading options, in the order they display in
     * Jira.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). _Edit Workflow_ [edit workflow
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Edit-Workflows)
     */
    getOptionsForContext<T = PageCustomFieldContextOption$1>(parameters: GetOptionsForContext$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * custom field option for a context. Options are returned first then cascading options, in the order they display in
     * Jira.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). _Edit Workflow_ [edit workflow
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Edit-Workflows)
     */
    getOptionsForContext<T = PageCustomFieldContextOption$1>(parameters: GetOptionsForContext$1, callback?: never): Promise<T>;
    /**
     * Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a
     * custom select field. The options are added to a context of the field.
     *
     * The maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000
     * options.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomFieldOption<T = CustomFieldCreatedContextOptionsList$1>(parameters: CreateCustomFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a
     * custom select field. The options are added to a context of the field.
     *
     * The maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000
     * options.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomFieldOption<T = CustomFieldCreatedContextOptionsList$1>(parameters: CreateCustomFieldOption$1, callback?: never): Promise<T>;
    /**
     * Updates the options of a custom field.
     *
     * If any of the options are not found, no options are updated. Options where the values in the request match the
     * current values aren't updated and aren't reported in the response.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomFieldOption<T = CustomFieldUpdatedContextOptionsList$1>(parameters: UpdateCustomFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the options of a custom field.
     *
     * If any of the options are not found, no options are updated. Options where the values in the request match the
     * current values aren't updated and aren't reported in the response.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomFieldOption<T = CustomFieldUpdatedContextOptionsList$1>(parameters: UpdateCustomFieldOption$1, callback?: never): Promise<T>;
    /**
     * Changes the order of custom field options or cascading options in a context.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    reorderCustomFieldOptions<T = void>(parameters: ReorderCustomFieldOptions$1, callback: Callback<T>): Promise<void>;
    /**
     * Changes the order of custom field options or cascading options in a context.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    reorderCustomFieldOptions<T = void>(parameters: ReorderCustomFieldOptions$1, callback?: never): Promise<T>;
    /**
     * Deletes a custom field option.
     *
     * Options with cascading options cannot be deleted without deleting the cascading options first.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomFieldOption<T = void>(parameters: DeleteCustomFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a custom field option.
     *
     * Options with cascading options cannot be deleted without deleting the cascading options first.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomFieldOption<T = void>(parameters: DeleteCustomFieldOption$1, callback?: never): Promise<T>;
    /**
     * Replaces the options of a custom field.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect or Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    replaceCustomFieldOption<T = unknown>(parameters: ReplaceCustomFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Replaces the options of a custom field.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect or Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    replaceCustomFieldOption<T = unknown>(parameters: ReplaceCustomFieldOption$1, callback?: never): Promise<T>;
}

declare class IssueCustomFieldOptionsApps$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * the options of a select list issue field. A select list issue field is a type of [issue
     * field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a
     * value from a list of options.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    getAllIssueFieldOptions<T = PageIssueFieldOption$1>(parameters: GetAllIssueFieldOptions$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * the options of a select list issue field. A select list issue field is a type of [issue
     * field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a
     * value from a list of options.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    getAllIssueFieldOptions<T = PageIssueFieldOption$1>(parameters: GetAllIssueFieldOptions$1 | string, callback?: never): Promise<T>;
    /**
     * Creates an option for a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * Each field can have a maximum of 10000 options, and each option can have a maximum of 10000 scopes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    createIssueFieldOption<T = IssueFieldOption$1>(parameters: CreateIssueFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an option for a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * Each field can have a maximum of 10000 options, and each option can have a maximum of 10000 scopes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    createIssueFieldOption<T = IssueFieldOption$1>(parameters: CreateIssueFieldOption$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * options for a select list issue field that can be viewed and selected by the user.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getSelectableIssueFieldOptions<T = PageIssueFieldOption$1>(parameters: GetSelectableIssueFieldOptions$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * options for a select list issue field that can be viewed and selected by the user.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getSelectableIssueFieldOptions<T = PageIssueFieldOption$1>(parameters: GetSelectableIssueFieldOptions$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * options for a select list issue field that can be viewed by the user.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getVisibleIssueFieldOptions<T = PageIssueFieldOption$1>(parameters: GetVisibleIssueFieldOptions$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * options for a select list issue field that can be viewed by the user.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getVisibleIssueFieldOptions<T = PageIssueFieldOption$1>(parameters: GetVisibleIssueFieldOptions$1 | string, callback?: never): Promise<T>;
    /**
     * Returns an option from a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    getIssueFieldOption<T = IssueFieldOption$1>(parameters: GetIssueFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns an option from a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    getIssueFieldOption<T = IssueFieldOption$1>(parameters: GetIssueFieldOption$1, callback?: never): Promise<T>;
    /**
     * Updates or creates an option for a select list issue field. This operation requires that the option ID is provided
     * when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID
     * provided in the path and body must be identical.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    updateIssueFieldOption<T = IssueFieldOption$1>(parameters: UpdateIssueFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates or creates an option for a select list issue field. This operation requires that the option ID is provided
     * when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID
     * provided in the path and body must be identical.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    updateIssueFieldOption<T = IssueFieldOption$1>(parameters: UpdateIssueFieldOption$1, callback?: never): Promise<T>;
    /**
     * Deletes an option from a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    deleteIssueFieldOption<T = void>(parameters: DeleteIssueFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an option from a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    deleteIssueFieldOption<T = void>(parameters: DeleteIssueFieldOption$1, callback?: never): Promise<T>;
    /**
     * Deselects an issue-field select-list option from all issues where it is selected. A different option can be
     * selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL
     * query.
     *
     * Connect and Forge app users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)
     * can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.
     *
     * This is an [asynchronous
     * operation](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). The response
     * object contains a link to the long-running task.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    replaceIssueFieldOption<T = TaskProgressRemoveOptionFromIssuesResult$1>(parameters: ReplaceIssueFieldOption$1, callback: Callback<T>): Promise<void>;
    /**
     * Deselects an issue-field select-list option from all issues where it is selected. A different option can be
     * selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL
     * query.
     *
     * Connect and Forge app users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)
     * can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.
     *
     * This is an [asynchronous
     * operation](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). The response
     * object contains a link to the long-running task.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    replaceIssueFieldOption<T = TaskProgressRemoveOptionFromIssuesResult$1>(parameters: ReplaceIssueFieldOption$1, callback?: never): Promise<T>;
}

declare class IssueCustomFieldValuesApps$1 {
    private client;
    constructor(client: Client);
    /**
     * Updates the value of one or more custom fields on one or more issues. Combinations of custom field and issue should
     * be unique within the request.
     *
     * Apps can only perform this operation on [custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom
     * field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/)
     * declared in their own manifests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * the app that owns the custom field or custom field type can update its values with this operation.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateMultipleCustomFieldValues<T = void>(parameters: UpdateMultipleCustomFieldValues$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the value of one or more custom fields on one or more issues. Combinations of custom field and issue should
     * be unique within the request.
     *
     * Apps can only perform this operation on [custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom
     * field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/)
     * declared in their own manifests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * the app that owns the custom field or custom field type can update its values with this operation.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateMultipleCustomFieldValues<T = void>(parameters: UpdateMultipleCustomFieldValues$1, callback?: never): Promise<T>;
    /**
     * Updates the value of a custom field on one or more issues.
     *
     * Apps can only perform this operation on [custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom
     * field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/)
     * declared in their own manifests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * the app that owns the custom field or custom field type can update its values with this operation.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateCustomFieldValue<T = void>(parameters: UpdateCustomFieldValue$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the value of a custom field on one or more issues.
     *
     * Apps can only perform this operation on [custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom
     * field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/)
     * declared in their own manifests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * the app that owns the custom field or custom field type can update its values with this operation.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateCustomFieldValue<T = void>(parameters: UpdateCustomFieldValue$1, callback?: never): Promise<T>;
}

declare class IssueFieldConfigurations$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of field
     * configurations. The list can be for all field configurations or a subset determined by any combination of these
     * criteria:
     *
     * - A list of field configuration item IDs.
     * - Whether the field configuration is a default.
     * - Whether the field configuration name or description contains a query string.
     *
     * Only field configurations used in company-managed (classic) projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllFieldConfigurations<T = PageFieldConfiguration>(parameters: GetAllFieldConfigurations$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of field
     * configurations. The list can be for all field configurations or a subset determined by any combination of these
     * criteria:
     *
     * - A list of field configuration item IDs.
     * - Whether the field configuration is a default.
     * - Whether the field configuration name or description contains a query string.
     *
     * Only field configurations used in company-managed (classic) projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllFieldConfigurations<T = PageFieldConfiguration>(parameters?: GetAllFieldConfigurations$1, callback?: never): Promise<T>;
    /**
     * Creates a field configuration. The field configuration is created with the same field properties as the default
     * configuration, with all the fields being optional.
     *
     * This operation can only create configurations for use in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createFieldConfiguration<T = FieldConfiguration$1>(parameters: CreateFieldConfiguration$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a field configuration. The field configuration is created with the same field properties as the default
     * configuration, with all the fields being optional.
     *
     * This operation can only create configurations for use in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createFieldConfiguration<T = FieldConfiguration$1>(parameters: CreateFieldConfiguration$1, callback?: never): Promise<T>;
    /**
     * Updates a field configuration. The name and the description provided in the request override the existing values.
     *
     * This operation can only update configurations used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfiguration<T = void>(parameters: UpdateFieldConfiguration$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a field configuration. The name and the description provided in the request override the existing values.
     *
     * This operation can only update configurations used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfiguration<T = void>(parameters: UpdateFieldConfiguration$1, callback?: never): Promise<T>;
    /**
     * Deletes a field configuration.
     *
     * This operation can only delete configurations used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFieldConfiguration<T = void>(parameters: DeleteFieldConfiguration$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a field configuration.
     *
     * This operation can only delete configurations used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFieldConfiguration<T = void>(parameters: DeleteFieldConfiguration$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * fields for a configuration.
     *
     * Only the fields from configurations used in company-managed (classic) projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationItems<T = PageFieldConfigurationItem$1>(parameters: GetFieldConfigurationItems$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * fields for a configuration.
     *
     * Only the fields from configurations used in company-managed (classic) projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationItems<T = PageFieldConfigurationItem$1>(parameters: GetFieldConfigurationItems$1 | string, callback?: never): Promise<T>;
    /**
     * Updates fields in a field configuration. The properties of the field configuration fields provided override the
     * existing values.
     *
     * This operation can only update field configurations used in company-managed (classic) projects.
     *
     * The operation can set the renderer for text fields to the default text renderer (`text-renderer`) or wiki style
     * renderer (`wiki-renderer`). However, the renderer cannot be updated for fields using the autocomplete renderer
     * (`autocomplete-renderer`).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfigurationItems<T = void>(parameters: UpdateFieldConfigurationItems$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates fields in a field configuration. The properties of the field configuration fields provided override the
     * existing values.
     *
     * This operation can only update field configurations used in company-managed (classic) projects.
     *
     * The operation can set the renderer for text fields to the default text renderer (`text-renderer`) or wiki style
     * renderer (`wiki-renderer`). However, the renderer cannot be updated for fields using the autocomplete renderer
     * (`autocomplete-renderer`).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfigurationItems<T = void>(parameters: UpdateFieldConfigurationItems$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of field
     * configuration schemes.
     *
     * Only field configuration schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllFieldConfigurationSchemes<T = PageFieldConfigurationScheme$1>(parameters: GetAllFieldConfigurationSchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of field
     * configuration schemes.
     *
     * Only field configuration schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllFieldConfigurationSchemes<T = PageFieldConfigurationScheme$1>(parameters?: GetAllFieldConfigurationSchemes$1, callback?: never): Promise<T>;
    /**
     * Creates a field configuration scheme.
     *
     * This operation can only create field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createFieldConfigurationScheme<T = FieldConfigurationScheme$1>(parameters: CreateFieldConfigurationScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a field configuration scheme.
     *
     * This operation can only create field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createFieldConfigurationScheme<T = FieldConfigurationScheme$1>(parameters: CreateFieldConfigurationScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of field
     * configuration issue type items.
     *
     * Only items used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationSchemeMappings<T = PageFieldConfigurationIssueTypeItem$1>(parameters: GetFieldConfigurationSchemeMappings$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of field
     * configuration issue type items.
     *
     * Only items used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationSchemeMappings<T = PageFieldConfigurationIssueTypeItem$1>(parameters?: GetFieldConfigurationSchemeMappings$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of field
     * configuration schemes and, for each scheme, a list of the projects that use it.
     *
     * The list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to
     * the default field configuration scheme.
     *
     * Only field configuration schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationSchemeProjectMapping<T = PageFieldConfigurationSchemeProjects$1>(parameters: GetFieldConfigurationSchemeProjectMapping$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of field
     * configuration schemes and, for each scheme, a list of the projects that use it.
     *
     * The list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to
     * the default field configuration scheme.
     *
     * Only field configuration schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationSchemeProjectMapping<T = PageFieldConfigurationSchemeProjects$1>(parameters: GetFieldConfigurationSchemeProjectMapping$1, callback?: never): Promise<T>;
    /**
     * Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation
     * assigns the default field configuration scheme.
     *
     * Field configuration schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignFieldConfigurationSchemeToProject<T = void>(parameters: AssignFieldConfigurationSchemeToProject$1, callback: Callback<T>): Promise<void>;
    /**
     * Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation
     * assigns the default field configuration scheme.
     *
     * Field configuration schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignFieldConfigurationSchemeToProject<T = void>(parameters: AssignFieldConfigurationSchemeToProject$1, callback?: never): Promise<T>;
    /**
     * Updates a field configuration scheme.
     *
     * This operation can only update field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfigurationScheme<T = void>(parameters: UpdateFieldConfigurationScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a field configuration scheme.
     *
     * This operation can only update field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfigurationScheme<T = void>(parameters: UpdateFieldConfigurationScheme$1, callback?: never): Promise<T>;
    /**
     * Deletes a field configuration scheme.
     *
     * This operation can only delete field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFieldConfigurationScheme<T = void>(parameters: DeleteFieldConfigurationScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a field configuration scheme.
     *
     * This operation can only delete field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFieldConfigurationScheme<T = void>(parameters: DeleteFieldConfigurationScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Assigns issue types to field configurations on field configuration scheme.
     *
     * This operation can only modify field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setFieldConfigurationSchemeMapping<T = void>(parameters: SetFieldConfigurationSchemeMapping$1, callback: Callback<T>): Promise<void>;
    /**
     * Assigns issue types to field configurations on field configuration scheme.
     *
     * This operation can only modify field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setFieldConfigurationSchemeMapping<T = void>(parameters: SetFieldConfigurationSchemeMapping$1, callback?: never): Promise<T>;
    /**
     * Removes issue types from the field configuration scheme.
     *
     * This operation can only modify field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypesFromGlobalFieldConfigurationScheme<T = void>(parameters: RemoveIssueTypesFromGlobalFieldConfigurationScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes issue types from the field configuration scheme.
     *
     * This operation can only modify field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypesFromGlobalFieldConfigurationScheme<T = void>(parameters: RemoveIssueTypesFromGlobalFieldConfigurationScheme$1, callback?: never): Promise<T>;
}

declare class IssueFields$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns system and custom issue fields according to the following rules:
     *
     * - Fields that cannot be added to the issue navigator are always returned.
     * - Fields that cannot be placed on an issue screen are always returned.
     * - Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking
     *   fields, subtasks, votes, and watches.
     * - For all other fields, this operation only returns the fields that the user has permission to view (that is, the
     *   field is used in at least one project that the user has _Browse Projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.)
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getFields<T = FieldDetails$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns system and custom issue fields according to the following rules:
     *
     * - Fields that cannot be added to the issue navigator are always returned.
     * - Fields that cannot be placed on an issue screen are always returned.
     * - Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking
     *   fields, subtasks, votes, and watches.
     * - For all other fields, this operation only returns the fields that the user has permission to view (that is, the
     *   field is used in at least one project that the user has _Browse Projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.)
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getFields<T = FieldDetails$1[]>(callback?: never): Promise<T>;
    /**
     * Creates a custom field.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomField<T = FieldDetails$1>(parameters: CreateCustomField$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Creates a custom field.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomField<T = FieldDetails$1>(parameters?: CreateCustomField$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of fields
     * for Classic Jira projects. The list can include:
     *
     * - All fields
     * - Specific fields, by defining `id`
     * - Fields that contain a string in the field name or description, by defining `query`
     * - Specific fields that contain a string in the field name or description, by defining `id` and `query`
     *
     * Use `type` must be set to `custom` to show custom fields only.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldsPaginated<T = PageField$1>(parameters: GetFieldsPaginated$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of fields
     * for Classic Jira projects. The list can include:
     *
     * - All fields
     * - Specific fields, by defining `id`
     * - Fields that contain a string in the field name or description, by defining `query`
     * - Specific fields that contain a string in the field name or description, by defining `id` and `query`
     *
     * Use `type` must be set to `custom` to show custom fields only.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldsPaginated<T = PageField$1>(parameters?: GetFieldsPaginated$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of fields
     * in the trash. The list may be restricted to fields whose field name or description partially match a string.
     *
     * Only custom fields can be queried, `type` must be set to `custom`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getTrashedFieldsPaginated<T = PageField$1>(parameters: GetTrashedFieldsPaginated$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of fields
     * in the trash. The list may be restricted to fields whose field name or description partially match a string.
     *
     * Only custom fields can be queried, `type` must be set to `custom`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getTrashedFieldsPaginated<T = PageField$1>(parameters?: GetTrashedFieldsPaginated$1, callback?: never): Promise<T>;
    /**
     * Updates a custom field.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomField<T = void>(parameters: UpdateCustomField$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a custom field.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomField<T = void>(parameters: UpdateCustomField$1, callback?: never): Promise<T>;
    /**
     * Deletes a custom field. The custom field is deleted whether it is in the trash or not. See [Edit or delete a custom
     * field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomField<T = unknown>(parameters: DeleteCustomField$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a custom field. The custom field is deleted whether it is in the trash or not. See [Edit or delete a custom
     * field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomField<T = unknown>(parameters: DeleteCustomField$1, callback?: never): Promise<T>;
    /**
     * Restores a custom field from trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw)
     * for more information on trashing and deleting custom fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    restoreCustomField<T = unknown>(parameters: RestoreCustomField$1, callback: Callback<T>): Promise<void>;
    /**
     * Restores a custom field from trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw)
     * for more information on trashing and deleting custom fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    restoreCustomField<T = unknown>(parameters: RestoreCustomField$1, callback?: never): Promise<T>;
    /**
     * Moves a custom field to trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for
     * more information on trashing and deleting custom fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    trashCustomField<T = unknown>(parameters: TrashCustomField$1, callback: Callback<T>): Promise<void>;
    /**
     * Moves a custom field to trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for
     * more information on trashing and deleting custom fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    trashCustomField<T = unknown>(parameters: TrashCustomField$1, callback?: never): Promise<T>;
}

declare class IssueLinkTypes$2 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of all issue link types.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
     */
    getIssueLinkTypes<T = IssueLinkTypes$3>(callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all issue link types.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
     */
    getIssueLinkTypes<T = IssueLinkTypes$3>(callback?: never): Promise<T>;
    /**
     * Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The
     * issue link type consists of a name and descriptions for a link's inward and outward relationships.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueLinkType<T = IssueLinkType$1>(parameters: CreateIssueLinkType$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The
     * issue link type consists of a name and descriptions for a link's inward and outward relationships.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueLinkType<T = IssueLinkType$1>(parameters: CreateIssueLinkType$1, callback?: never): Promise<T>;
    /**
     * Returns an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
     */
    getIssueLinkType<T = IssueLinkType$1>(parameters: GetIssueLinkType$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
     */
    getIssueLinkType<T = IssueLinkType$1>(parameters: GetIssueLinkType$1 | string, callback?: never): Promise<T>;
    /**
     * Updates an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueLinkType<T = IssueLinkType$1>(parameters: UpdateIssueLinkType$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueLinkType<T = IssueLinkType$1>(parameters: UpdateIssueLinkType$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueLinkType<T = void>(parameters: DeleteIssueLinkType$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueLinkType<T = void>(parameters: DeleteIssueLinkType$1 | string, callback?: never): Promise<T>;
}

declare class IssueLinks$1 {
    private client;
    constructor(client: Client);
    /**
     * Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally
     * add a comment to the from (outward) issue. To use this resource the site must have [Issue
     * Linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use
     * `https://your-domain.atlassian.net/rest/api/2/issue/[linked issue key]?fields=issuelinks`.
     *
     * If the link request duplicates a link, the response indicates that the issue link was created. If the request
     * included a comment, the comment is added.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse project_ [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing
     *   the issues to be linked,
     * - _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from
     *   (outward) issue,
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    linkIssues<T = void>(parameters: LinkIssues$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally
     * add a comment to the from (outward) issue. To use this resource the site must have [Issue
     * Linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use
     * `https://your-domain.atlassian.net/rest/api/2/issue/[linked issue key]?fields=issuelinks`.
     *
     * If the link request duplicates a link, the response indicates that the issue link was created. If the request
     * included a comment, the comment is added.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse project_ [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing
     *   the issues to be linked,
     * - _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from
     *   (outward) issue,
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    linkIssues<T = void>(parameters: LinkIssues$1, callback?: never): Promise<T>;
    /**
     * Returns an issue link.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse project_ [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing
     *   the linked issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the
     *   issues.
     */
    getIssueLink<T = IssueLink$1>(parameters: GetIssueLink$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue link.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse project_ [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing
     *   the linked issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the
     *   issues.
     */
    getIssueLink<T = IssueLink$1>(parameters: GetIssueLink$1 | string, callback?: never): Promise<T>;
    /**
     * Deletes an issue link.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the
     *   issues in the link.
     * - _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects
     *   containing issues in the link.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the
     *   issues.
     */
    deleteIssueLink<T = void>(parameters: DeleteIssueLink$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue link.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the
     *   issues in the link.
     * - _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects
     *   containing issues in the link.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the
     *   issues.
     */
    deleteIssueLink<T = void>(parameters: DeleteIssueLink$1 | string, callback?: never): Promise<T>;
}

declare class IssueNavigatorSettings$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the default issue navigator columns.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueNavigatorDefaultColumns<T = ColumnItem$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the default issue navigator columns.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueNavigatorDefaultColumns<T = ColumnItem$1[]>(callback?: never): Promise<T>;
    /**
     * Sets the default issue navigator columns.
     *
     * The `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple
     * columns, pass multiple `columns` parameters. For example, in curl:
     *
     * `curl -X PUT -d columns=summary -d columns=description
     * https://your-domain.atlassian.net/rest/api/2/settings/columns`
     *
     * If no column details are sent, then all default columns are removed.
     *
     * A navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue
     * columns using [Get fields](#api-rest-api-2-field-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setIssueNavigatorDefaultColumns<T = unknown>(callback: Callback<T>): Promise<void>;
    /**
     * Sets the default issue navigator columns.
     *
     * The `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple
     * columns, pass multiple `columns` parameters. For example, in curl:
     *
     * `curl -X PUT -d columns=summary -d columns=description
     * https://your-domain.atlassian.net/rest/api/2/settings/columns`
     *
     * If no column details are sent, then all default columns are removed.
     *
     * A navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue
     * columns using [Get fields](#api-rest-api-2-field-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setIssueNavigatorDefaultColumns<T = unknown>(callback?: never): Promise<T>;
}

declare class IssueNotificationSchemes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by the display name.
     *
     * _Note that you should allow for events without recipients to appear in responses._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, the user must have permission to administer at least one project associated
     * with a notification scheme for it to be returned.
     */
    getNotificationSchemes<T = PageNotificationScheme$1>(parameters: GetNotificationSchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by the display name.
     *
     * _Note that you should allow for events without recipients to appear in responses._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, the user must have permission to administer at least one project associated
     * with a notification scheme for it to be returned.
     */
    getNotificationSchemes<T = PageNotificationScheme$1>(parameters?: GetNotificationSchemes$1, callback?: never): Promise<T>;
    /**
     * Creates a notification scheme with notifications. You can create up to 1000 notifications per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createNotificationScheme<T = NotificationSchemeId$1>(parameters: CreateNotificationScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a notification scheme with notifications. You can create up to 1000 notifications per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createNotificationScheme<T = NotificationSchemeId$1>(parameters: CreateNotificationScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) mapping of
     * project that have notification scheme assigned. You can provide either one or multiple notification scheme IDs or
     * project IDs to filter by. If you don't provide any, this will return a list of all mappings. Note that only
     * company-managed (classic) projects are supported. This is because team-managed projects don't have a concept of a
     * default notification scheme. The mappings are ordered by projectId.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getNotificationSchemeToProjectMappings<T = NotificationSchemeAndProjectMappingPage$1>(parameters: GetNotificationSchemeToProjectMappings$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) mapping of
     * project that have notification scheme assigned. You can provide either one or multiple notification scheme IDs or
     * project IDs to filter by. If you don't provide any, this will return a list of all mappings. Note that only
     * company-managed (classic) projects are supported. This is because team-managed projects don't have a concept of a
     * default notification scheme. The mappings are ordered by projectId.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getNotificationSchemeToProjectMappings<T = NotificationSchemeAndProjectMappingPage$1>(parameters?: GetNotificationSchemeToProjectMappings$1, callback?: never): Promise<T>;
    /**
     * Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the
     * recipients who will receive notifications for those events.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, the user must have permission to administer at least one project associated
     * with the notification scheme.
     */
    getNotificationScheme<T = NotificationScheme$1>(parameters: GetNotificationScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the
     * recipients who will receive notifications for those events.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, the user must have permission to administer at least one project associated
     * with the notification scheme.
     */
    getNotificationScheme<T = NotificationScheme$1>(parameters: GetNotificationScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateNotificationScheme<T = void>(parameters: UpdateNotificationScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateNotificationScheme<T = void>(parameters: UpdateNotificationScheme$1, callback?: never): Promise<T>;
    /**
     * Adds notifications to a notification scheme. You can add up to 1000 notifications per request.
     *
     * _Deprecated: The notification type `EmailAddress` is no longer supported in Cloud. Refer to the
     * [changelog](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1031) for more details._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addNotifications<T = void>(parameters: AddNotifications$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds notifications to a notification scheme. You can add up to 1000 notifications per request.
     *
     * _Deprecated: The notification type `EmailAddress` is no longer supported in Cloud. Refer to the
     * [changelog](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1031) for more details._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addNotifications<T = void>(parameters: AddNotifications$1, callback?: never): Promise<T>;
    /**
     * Deletes a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteNotificationScheme<T = void>(parameters: DeleteNotificationScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteNotificationScheme<T = void>(parameters: DeleteNotificationScheme$1, callback?: never): Promise<T>;
    /**
     * Removes a notification from a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeNotificationFromNotificationScheme<T = void>(parameters: RemoveNotificationFromNotificationScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes a notification from a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeNotificationFromNotificationScheme<T = void>(parameters: RemoveNotificationFromNotificationScheme$1, callback?: never): Promise<T>;
}

declare class IssuePriorities$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the list of all issue priorities.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPriorities<T = Priority$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the list of all issue priorities.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPriorities<T = Priority$1[]>(callback?: never): Promise<T>;
    /**
     * Creates an issue priority.
     *
     * Deprecation applies to iconUrl param in request body which will be sunset on 16th Mar 2025. For more details refer
     * to [changelog](https://developer.atlassian.com/changelog/#CHANGE-1525).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPriority<T = PriorityId$1>(parameters: CreatePriority$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue priority.
     *
     * Deprecation applies to iconUrl param in request body which will be sunset on 16th Mar 2025. For more details refer
     * to [changelog](https://developer.atlassian.com/changelog/#CHANGE-1525).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPriority<T = PriorityId$1>(parameters: CreatePriority$1, callback?: never): Promise<T>;
    /**
     * Sets default issue priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultPriority<T = void>(parameters: SetDefaultPriority$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sets default issue priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultPriority<T = void>(parameters?: SetDefaultPriority$1, callback?: never): Promise<T>;
    /**
     * Changes the order of issue priorities.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    movePriorities<T = void>(parameters: MovePriorities$1, callback: Callback<T>): Promise<void>;
    /**
     * Changes the order of issue priorities.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    movePriorities<T = void>(parameters: MovePriorities$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priorities. The list can contain all priorities or a subset determined by any combination of these criteria:
     *
     * - A list of priority IDs. Any invalid priority IDs are ignored.
     * - A list of project IDs. Only priorities that are available in these projects will be returned. Any invalid project
     *   IDs are ignored.
     * - Whether the field configuration is a default. This returns priorities from company-managed (classic) projects only,
     *   as there is no concept of default priorities in team-managed projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    searchPriorities<T = PagePriority$1>(parameters: SearchPriorities$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priorities. The list can contain all priorities or a subset determined by any combination of these criteria:
     *
     * - A list of priority IDs. Any invalid priority IDs are ignored.
     * - A list of project IDs. Only priorities that are available in these projects will be returned. Any invalid project
     *   IDs are ignored.
     * - Whether the field configuration is a default. This returns priorities from company-managed (classic) projects only,
     *   as there is no concept of default priorities in team-managed projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    searchPriorities<T = PagePriority$1>(parameters?: SearchPriorities$1, callback?: never): Promise<T>;
    /**
     * Returns an issue priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPriority<T = Priority$1>(parameters: GetPriority$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPriority<T = Priority$1>(parameters: GetPriority$1 | string, callback?: never): Promise<T>;
    /**
     * Updates an issue priority.
     *
     * At least one request body parameter must be defined.
     *
     * Deprecation applies to iconUrl param in request body which will be sunset on 16th Mar 2025. For more details refer
     * to [changelog](https://developer.atlassian.com/changelog/#CHANGE-1525).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePriority<T = void>(parameters: UpdatePriority$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue priority.
     *
     * At least one request body parameter must be defined.
     *
     * Deprecation applies to iconUrl param in request body which will be sunset on 16th Mar 2025. For more details refer
     * to [changelog](https://developer.atlassian.com/changelog/#CHANGE-1525).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePriority<T = void>(parameters: UpdatePriority$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue priority.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePriority<T = unknown>(parameters: DeletePriority$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue priority.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePriority<T = unknown>(parameters: DeletePriority$1, callback?: never): Promise<T>;
}

declare class IssueProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Sets or updates a list of entity property values on issues. A list of up to 10 entity properties can be specified
     * along with up to 10,000 issues on which to set or update that list of entity properties.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum
     * length of single issue property value is 32768 characters. This operation can be accessed anonymously.
     *
     * This operation is:
     *
     * - Transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are
     *   updated.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkSetIssuesProperties<T = unknown>(parameters: BulkSetIssuesProperties$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sets or updates a list of entity property values on issues. A list of up to 10 entity properties can be specified
     * along with up to 10,000 issues on which to set or update that list of entity properties.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum
     * length of single issue property value is 32768 characters. This operation can be accessed anonymously.
     *
     * This operation is:
     *
     * - Transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are
     *   updated.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkSetIssuesProperties<T = unknown>(parameters?: BulkSetIssuesProperties$1, callback?: never): Promise<T>;
    /**
     * Sets or updates entity property values on issues. Up to 10 entity properties can be specified for each issue and up
     * to 100 issues included in the request.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON.
     *
     * This operation is:
     *
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     * - Non-transactional. Updating some entities may fail. Such information will available in the task result.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkSetIssuePropertiesByIssue<T = unknown>(parameters: BulkSetIssuePropertiesByIssue$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sets or updates entity property values on issues. Up to 10 entity properties can be specified for each issue and up
     * to 100 issues included in the request.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON.
     *
     * This operation is:
     *
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     * - Non-transactional. Updating some entities may fail. Such information will available in the task result.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkSetIssuePropertiesByIssue<T = unknown>(parameters?: BulkSetIssuePropertiesByIssue$1, callback?: never): Promise<T>;
    /**
     * Sets a property value on multiple issues.
     *
     * The value set can be a constant or determined by a [Jira
     * expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable
     * with constant complexity when applied to a set of issues. Expressions must also comply with the
     * [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to
     * all Jira expressions.
     *
     * The issues to be updated can be specified by a filter.
     *
     * The filter identifies issues eligible for update using these criteria:
     *
     * - `entityIds` Only issues from this list are eligible.
     * - `currentValue` Only issues with the property set to this value are eligible.
     * - `hasProperty`:
     *
     *   - If _true_, only issues with the property are eligible.
     *   - If _false_, only issues without the property are eligible.
     *
     * If more than one criteria is specified, they are joined with the logical _AND_: only issues that satisfy all
     * criteria are eligible.
     *
     * If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue`
     * and `hasProperty` as _false_ would not match any issues (because without the property the property cannot have a
     * value).
     *
     * The filter is optional. Without the filter all the issues visible to the user and where the user has the
     * EDIT_ISSUES permission for the issue are considered eligible.
     *
     * This operation is:
     *
     * - Transactional, either all eligible issues are updated or, when errors occur, none are updated.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing
     *   issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.
     */
    bulkSetIssueProperty<T = unknown>(parameters: BulkSetIssueProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets a property value on multiple issues.
     *
     * The value set can be a constant or determined by a [Jira
     * expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable
     * with constant complexity when applied to a set of issues. Expressions must also comply with the
     * [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to
     * all Jira expressions.
     *
     * The issues to be updated can be specified by a filter.
     *
     * The filter identifies issues eligible for update using these criteria:
     *
     * - `entityIds` Only issues from this list are eligible.
     * - `currentValue` Only issues with the property set to this value are eligible.
     * - `hasProperty`:
     *
     *   - If _true_, only issues with the property are eligible.
     *   - If _false_, only issues without the property are eligible.
     *
     * If more than one criteria is specified, they are joined with the logical _AND_: only issues that satisfy all
     * criteria are eligible.
     *
     * If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue`
     * and `hasProperty` as _false_ would not match any issues (because without the property the property cannot have a
     * value).
     *
     * The filter is optional. Without the filter all the issues visible to the user and where the user has the
     * EDIT_ISSUES permission for the issue are considered eligible.
     *
     * This operation is:
     *
     * - Transactional, either all eligible issues are updated or, when errors occur, none are updated.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing
     *   issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.
     */
    bulkSetIssueProperty<T = unknown>(parameters: BulkSetIssueProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.
     *
     * The criteria the filter used to identify eligible issues are:
     *
     * - `entityIds` Only issues from this list are eligible.
     * - `currentValue` Only issues with the property set to this value are eligible.
     *
     * If both criteria is specified, they are joined with the logical _AND_: only issues that satisfy both criteria are
     * considered eligible.
     *
     * If no filter criteria are specified, all the issues visible to the user and where the user has the EDIT_ISSUES
     * permission for the issue are considered eligible.
     *
     * This operation is:
     *
     * - Transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are
     *   deleted.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing
     *   issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.
     */
    bulkDeleteIssueProperty<T = unknown>(parameters: BulkDeleteIssueProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.
     *
     * The criteria the filter used to identify eligible issues are:
     *
     * - `entityIds` Only issues from this list are eligible.
     * - `currentValue` Only issues with the property set to this value are eligible.
     *
     * If both criteria is specified, they are joined with the logical _AND_: only issues that satisfy both criteria are
     * considered eligible.
     *
     * If no filter criteria are specified, all the issues visible to the user and where the user has the EDIT_ISSUES
     * permission for the issue are considered eligible.
     *
     * This operation is:
     *
     * - Transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are
     *   deleted.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing
     *   issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.
     */
    bulkDeleteIssueProperty<T = unknown>(parameters: BulkDeleteIssueProperty$1, callback?: never): Promise<T>;
    /**
     * Returns the URLs and keys of an issue's properties.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Property details are only returned where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssuePropertyKeys<T = PropertyKeys$2>(parameters: GetIssuePropertyKeys$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the URLs and keys of an issue's properties.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Property details are only returned where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssuePropertyKeys<T = PropertyKeys$2>(parameters: GetIssuePropertyKeys$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the key and value of an issue's property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssueProperty<T = EntityProperty$2>(parameters: GetIssueProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the key and value of an issue's property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssueProperty<T = EntityProperty$2>(parameters: GetIssueProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of an issue's property. Use this resource to store custom data against an issue.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    setIssueProperty<T = unknown>(parameters: SetIssueProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of an issue's property. Use this resource to store custom data against an issue.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    setIssueProperty<T = unknown>(parameters: SetIssueProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue's property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteIssueProperty<T = void>(parameters: DeleteIssueProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue's property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteIssueProperty<T = void>(parameters: DeleteIssueProperty$1, callback?: never): Promise<T>;
}

declare class IssueRemoteLinks$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that
     * global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL
     * characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1`
     * as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getRemoteIssueLinks<T = RemoteIssueLink$1[]>(parameters: GetRemoteIssueLinks$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that
     * global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL
     * characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1`
     * as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getRemoteIssueLinks<T = RemoteIssueLink$1[]>(parameters: GetRemoteIssueLinks$1 | string, callback?: never): Promise<T>;
    /**
     * Creates or updates a remote issue link for an issue.
     *
     * If a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without
     * values in the request are set to null. Otherwise, the remote issue link is created.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    createOrUpdateRemoteIssueLink<T = RemoteIssueLinkIdentifies$1>(parameters: CreateOrUpdateRemoteIssueLink$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates or updates a remote issue link for an issue.
     *
     * If a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without
     * values in the request are set to null. Otherwise, the remote issue link is created.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    createOrUpdateRemoteIssueLink<T = RemoteIssueLinkIdentifies$1>(parameters: CreateOrUpdateRemoteIssueLink$1, callback?: never): Promise<T>;
    /**
     * Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL
     * characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1`
     * as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security
     *   permission to view the issue.
     */
    deleteRemoteIssueLinkByGlobalId<T = void>(parameters: DeleteRemoteIssueLinkByGlobalId$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL
     * characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1`
     * as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security
     *   permission to view the issue.
     */
    deleteRemoteIssueLinkByGlobalId<T = void>(parameters: DeleteRemoteIssueLinkByGlobalId$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a remote issue link for an issue.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getRemoteIssueLinkById<T = RemoteIssueLink$1>(parameters: GetRemoteIssueLinkById$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a remote issue link for an issue.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getRemoteIssueLinkById<T = RemoteIssueLink$1>(parameters: GetRemoteIssueLinkById$1, callback?: never): Promise<T>;
    /**
     * Updates a remote issue link for an issue.
     *
     * Note: Fields without values in the request are set to null.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    updateRemoteIssueLink<T = void>(parameters: UpdateRemoteIssueLink$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a remote issue link for an issue.
     *
     * Note: Fields without values in the request are set to null.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    updateRemoteIssueLink<T = void>(parameters: UpdateRemoteIssueLink$1, callback?: never): Promise<T>;
    /**
     * Deletes a remote issue link from an issue.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_, _Edit issues_, and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for the project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteRemoteIssueLinkById<T = void>(parameters: DeleteRemoteIssueLinkById$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a remote issue link from an issue.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_, _Edit issues_, and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for the project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteRemoteIssueLinkById<T = void>(parameters: DeleteRemoteIssueLinkById$1, callback?: never): Promise<T>;
}

declare class IssueResolutions$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of all issue resolution values.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getResolutions<T = Resolution$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all issue resolution values.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getResolutions<T = Resolution$1[]>(callback?: never): Promise<T>;
    /**
     * Creates an issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createResolution<T = ResolutionId$1>(parameters: CreateResolution$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createResolution<T = ResolutionId$1>(parameters: CreateResolution$1, callback?: never): Promise<T>;
    /**
     * Sets default issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultResolution<T = void>(parameters: SetDefaultResolution$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets default issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultResolution<T = void>(parameters: SetDefaultResolution$1, callback?: never): Promise<T>;
    /**
     * Changes the order of issue resolutions.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveResolutions<T = void>(parameters: MoveResolutions$1, callback: Callback<T>): Promise<void>;
    /**
     * Changes the order of issue resolutions.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveResolutions<T = void>(parameters: MoveResolutions$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * resolutions. The list can contain all resolutions or a subset determined by any combination of these criteria:
     *
     * - A list of resolutions IDs.
     * - Whether the field configuration is a default. This returns resolutions from company-managed (classic) projects
     *   only, as there is no concept of default resolutions in team-managed projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    searchResolutions<T = PageResolution$1>(parameters: SearchResolutions$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * resolutions. The list can contain all resolutions or a subset determined by any combination of these criteria:
     *
     * - A list of resolutions IDs.
     * - Whether the field configuration is a default. This returns resolutions from company-managed (classic) projects
     *   only, as there is no concept of default resolutions in team-managed projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    searchResolutions<T = PageResolution$1>(parameters?: SearchResolutions$1, callback?: never): Promise<T>;
    /**
     * Returns an issue resolution value.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getResolution<T = Resolution$1>(parameters: GetResolution$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue resolution value.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getResolution<T = Resolution$1>(parameters: GetResolution$1, callback?: never): Promise<T>;
    /**
     * Updates an issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateResolution<T = void>(parameters: UpdateResolution$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateResolution<T = void>(parameters: UpdateResolution$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue resolution.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteResolution<T = unknown>(parameters: DeleteResolution$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue resolution.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteResolution<T = unknown>(parameters: DeleteResolution$1, callback?: never): Promise<T>;
}

declare class IssueSearch$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the
     * user is looking for an issue using a word or string.
     *
     * This operation returns two lists:
     *
     * - `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain
     *   the string in the `query` parameter.
     * - `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the
     *   `query` parameter.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getIssuePickerResource<T = IssuePickerSuggestions$1>(parameters: GetIssuePickerResource$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the
     * user is looking for an issue using a word or string.
     *
     * This operation returns two lists:
     *
     * - `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain
     *   the string in the `query` parameter.
     * - `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the
     *   `query` parameter.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getIssuePickerResource<T = IssuePickerSuggestions$1>(parameters?: GetIssuePickerResource$1, callback?: never): Promise<T>;
    /**
     * Checks whether one or more issues would be returned by one or more JQL queries.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, issues are only matched against JQL queries where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    matchIssues<T = IssueMatches$1>(parameters: MatchIssues$1, callback: Callback<T>): Promise<void>;
    /**
     * Checks whether one or more issues would be returned by one or more JQL queries.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None,
     * however, issues are only matched against JQL queries where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    matchIssues<T = IssueMatches$1>(parameters: MatchIssues$1, callback?: never): Promise<T>;
    /**
     * @deprecated Use {@link searchForIssuesUsingJqlEnhancedSearch} instead. This endpoint doesn't support newer features
     *   like read-after-write consistency.
     *
     *   Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   If the JQL query expression is too large to be encoded as a query parameter, use the
     *   [POST](#api-rest-api-2-search-post) version of this resource.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesUsingJql<T = SearchResults$2>(parameters: SearchForIssuesUsingJql$1, callback: Callback<T>): Promise<void>;
    /**
     * @deprecated Use {@link searchForIssuesUsingJqlEnhancedSearch} instead. This endpoint doesn't support newer features
     *   like read-after-write consistency.
     *
     *   Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   If the JQL query expression is too large to be encoded as a query parameter, use the
     *   [POST](#api-rest-api-2-search-post) version of this resource.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesUsingJql<T = SearchResults$2>(parameters: SearchForIssuesUsingJql$1, callback?: never): Promise<T>;
    /**
     * @deprecated Use {@link searchForIssuesUsingJqlEnhancedSearchPost} instead. This endpoint doesn't support newer
     *   features like read-after-write consistency.
     *
     *   Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   There is a [GET](#api-rest-api-2-search-get) version of this resource that can be used for smaller JQL query
     *   expressions.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesUsingJqlPost<T = SearchResults$2>(parameters: SearchForIssuesUsingJqlPost$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * @deprecated Use {@link searchForIssuesUsingJqlEnhancedSearchPost} instead. This endpoint doesn't support newer
     *   features like read-after-write consistency.
     *
     *   Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   There is a [GET](#api-rest-api-2-search-get) version of this resource that can be used for smaller JQL query
     *   expressions.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesUsingJqlPost<T = SearchResults$2>(parameters?: SearchForIssuesUsingJqlPost$1, callback?: never): Promise<T>;
    /**
     * Provide an estimated count of the issues that match the [JQL](https://confluence.atlassian.com/x/egORLQ). Recent
     * updates might not be immediately visible in the returned output. This endpoint requires JQL to be bounded.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    countIssues<T = JQLCount$1>(parameters: CountIssues$1, callback: Callback<T>): Promise<void>;
    /**
     * Provide an estimated count of the issues that match the [JQL](https://confluence.atlassian.com/x/egORLQ). Recent
     * updates might not be immediately visible in the returned output. This endpoint requires JQL to be bounded.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    countIssues<T = JQLCount$1>(parameters: CountIssues$1, callback?: never): Promise<T>;
    /**
     * @deprecated This endpoint is no longer supported and may be removed in a future version.
     *
     *   Searches for IDs of issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   Use the [Search](#api-rest-api-2-search-post) endpoint if you need to fetch more than just issue IDs. The Search
     *   endpoint returns more information, but may take much longer to respond to requests. This is because it uses a
     *   different mechanism for ordering results than this endpoint and doesn't provide the total number of results for
     *   your query.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesIds<T = IdSearchResults$1>(parameters: SearchForIssuesIds$1, callback: Callback<T>): Promise<void>;
    /**
     * @deprecated This endpoint is no longer supported and may be removed in a future version.
     *
     *   Searches for IDs of issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   Use the [Search](#api-rest-api-2-search-post) endpoint if you need to fetch more than just issue IDs. The Search
     *   endpoint returns more information, but may take much longer to respond to requests. This is because it uses a
     *   different mechanism for ordering results than this endpoint and doesn't provide the total number of results for
     *   your query.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesIds<T = IdSearchResults$1>(parameters: SearchForIssuesIds$1, callback?: never): Promise<T>;
    /**
     * Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ). Recent updates might not be immediately
     * visible in the returned search results. If you need
     * [read-after-write](https://developer.atlassian.com/cloud/jira/platform/search-and-reconcile/) consistency, you can
     * utilize the `reconcileIssues` parameter to ensure stronger consistency assurances. This operation can be accessed
     * anonymously.
     *
     * If the JQL query expression is too large to be encoded as a query parameter, use the
     * [POST](#api-rest-api-2-search-post) version of this resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    searchForIssuesUsingJqlEnhancedSearch<T = SearchAndReconcileResults$1>(parameters: SearchForIssuesUsingJqlEnhancedSearch$1, callback: Callback<T>): Promise<void>;
    /**
     * Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ). Recent updates might not be immediately
     * visible in the returned search results. If you need
     * [read-after-write](https://developer.atlassian.com/cloud/jira/platform/search-and-reconcile/) consistency, you can
     * utilize the `reconcileIssues` parameter to ensure stronger consistency assurances. This operation can be accessed
     * anonymously.
     *
     * If the JQL query expression is too large to be encoded as a query parameter, use the
     * [POST](#api-rest-api-2-search-post) version of this resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    searchForIssuesUsingJqlEnhancedSearch<T = SearchAndReconcileResults$1>(parameters: SearchForIssuesUsingJqlEnhancedSearch$1, callback?: never): Promise<T>;
    /**
     * Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ). Recent updates might not be immediately
     * visible in the returned search results. If you need
     * [read-after-write](https://developer.atlassian.com/cloud/jira/platform/search-and-reconcile/) consistency, you can
     * utilize the `reconcileIssues` parameter to ensure stronger consistency assurances. This operation can be accessed
     * anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    searchForIssuesUsingJqlEnhancedSearchPost<T = SearchAndReconcileResults$1>(parameters: SearchForIssuesUsingJqlEnhancedSearchPost$1, callback: Callback<T>): Promise<void>;
    /**
     * Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ). Recent updates might not be immediately
     * visible in the returned search results. If you need
     * [read-after-write](https://developer.atlassian.com/cloud/jira/platform/search-and-reconcile/) consistency, you can
     * utilize the `reconcileIssues` parameter to ensure stronger consistency assurances. This operation can be accessed
     * anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    searchForIssuesUsingJqlEnhancedSearchPost<T = SearchAndReconcileResults$1>(parameters: SearchForIssuesUsingJqlEnhancedSearchPost$1, callback?: never): Promise<T>;
}

declare class IssueSecurityLevel$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns issue security level members.
     *
     * Only issue security level members in context of classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueSecurityLevelMembers<T = PageIssueSecurityLevelMember$1>(parameters: GetIssueSecurityLevelMembers$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns issue security level members.
     *
     * Only issue security level members in context of classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueSecurityLevelMembers<T = PageIssueSecurityLevelMember$1>(parameters: GetIssueSecurityLevelMembers$1 | string, callback?: never): Promise<T>;
    /**
     * Returns details of an issue security level.
     *
     * Use [Get issue security scheme](#api-rest-api-2-issuesecurityschemes-id-get) to obtain the IDs of issue security
     * levels associated with the issue security scheme.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getIssueSecurityLevel<T = SecurityLevel$1>(parameters: GetIssueSecurityLevel$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns details of an issue security level.
     *
     * Use [Get issue security scheme](#api-rest-api-2-issuesecurityschemes-id-get) to obtain the IDs of issue security
     * levels associated with the issue security scheme.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getIssueSecurityLevel<T = SecurityLevel$1>(parameters: GetIssueSecurityLevel$1 | string, callback?: never): Promise<T>;
}

declare class IssueSecuritySchemes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueSecuritySchemes<T = SecuritySchemes$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueSecuritySchemes<T = SecuritySchemes$1>(callback?: never): Promise<T>;
    /**
     * Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme
     * levels and security scheme levels' members per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueSecurityScheme<T = SecuritySchemeId$1>(parameters: CreateIssueSecurityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme
     * levels and security scheme levels' members per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueSecurityScheme<T = SecuritySchemeId$1>(parameters: CreateIssueSecurityScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * security levels.
     *
     * Only issue security levels in the context of classic projects are returned.
     *
     * Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include
     * both specified issue security levels and all issue security levels from the specified schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSecurityLevels<T = PageSecurityLevel$1>(parameters: GetSecurityLevels$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * security levels.
     *
     * Only issue security levels in the context of classic projects are returned.
     *
     * Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include
     * both specified issue security levels and all issue security levels from the specified schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSecurityLevels<T = PageSecurityLevel$1>(parameters?: GetSecurityLevels$1, callback?: never): Promise<T>;
    /**
     * Sets default issue security levels for schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultLevels<T = void>(parameters: SetDefaultLevels$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sets default issue security levels for schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultLevels<T = void>(parameters?: SetDefaultLevels$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * security level members.
     *
     * Only issue security level members in the context of classic projects are returned.
     *
     * Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will
     * include all issue security level members from the specified schemes and levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSecurityLevelMembers<T = PageSecurityLevelMember$1>(parameters: GetSecurityLevelMembers$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * security level members.
     *
     * Only issue security level members in the context of classic projects are returned.
     *
     * Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will
     * include all issue security level members from the specified schemes and levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSecurityLevelMembers<T = PageSecurityLevelMember$1>(parameters?: GetSecurityLevelMembers$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) mapping of
     * projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs
     * to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the
     * context of classic projects are supported.
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchProjectsUsingSecuritySchemes<T = PageIssueSecuritySchemeToProjectMapping$1>(parameters: SearchProjectsUsingSecuritySchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) mapping of
     * projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs
     * to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the
     * context of classic projects are supported.
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchProjectsUsingSecuritySchemes<T = PageIssueSecuritySchemeToProjectMapping$1>(parameters?: SearchProjectsUsingSecuritySchemes$1, callback?: never): Promise<T>;
    /**
     * Associates an issue security scheme with a project and remaps security levels of issues to the new levels, if
     * provided.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    associateSchemesToProjects<T = TaskProgressObject$1>(parameters: AssociateSchemesToProjects$1, callback: Callback<T>): Promise<void>;
    /**
     * Associates an issue security scheme with a project and remaps security levels of issues to the new levels, if
     * provided.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    associateSchemesToProjects<T = TaskProgressObject$1>(parameters: AssociateSchemesToProjects$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * security schemes.\
     * If you specify the project ID parameter, the result will contain issue security schemes and related project IDs you
     * filter by. Use {@link IssueSecuritySchemeResource#searchProjectsUsingSecuritySchemes(String, String, Set, Set)} to
     * obtain all projects related to scheme.
     *
     * Only issue security schemes in the context of classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchSecuritySchemes<T = PageSecuritySchemeWithProjects$1>(parameters: SearchSecuritySchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * security schemes.\
     * If you specify the project ID parameter, the result will contain issue security schemes and related project IDs you
     * filter by. Use {@link IssueSecuritySchemeResource#searchProjectsUsingSecuritySchemes(String, String, Set, Set)} to
     * obtain all projects related to scheme.
     *
     * Only issue security schemes in the context of classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchSecuritySchemes<T = PageSecuritySchemeWithProjects$1>(parameters?: SearchSecuritySchemes$1, callback?: never): Promise<T>;
    /**
     * Returns an issue security scheme along with its security levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the
     *   requested issue security scheme.
     */
    getIssueSecurityScheme<T = SecurityScheme$1>(parameters: GetIssueSecurityScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue security scheme along with its security levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the
     *   requested issue security scheme.
     */
    getIssueSecurityScheme<T = SecurityScheme$1>(parameters: GetIssueSecurityScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Updates the issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueSecurityScheme<T = void>(parameters: UpdateIssueSecurityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueSecurityScheme<T = void>(parameters: UpdateIssueSecurityScheme$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteSecurityScheme<T = void>(parameters: DeleteSecurityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteSecurityScheme<T = void>(parameters: DeleteSecurityScheme$1, callback?: never): Promise<T>;
    /**
     * Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addSecurityLevel<T = void>(parameters: AddSecurityLevel$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addSecurityLevel<T = void>(parameters: AddSecurityLevel$1, callback?: never): Promise<T>;
    /**
     * Updates the issue security level.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateSecurityLevel<T = void>(parameters: UpdateSecurityLevel$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the issue security level.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateSecurityLevel<T = void>(parameters: UpdateSecurityLevel$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue security level.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeLevel<T = unknown>(parameters: RemoveLevel$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue security level.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeLevel<T = unknown>(parameters: RemoveLevel$1, callback?: never): Promise<T>;
    /**
     * Adds members to the issue security level. You can add up to 100 members per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addSecurityLevelMembers<T = void>(parameters: AddSecurityLevelMembers$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds members to the issue security level. You can add up to 100 members per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addSecurityLevelMembers<T = void>(parameters: AddSecurityLevelMembers$1, callback?: never): Promise<T>;
    /**
     * Removes an issue security level member from an issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeMemberFromSecurityLevel<T = void>(parameters: RemoveMemberFromSecurityLevel$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes an issue security level member from an issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeMemberFromSecurityLevel<T = void>(parameters: RemoveMemberFromSecurityLevel$1, callback?: never): Promise<T>;
}

declare class IssueTypeProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * keys of the issue type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any
     *   issue type.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any
     *   issue types associated with the projects the user has permission to browse.
     */
    getIssueTypePropertyKeys<T = PropertyKeys$2>(parameters: GetIssueTypePropertyKeys$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * keys of the issue type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any
     *   issue type.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any
     *   issue types associated with the projects the user has permission to browse.
     */
    getIssueTypePropertyKeys<T = PropertyKeys$2>(parameters: GetIssueTypePropertyKeys$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the key and value of the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue
     *   type.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue
     *   types associated with the projects the user has permission to browse.
     */
    getIssueTypeProperty<T = EntityProperty$2>(parameters: GetIssueTypeProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the key and value of the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue
     *   type.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue
     *   types associated with the projects the user has permission to browse.
     */
    getIssueTypeProperty<T = EntityProperty$2>(parameters: GetIssueTypeProperty$1, callback?: never): Promise<T>;
    /**
     * Creates or updates the value of the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     * Use this resource to store and update data against an issue type.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setIssueTypeProperty<T = unknown>(parameters: SetIssueTypeProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates or updates the value of the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     * Use this resource to store and update data against an issue type.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setIssueTypeProperty<T = unknown>(parameters: SetIssueTypeProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeProperty<T = void>(parameters: DeleteIssueTypeProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeProperty<T = void>(parameters: DeleteIssueTypeProperty$1, callback?: never): Promise<T>;
}

declare class IssueTypeSchemes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type schemes.
     *
     * Only issue type schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllIssueTypeSchemes<T = PageIssueTypeScheme$1>(parameters: GetAllIssueTypeSchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type schemes.
     *
     * Only issue type schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllIssueTypeSchemes<T = PageIssueTypeScheme$1>(parameters?: GetAllIssueTypeSchemes$1, callback?: never): Promise<T>;
    /**
     * Creates an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeScheme<T = IssueTypeSchemeID$1>(parameters: CreateIssueTypeScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeScheme<T = IssueTypeSchemeID$1>(parameters: CreateIssueTypeScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type scheme items.
     *
     * Only issue type scheme items used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeSchemesMapping<T = PageIssueTypeSchemeMapping$1>(parameters: GetIssueTypeSchemesMapping$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type scheme items.
     *
     * Only issue type scheme items used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeSchemesMapping<T = PageIssueTypeSchemeMapping$1>(parameters?: GetIssueTypeSchemesMapping$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type schemes and, for each issue type scheme, a list of the projects that use it.
     *
     * Only issue type schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeSchemeForProjects<T = PageIssueTypeSchemeProjects$1>(parameters: GetIssueTypeSchemeForProjects$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type schemes and, for each issue type scheme, a list of the projects that use it.
     *
     * Only issue type schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeSchemeForProjects<T = PageIssueTypeSchemeProjects$1>(parameters: GetIssueTypeSchemeForProjects$1, callback?: never): Promise<T>;
    /**
     * Assigns an issue type scheme to a project.
     *
     * If any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To
     * complete the assignment those issues must be updated to use issue types in the new scheme.
     *
     * Issue type schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignIssueTypeSchemeToProject<T = void>(parameters: AssignIssueTypeSchemeToProject$1, callback: Callback<T>): Promise<void>;
    /**
     * Assigns an issue type scheme to a project.
     *
     * If any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To
     * complete the assignment those issues must be updated to use issue types in the new scheme.
     *
     * Issue type schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignIssueTypeSchemeToProject<T = void>(parameters: AssignIssueTypeSchemeToProject$1, callback?: never): Promise<T>;
    /**
     * Updates an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueTypeScheme<T = void>(parameters: UpdateIssueTypeScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueTypeScheme<T = void>(parameters: UpdateIssueTypeScheme$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue type scheme.
     *
     * Only issue type schemes used in classic projects can be deleted.
     *
     * Any projects assigned to the scheme are reassigned to the default issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeScheme<T = void>(parameters: DeleteIssueTypeScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue type scheme.
     *
     * Only issue type schemes used in classic projects can be deleted.
     *
     * Any projects assigned to the scheme are reassigned to the default issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeScheme<T = void>(parameters: DeleteIssueTypeScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Adds issue types to an issue type scheme.
     *
     * The added issue types are appended to the issue types list.
     *
     * If any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addIssueTypesToIssueTypeScheme<T = void>(parameters: AddIssueTypesToIssueTypeScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds issue types to an issue type scheme.
     *
     * The added issue types are appended to the issue types list.
     *
     * If any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addIssueTypesToIssueTypeScheme<T = void>(parameters: AddIssueTypesToIssueTypeScheme$1, callback?: never): Promise<T>;
    /**
     * Changes the order of issue types in an issue type scheme.
     *
     * The request body parameters must meet the following requirements:
     *
     * - All of the issue types must belong to the issue type scheme.
     * - Either `after` or `position` must be provided.
     * - The issue type in `after` must not be in the issue type list.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    reorderIssueTypesInIssueTypeScheme<T = void>(parameters: ReorderIssueTypesInIssueTypeScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Changes the order of issue types in an issue type scheme.
     *
     * The request body parameters must meet the following requirements:
     *
     * - All of the issue types must belong to the issue type scheme.
     * - Either `after` or `position` must be provided.
     * - The issue type in `after` must not be in the issue type list.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    reorderIssueTypesInIssueTypeScheme<T = void>(parameters: ReorderIssueTypesInIssueTypeScheme$1, callback?: never): Promise<T>;
    /**
     * Removes an issue type from an issue type scheme.
     *
     * This operation cannot remove:
     *
     * - Any issue type used by issues.
     * - Any issue types from the default issue type scheme.
     * - The last standard issue type from an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypeFromIssueTypeScheme<T = void>(parameters: RemoveIssueTypeFromIssueTypeScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes an issue type from an issue type scheme.
     *
     * This operation cannot remove:
     *
     * - Any issue type used by issues.
     * - Any issue types from the default issue type scheme.
     * - The last standard issue type from an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypeFromIssueTypeScheme<T = void>(parameters: RemoveIssueTypeFromIssueTypeScheme$1, callback?: never): Promise<T>;
}

declare class IssueTypeScreenSchemes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type screen schemes.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemes<T = PageIssueTypeScreenScheme$1>(parameters: GetIssueTypeScreenSchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type screen schemes.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemes<T = PageIssueTypeScreenScheme$1>(parameters?: GetIssueTypeScreenSchemes$1, callback?: never): Promise<T>;
    /**
     * Creates an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeScreenScheme<T = IssueTypeScreenSchemeId$1>(parameters: CreateIssueTypeScreenScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeScreenScheme<T = IssueTypeScreenSchemeId$1>(parameters: CreateIssueTypeScreenScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type screen scheme items.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemeMappings<T = PageIssueTypeScreenSchemeItem$1>(parameters: GetIssueTypeScreenSchemeMappings$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type screen scheme items.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemeMappings<T = PageIssueTypeScreenSchemeItem$1>(parameters?: GetIssueTypeScreenSchemeMappings$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type screen schemes and, for each issue type screen scheme, a list of the projects that use it.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemeProjectAssociations<T = PageIssueTypeScreenSchemesProjects$1>(parameters: GetIssueTypeScreenSchemeProjectAssociations$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of issue
     * type screen schemes and, for each issue type screen scheme, a list of the projects that use it.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemeProjectAssociations<T = PageIssueTypeScreenSchemesProjects$1>(parameters: GetIssueTypeScreenSchemeProjectAssociations$1, callback?: never): Promise<T>;
    /**
     * Assigns an issue type screen scheme to a project.
     *
     * Issue type screen schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignIssueTypeScreenSchemeToProject<T = void>(parameters: AssignIssueTypeScreenSchemeToProject$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Assigns an issue type screen scheme to a project.
     *
     * Issue type screen schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignIssueTypeScreenSchemeToProject<T = void>(parameters?: AssignIssueTypeScreenSchemeToProject$1, callback?: never): Promise<T>;
    /**
     * Updates an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueTypeScreenScheme<T = void>(parameters: UpdateIssueTypeScreenScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueTypeScreenScheme<T = void>(parameters: UpdateIssueTypeScreenScheme$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeScreenScheme<T = void>(parameters: DeleteIssueTypeScreenScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeScreenScheme<T = void>(parameters: DeleteIssueTypeScreenScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Appends issue type to screen scheme mappings to an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    appendMappingsForIssueTypeScreenScheme<T = void>(parameters: AppendMappingsForIssueTypeScreenScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Appends issue type to screen scheme mappings to an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    appendMappingsForIssueTypeScreenScheme<T = void>(parameters: AppendMappingsForIssueTypeScreenScheme$1, callback?: never): Promise<T>;
    /**
     * Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all
     * unmapped issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultScreenScheme<T = void>(parameters: UpdateDefaultScreenScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all
     * unmapped issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultScreenScheme<T = void>(parameters: UpdateDefaultScreenScheme$1, callback?: never): Promise<T>;
    /**
     * Removes issue type to screen scheme mappings from an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeMappingsFromIssueTypeScreenScheme<T = void>(parameters: RemoveMappingsFromIssueTypeScreenScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes issue type to screen scheme mappings from an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeMappingsFromIssueTypeScreenScheme<T = void>(parameters: RemoveMappingsFromIssueTypeScreenScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * projects associated with an issue type screen scheme.
     *
     * Only company-managed projects associated with an issue type screen scheme are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectsForIssueTypeScreenScheme<T = PageProjectDetails$1>(parameters: GetProjectsForIssueTypeScreenScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * projects associated with an issue type screen scheme.
     *
     * Only company-managed projects associated with an issue type screen scheme are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectsForIssueTypeScreenScheme<T = PageProjectDetails$1>(parameters: GetProjectsForIssueTypeScreenScheme$1 | string, callback?: never): Promise<T>;
}

declare class IssueTypes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all issue types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issue
     * types are only returned as follows:
     *
     * - If the user has the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue
     *   types are returned.
     * - If the user has the _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or
     *   more projects, the issue types associated with the projects the user has permission to browse are returned.
     * - If the user is anonymous then they will be able to access projects with the _Browse projects_ for anonymous users
     * - If the user authentication is incorrect they will fall back to anonymous
     */
    getIssueAllTypes<T = IssueTypeDetails$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all issue types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issue
     * types are only returned as follows:
     *
     * - If the user has the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue
     *   types are returned.
     * - If the user has the _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or
     *   more projects, the issue types associated with the projects the user has permission to browse are returned.
     * - If the user is anonymous then they will be able to access projects with the _Browse projects_ for anonymous users
     * - If the user authentication is incorrect they will fall back to anonymous
     */
    getIssueAllTypes<T = IssueTypeDetails$1[]>(callback?: never): Promise<T>;
    /**
     * Creates an issue type and adds it to the default issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueType<T = IssueTypeDetails$1>(parameters: CreateIssueType$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue type and adds it to the default issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueType<T = IssueTypeDetails$1>(parameters: CreateIssueType$1, callback?: never): Promise<T>;
    /**
     * Returns issue types for a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypesForProject<T = IssueTypeDetails$1[]>(parameters: GetIssueTypesForProject$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns issue types for a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypesForProject<T = IssueTypeDetails$1[]>(parameters: GetIssueTypesForProject$1, callback?: never): Promise<T>;
    /**
     * Returns an issue type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated
     * with or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueType<T = IssueTypeDetails$1>(parameters: GetIssueType$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated
     * with or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueType<T = IssueTypeDetails$1>(parameters: GetIssueType$1 | string, callback?: never): Promise<T>;
    /**
     * Updates the issue type.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueType<T = IssueTypeDetails$1>(parameters: UpdateIssueType$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the issue type.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueType<T = IssueTypeDetails$1>(parameters: UpdateIssueType$1, callback?: never): Promise<T>;
    /**
     * Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type
     * (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue
     * types](#api-rest-api-2-issuetype-id-alternatives-get) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueType<T = void>(parameters: DeleteIssueType$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type
     * (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue
     * types](#api-rest-api-2-issuetype-id-alternatives-get) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueType<T = void>(parameters: DeleteIssueType$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those
     * assigned to the same workflow scheme, field configuration scheme, and screen scheme.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAlternativeIssueTypes<T = IssueTypeDetails$1[]>(parameters: GetAlternativeIssueTypes$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those
     * assigned to the same workflow scheme, field configuration scheme, and screen scheme.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAlternativeIssueTypes<T = IssueTypeDetails$1[]>(parameters: GetAlternativeIssueTypes$1 | string, callback?: never): Promise<T>;
    /**
     * Loads an avatar for the issue type.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar, use [ Update issue
     * type](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-types/#api-rest-api-2-issuetype-id-put)
     * to set it as the issue type's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeAvatar<T = Avatar$1>(parameters: CreateIssueTypeAvatar$1, callback: Callback<T>): Promise<void>;
    /**
     * Loads an avatar for the issue type.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar, use [ Update issue
     * type](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issue-types/#api-rest-api-2-issuetype-id-put)
     * to set it as the issue type's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeAvatar<T = Avatar$1>(parameters: CreateIssueTypeAvatar$1, callback?: never): Promise<T>;
}

declare class IssueVotes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns details about the votes on an issue.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   ini
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * Note that users with the necessary permissions for this operation but without the _View voters and watchers_
     * project permissions are not returned details in the `voters` field.
     */
    getVotes<T = Votes$1>(parameters: GetVotes$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns details about the votes on an issue.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   ini
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * Note that users with the necessary permissions for this operation but without the _View voters and watchers_
     * project permissions are not returned details in the `voters` field.
     */
    getVotes<T = Votes$1>(parameters: GetVotes$1 | string, callback?: never): Promise<T>;
    /**
     * Adds the user's vote to an issue. This is the equivalent of the user clicking _Vote_ on an issue in Jira.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addVote<T = void>(parameters: AddVote$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Adds the user's vote to an issue. This is the equivalent of the user clicking _Vote_ on an issue in Jira.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addVote<T = void>(parameters: AddVote$1 | string, callback?: never): Promise<T>;
    /**
     * Deletes a user's vote from an issue. This is the equivalent of the user clicking _Unvote_ on an issue in Jira.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    removeVote<T = void>(parameters: RemoveVote$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a user's vote from an issue. This is the equivalent of the user clicking _Unvote_ on an issue in Jira.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    removeVote<T = void>(parameters: RemoveVote$1 | string, callback?: never): Promise<T>;
}

declare class IssueWatchers$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns, for the user, details of the watched status of issues from a list. If an issue ID is invalid, the returned
     * watched status is `false`.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIsWatchingIssueBulk<T = BulkIssueIsWatching$1>(parameters: GetIsWatchingIssueBulk$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns, for the user, details of the watched status of issues from a list. If an issue ID is invalid, the returned
     * watched status is `false`.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIsWatchingIssueBulk<T = BulkIssueIsWatching$1>(parameters?: GetIsWatchingIssueBulk$1, callback?: never): Promise<T>;
    /**
     * Returns the watchers for an issue.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   ini
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To see details of users on the watchlist other than themselves, _View voters and watchers_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    getIssueWatchers<T = Watchers$1>(parameters: GetIssueWatchers$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the watchers for an issue.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   ini
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To see details of users on the watchlist other than themselves, _View voters and watchers_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    getIssueWatchers<T = Watchers$1>(parameters: GetIssueWatchers$1 | string, callback?: never): Promise<T>;
    /**
     * Adds a user as a watcher of an issue by passing the account ID of the user. For example,
     * `"5b10ac8d82e05b22cc7d4ef5"`. If no user is specified the calling user is added.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To add users other than themselves to the watchlist, _Manage watcher list_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    addWatcher<T = void>(parameters: AddWatcher$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds a user as a watcher of an issue by passing the account ID of the user. For example,
     * `"5b10ac8d82e05b22cc7d4ef5"`. If no user is specified the calling user is added.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To add users other than themselves to the watchlist, _Manage watcher list_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    addWatcher<T = void>(parameters: AddWatcher$1, callback?: never): Promise<T>;
    /**
     * Deletes a user as a watcher of an issue.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To remove users other than themselves from the watchlist, _Manage watcher list_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    removeWatcher<T = void>(parameters: RemoveWatcher$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a user as a watcher of an issue.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To remove users other than themselves from the watchlist, _Manage watcher list_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    removeWatcher<T = void>(parameters: RemoveWatcher$1, callback?: never): Promise<T>;
}

declare class IssueWorklogProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the keys of all properties for a worklog.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklogPropertyKeys<T = PropertyKeys$2>(parameters: GetWorklogPropertyKeys$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for a worklog.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklogPropertyKeys<T = PropertyKeys$2>(parameters: GetWorklogPropertyKeys$1, callback?: never): Promise<T>;
    /**
     * Returns the value of a worklog property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklogProperty<T = EntityProperty$2>(parameters: GetWorklogProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a worklog property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklogProperty<T = EntityProperty$2>(parameters: GetWorklogProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of a worklog property. Use this operation to store custom data against the worklog.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
     *   own worklogs_ to update worklogs created by the user.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    setWorklogProperty<T = unknown>(parameters: SetWorklogProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a worklog property. Use this operation to store custom data against the worklog.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
     *   own worklogs_ to update worklogs created by the user.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    setWorklogProperty<T = unknown>(parameters: SetWorklogProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes a worklog property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    deleteWorklogProperty<T = void>(parameters: DeleteWorklogProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a worklog property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    deleteWorklogProperty<T = void>(parameters: DeleteWorklogProperty$1, callback?: never): Promise<T>;
}

declare class IssueWorklogs$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns worklogs for an issue (ordered by created time), starting from the oldest worklog or from the worklog
     * started on or after a date and time.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Workloads are only returned where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getIssueWorklog<T = PageOfWorklogs$1>(parameters: GetIssueWorklog$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns worklogs for an issue (ordered by created time), starting from the oldest worklog or from the worklog
     * started on or after a date and time.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Workloads are only returned where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getIssueWorklog<T = PageOfWorklogs$1>(parameters: GetIssueWorklog$1 | string, callback?: never): Promise<T>;
    /**
     * Adds a worklog to an issue.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Work on issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addWorklog<T = Worklog$1>(parameters: AddWorklog$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds a worklog to an issue.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Work on issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addWorklog<T = Worklog$1>(parameters: AddWorklog$1, callback?: never): Promise<T>;
    /**
     * Deletes a list of worklogs from an issue. This is an experimental API with limitations:
     *
     * - You can't delete more than 5000 worklogs at once.
     * - No notifications will be sent for deleted worklogs.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog.
     * - If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    bulkDeleteWorklogs<T = void>(parameters: BulkDeleteWorklogs$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a list of worklogs from an issue. This is an experimental API with limitations:
     *
     * - You can't delete more than 5000 worklogs at once.
     * - No notifications will be sent for deleted worklogs.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog.
     * - If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    bulkDeleteWorklogs<T = void>(parameters: BulkDeleteWorklogs$1, callback?: never): Promise<T>;
    /**
     * Moves a list of worklogs from one issue to another. This is an experimental API with several limitations:
     *
     * - You can't move more than 5000 worklogs at once.
     * - You can't move worklogs containing an attachment.
     * - You can't move worklogs restricted by project roles.
     * - No notifications will be sent for moved worklogs.
     * - No webhooks or events will be sent for moved worklogs.
     * - No issue history will be recorded for moved worklogs.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects containing the
     *   source and destination issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ and _Edit all worklogs_](https://confluence.atlassian.com/x/yodKLg)[project
     *   permission](https://confluence.atlassian.com/x/yodKLg)
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    bulkMoveWorklogs<T = void>(parameters: BulkMoveWorklogs$1, callback: Callback<T>): Promise<void>;
    /**
     * Moves a list of worklogs from one issue to another. This is an experimental API with several limitations:
     *
     * - You can't move more than 5000 worklogs at once.
     * - You can't move worklogs containing an attachment.
     * - You can't move worklogs restricted by project roles.
     * - No notifications will be sent for moved worklogs.
     * - No webhooks or events will be sent for moved worklogs.
     * - No issue history will be recorded for moved worklogs.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects containing the
     *   source and destination issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ and _Edit all worklogs_](https://confluence.atlassian.com/x/yodKLg)[project
     *   permission](https://confluence.atlassian.com/x/yodKLg)
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    bulkMoveWorklogs<T = void>(parameters: BulkMoveWorklogs$1, callback?: never): Promise<T>;
    /**
     * Returns a worklog.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklog<T = Worklog$1>(parameters: GetWorklog$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a worklog.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklog<T = Worklog$1>(parameters: GetWorklog$1, callback?: never): Promise<T>;
    /**
     * Updates a worklog.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
     *   own worklogs_ to update worklogs created by the user.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    updateWorklog<T = Worklog$1>(parameters: UpdateWorklog$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a worklog.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
     *   own worklogs_ to update worklogs created by the user.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    updateWorklog<T = Worklog$1>(parameters: UpdateWorklog$1, callback?: never): Promise<T>;
    /**
     * Deletes a worklog from an issue.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or
     *   _Delete own worklogs_ to delete worklogs created by the user,
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    deleteWorklog<T = void>(parameters: DeleteWorklog$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a worklog from an issue.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or
     *   _Delete own worklogs_ to delete worklogs created by the user,
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    deleteWorklog<T = void>(parameters: DeleteWorklog$1, callback?: never): Promise<T>;
    /**
     * Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.
     *
     * This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
     * youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
     * item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
     * to true on the last page of worklogs.
     *
     * This resource does not return worklogs deleted during the minute preceding the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getIdsOfWorklogsDeletedSince<T = ChangedWorklogs$1>(parameters: GetIdsOfWorklogsDeletedSince$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.
     *
     * This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
     * youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
     * item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
     * to true on the last page of worklogs.
     *
     * This resource does not return worklogs deleted during the minute preceding the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getIdsOfWorklogsDeletedSince<T = ChangedWorklogs$1>(parameters?: GetIdsOfWorklogsDeletedSince$1, callback?: never): Promise<T>;
    /**
     * Returns worklog details for a list of worklog IDs.
     *
     * The returned list of worklogs is limited to 1000 items.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, worklogs are only returned where either of the following is true:
     *
     * - The worklog is set as _Viewable by All Users_.
     * - The user is a member of a project role or group with permission to view the worklog.
     */
    getWorklogsForIds<T = Worklog$1[]>(parameters: GetWorklogsForIds$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns worklog details for a list of worklog IDs.
     *
     * The returned list of worklogs is limited to 1000 items.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, worklogs are only returned where either of the following is true:
     *
     * - The worklog is set as _Viewable by All Users_.
     * - The user is a member of a project role or group with permission to view the worklog.
     */
    getWorklogsForIds<T = Worklog$1[]>(parameters?: GetWorklogsForIds$1, callback?: never): Promise<T>;
    /**
     * Returns a list of IDs and update timestamps for worklogs updated after a date and time.
     *
     * This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
     * youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
     * item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
     * to true on the last page of worklogs.
     *
     * This resource does not return worklogs updated during the minute preceding the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, worklogs are only returned where either of the following is true:
     *
     * - The worklog is set as _Viewable by All Users_.
     * - The user is a member of a project role or group with permission to view the worklog.
     */
    getIdsOfWorklogsModifiedSince<T = ChangedWorklogs$1>(parameters: GetIdsOfWorklogsModifiedSince$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of IDs and update timestamps for worklogs updated after a date and time.
     *
     * This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
     * youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
     * item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
     * to true on the last page of worklogs.
     *
     * This resource does not return worklogs updated during the minute preceding the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira, however, worklogs are only returned where either of the following is true:
     *
     * - The worklog is set as _Viewable by All Users_.
     * - The user is a member of a project role or group with permission to view the worklog.
     */
    getIdsOfWorklogsModifiedSince<T = ChangedWorklogs$1>(parameters?: GetIdsOfWorklogsModifiedSince$1, callback?: never): Promise<T>;
}

declare class Issues$1 {
    private client;
    constructor(client: Client);
    /**
     * Bulk fetch changelogs for multiple issues and filter by fields
     *
     * Returns a paginated list of all changelogs for given issues sorted by changelog date and issue IDs, starting from
     * the oldest changelog and smallest issue ID.
     *
     * Issues are identified by their ID or key, and optionally changelogs can be filtered by their field IDs. You can
     * request the changelogs of up to 1000 issues and can filter them by up to 10 field IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects that the issues
     *   are in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issues.
     */
    getBulkChangelogs<T = BulkChangelog$1>(parameters: GetBulkChangelogs$1, callback: Callback<T>): Promise<void>;
    /**
     * Bulk fetch changelogs for multiple issues and filter by fields
     *
     * Returns a paginated list of all changelogs for given issues sorted by changelog date and issue IDs, starting from
     * the oldest changelog and smallest issue ID.
     *
     * Issues are identified by their ID or key, and optionally changelogs can be filtered by their field IDs. You can
     * request the changelogs of up to 1000 issues and can filter them by up to 10 field IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects that the issues
     *   are in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issues.
     */
    getBulkChangelogs<T = BulkChangelog$1>(parameters: GetBulkChangelogs$1, callback?: never): Promise<T>;
    /**
     * Returns all issue events.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getEvents<T = IssueEvent$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all issue events.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getEvents<T = IssueEvent$1[]>(callback?: never): Promise<T>;
    /**
     * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be
     * applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties
     * set.
     *
     * The content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue
     * or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are
     * the same fields that appear on the issue's create screen.
     *
     * Creating a subtask differs from creating an issue as follows:
     *
     * - `issueType` must be set to a subtask issue type (use [ Get create issue
     *   metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).
     * - `parent` must contain the ID or key of the parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ and _Create issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in
     * which the issue or subtask is created.
     */
    createIssue<T = CreatedIssue$1>(parameters: CreateIssue$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be
     * applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties
     * set.
     *
     * The content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue
     * or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are
     * the same fields that appear on the issue's create screen.
     *
     * Creating a subtask differs from creating an issue as follows:
     *
     * - `issueType` must be set to a subtask issue type (use [ Get create issue
     *   metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).
     * - `parent` must contain the ID or key of the parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ and _Create issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in
     * which the issue or subtask is created.
     */
    createIssue<T = CreatedIssue$1>(parameters: CreateIssue$1, callback?: never): Promise<T>;
    /**
     * Enables admins to archive up to 100,000 issues in a single request using JQL, returning the URL to check the status
     * of the submitted request.
     *
     * You can use the [get
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-tasks/#api-rest-api-2-task-taskid-get)
     * and [cancel
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-tasks/#api-rest-api-2-task-taskid-cancel-post)
     * APIs to manage the request.
     *
     * **Note that:**
     *
     * - You can't archive subtasks directly, only through their parent issues
     * - You can only archive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     *
     * **Rate limiting:** Only a single request per jira instance can be active at any given time.
     */
    archiveIssuesAsync<T = string>(parameters: ArchiveIssuesAsync$1, callback: Callback<T>): Promise<void>;
    /**
     * Enables admins to archive up to 100,000 issues in a single request using JQL, returning the URL to check the status
     * of the submitted request.
     *
     * You can use the [get
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-tasks/#api-rest-api-2-task-taskid-get)
     * and [cancel
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-tasks/#api-rest-api-2-task-taskid-cancel-post)
     * APIs to manage the request.
     *
     * **Note that:**
     *
     * - You can't archive subtasks directly, only through their parent issues
     * - You can only archive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     *
     * **Rate limiting:** Only a single request per jira instance can be active at any given time.
     */
    archiveIssuesAsync<T = string>(parameters: ArchiveIssuesAsync$1, callback?: never): Promise<T>;
    /**
     * Enables admins to archive up to 1000 issues in a single request using issue ID/key, returning details of the
     * issue(s) archived in the process and the errors encountered, if any.
     *
     * **Note that:**
     *
     * - You can't archive subtasks directly, only through their parent issues
     * - You can only archive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     */
    archiveIssues<T = IssueArchivalSync$1>(parameters: ArchiveIssues$1, callback: Callback<T>): Promise<void>;
    /**
     * Enables admins to archive up to 1000 issues in a single request using issue ID/key, returning details of the
     * issue(s) archived in the process and the errors encountered, if any.
     *
     * **Note that:**
     *
     * - You can't archive subtasks directly, only through their parent issues
     * - You can only archive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     */
    archiveIssues<T = IssueArchivalSync$1>(parameters: ArchiveIssues$1, callback?: never): Promise<T>;
    /**
     * Creates upto **50** issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may
     * be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue
     * properties set.
     *
     * The content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the
     * issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These
     * are the same fields that appear on the issues' create screens.
     *
     * Creating a subtask differs from creating an issue as follows:
     *
     * - `issueType` must be set to a subtask issue type (use [ Get create issue
     *   metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).
     * - `parent` the must contain the ID or key of the parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ and _Create issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in
     * which each issue or subtask is created.
     */
    createIssues<T = CreatedIssues$1>(parameters: CreateIssues$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Creates upto **50** issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may
     * be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue
     * properties set.
     *
     * The content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the
     * issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These
     * are the same fields that appear on the issues' create screens.
     *
     * Creating a subtask differs from creating an issue as follows:
     *
     * - `issueType` must be set to a subtask issue type (use [ Get create issue
     *   metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).
     * - `parent` the must contain the ID or key of the parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ and _Create issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in
     * which each issue or subtask is created.
     */
    createIssues<T = CreatedIssues$1>(parameters?: CreateIssues$1, callback?: never): Promise<T>;
    /**
     * Returns the details for a set of requested issues. You can request up to 100 issues.
     *
     * Each issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive
     * search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or
     * other redirect is **not** returned.
     *
     * Issues will be returned in ascending `id` order. If there are errors, Jira will return a list of issues which
     * couldn't be fetched along with error messages.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkFetchIssues<T = BulkIssue$1>(parameters: BulkFetchIssues$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the details for a set of requested issues. You can request up to 100 issues.
     *
     * Each issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive
     * search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or
     * other redirect is **not** returned.
     *
     * Issues will be returned in ascending `id` order. If there are errors, Jira will return a list of issues which
     * couldn't be fetched along with error messages.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkFetchIssues<T = BulkIssue$1>(parameters: BulkFetchIssues$1, callback?: never): Promise<T>;
    /**
     * @deprecated Returns details of projects, issue types within projects, and, when requested, the create screen fields
     *   for each issue type for the user. Use the information to populate the requests in [ Create
     *   issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).
     *
     *   Deprecated, see [Create Issue Meta Endpoint Deprecation
     *   Notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1304).
     *
     *   The request can be restricted to specific projects or issue types using the query parameters. The response will
     *   contain information for the valid projects, issue types, or project and issue type combinations requested. Note
     *   that invalid project, issue type, or project and issue type combinations do not generate errors.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Create
     *   issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMeta<T = IssueCreateMetadata$1>(parameters: GetCreateIssueMeta$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * @deprecated Returns details of projects, issue types within projects, and, when requested, the create screen fields
     *   for each issue type for the user. Use the information to populate the requests in [ Create
     *   issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).
     *
     *   Deprecated, see [Create Issue Meta Endpoint Deprecation
     *   Notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1304).
     *
     *   The request can be restricted to specific projects or issue types using the query parameters. The response will
     *   contain information for the valid projects, issue types, or project and issue type combinations requested. Note
     *   that invalid project, issue type, or project and issue type combinations do not generate errors.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Create
     *   issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMeta<T = IssueCreateMetadata$1>(parameters?: GetCreateIssueMeta$1, callback?: never): Promise<T>;
    /**
     * Returns a page of issue type metadata for a specified project. Use the information to populate the requests in [
     * Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Create
     * issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMetaIssueTypes<T = PageOfCreateMetaIssueTypes$1>(parameters: GetCreateIssueMetaIssueTypes$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a page of issue type metadata for a specified project. Use the information to populate the requests in [
     * Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Create
     * issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMetaIssueTypes<T = PageOfCreateMetaIssueTypes$1>(parameters: GetCreateIssueMetaIssueTypes$1, callback?: never): Promise<T>;
    /**
     * Returns a page of field metadata for a specified project and issuetype id. Use the information to populate the
     * requests in [ Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Create
     * issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMetaIssueTypeId<T = PageOfCreateMetaIssueTypeWithField$1>(parameters: GetCreateIssueMetaIssueTypeId$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a page of field metadata for a specified project and issuetype id. Use the information to populate the
     * requests in [ Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Create
     * issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMetaIssueTypeId<T = PageOfCreateMetaIssueTypeWithField$1>(parameters: GetCreateIssueMetaIssueTypeId$1, callback?: never): Promise<T>;
    /**
     * Returns all issues breaching and approaching per-issue limits.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) is required for the project the
     *   issues are in. Results may be incomplete otherwise
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueLimitReport<T = IssueLimitReport$1>(parameters: GetIssueLimitReport$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues breaching and approaching per-issue limits.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) is required for the project the
     *   issues are in. Results may be incomplete otherwise
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueLimitReport<T = IssueLimitReport$1>(parameters?: GetIssueLimitReport$1, callback?: never): Promise<T>;
    /**
     * Enables admins to unarchive up to 1000 issues in a single request using issue ID/key, returning details of the
     * issue(s) unarchived in the process and the errors encountered, if any.
     *
     * **Note that:**
     *
     * - You can't unarchive subtasks directly, only through their parent issues
     * - You can only unarchive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     */
    unarchiveIssues<T = IssueArchivalSync$1>(parameters: UnarchiveIssues$1, callback: Callback<T>): Promise<void>;
    /**
     * Enables admins to unarchive up to 1000 issues in a single request using issue ID/key, returning details of the
     * issue(s) unarchived in the process and the errors encountered, if any.
     *
     * **Note that:**
     *
     * - You can't unarchive subtasks directly, only through their parent issues
     * - You can only unarchive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     */
    unarchiveIssues<T = IssueArchivalSync$1>(parameters: UnarchiveIssues$1, callback?: never): Promise<T>;
    /**
     * Returns the details for an issue.
     *
     * The issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive
     * search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or
     * other redirect is **not** returned. The issue key returned in the response is the key of the issue found.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssue<T = Issue$4>(parameters: GetIssue$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the details for an issue.
     *
     * The issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive
     * search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or
     * other redirect is **not** returned. The issue key returned in the response is the key of the issue found.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssue<T = Issue$4>(parameters: GetIssue$1 | string, callback?: never): Promise<T>;
    /**
     * Edits an issue. Issue properties may be updated as part of the edit. Please note that issue transition is not
     * supported and is ignored here. To transition an issue, please use [Transition
     * issue](#api-rest-api-2-issue-issueIdOrKey-transitions-post).
     *
     * The edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are
     * determined using [ Get edit issue metadata](#api-rest-api-2-issue-issueIdOrKey-editmeta-get).
     *
     * The parent field may be set by key or ID. For standard issue types, the parent may be removed by setting
     * `update.parent.set.none` to _true_.
     *
     * Connect apps having an app user with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), can override the screen security
     * configuration using `overrideScreenSecurity` and `overrideEditableFlag`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    editIssue<T = void>(parameters: EditIssue$1, callback: Callback<T>): Promise<void>;
    /**
     * Edits an issue. Issue properties may be updated as part of the edit. Please note that issue transition is not
     * supported and is ignored here. To transition an issue, please use [Transition
     * issue](#api-rest-api-2-issue-issueIdOrKey-transitions-post).
     *
     * The edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are
     * determined using [ Get edit issue metadata](#api-rest-api-2-issue-issueIdOrKey-editmeta-get).
     *
     * The parent field may be set by key or ID. For standard issue types, the parent may be removed by setting
     * `update.parent.set.none` to _true_.
     *
     * Connect apps having an app user with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), can override the screen security
     * configuration using `overrideScreenSecurity` and `overrideEditableFlag`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    editIssue<T = void>(parameters: EditIssue$1, callback?: never): Promise<T>;
    /**
     * Deletes an issue.
     *
     * An issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`.
     * This causes the issue's subtasks to be deleted with the issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Delete issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteIssue<T = void>(parameters: DeleteIssue$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue.
     *
     * An issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`.
     * This causes the issue's subtasks to be deleted with the issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Delete issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteIssue<T = void>(parameters: DeleteIssue$1 | string, callback?: never): Promise<T>;
    /**
     * Assigns an issue to a user. Use this operation when the calling user does not have the _Edit Issues_ permission but
     * has the _Assign issue_ permission for the project that the issue is in.
     *
     * If `name` or `accountId` is set to:
     *
     * - `"-1"`, the issue is assigned to the default assignee for the project.
     * - `null`, the issue is set to unassigned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse Projects_ and _Assign Issues_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    assignIssue<T = void>(parameters: AssignIssue$1, callback: Callback<T>): Promise<void>;
    /**
     * Assigns an issue to a user. Use this operation when the calling user does not have the _Edit Issues_ permission but
     * has the _Assign issue_ permission for the project that the issue is in.
     *
     * If `name` or `accountId` is set to:
     *
     * - `"-1"`, the issue is assigned to the default assignee for the project.
     * - `null`, the issue is set to unassigned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse Projects_ and _Assign Issues_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    assignIssue<T = void>(parameters: AssignIssue$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * changelogs for an issue sorted by date, starting from the oldest.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getChangeLogs<T = PageChangelog$1>(parameters: GetChangeLogs$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * changelogs for an issue sorted by date, starting from the oldest.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getChangeLogs<T = PageChangelog$1>(parameters: GetChangeLogs$1 | string, callback?: never): Promise<T>;
    /**
     * Returns changelogs for an issue specified by a list of changelog IDs.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getChangeLogsByIds<T = PageOfChangelogs$1>(parameters: GetChangeLogsByIds$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns changelogs for an issue specified by a list of changelog IDs.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getChangeLogsByIds<T = PageOfChangelogs$1>(parameters: GetChangeLogsByIds$1, callback?: never): Promise<T>;
    /**
     * Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to
     * populate the requests in [Edit issue](#api-rest-api-2-issue-issueIdOrKey-put).
     *
     * This endpoint will check for these conditions:
     *
     * 1. Field is available on a field screen - through screen, screen scheme, issue type screen scheme, and issue type
     *    scheme configuration. `overrideScreenSecurity=true` skips this condition.
     * 2. Field is visible in the [field
     *    configuration](https://support.atlassian.com/jira-cloud-administration/docs/change-a-field-configuration/).
     *    `overrideScreenSecurity=true` skips this condition.
     * 3. Field is shown on the issue: each field has different conditions here. For example: Attachment field only shows if
     *    attachments are enabled. Assignee only shows if user has permissions to assign the issue.
     * 4. If a field is custom then it must have valid custom field context, applicable for its project and issue type. All
     *    system fields are assumed to have context in all projects and all issue types.
     * 5. Issue has a project, issue type, and status defined.
     * 6. Issue is assigned to a valid workflow, and the current status has assigned a workflow step.
     *    `overrideEditableFlag=true` skips this condition.
     * 7. The current workflow step is editable. This is true by default, but [can be disabled by
     *    setting](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) the
     *    `jira.issue.editable` property to `false`. `overrideEditableFlag=true` skips this condition.
     * 8. User has [Edit issues
     *    permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/).
     * 9. Workflow permissions allow editing a field. This is true by default but [can be
     *    modified](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) using
     *    `jira.permission.*` workflow properties.
     *
     * Fields hidden using [Issue layout settings
     * page](https://support.atlassian.com/jira-software-cloud/docs/configure-field-layout-in-the-issue-view/) remain
     * editable.
     *
     * Connect apps having an app user with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), can return additional details using:
     *
     * - `overrideScreenSecurity` When this flag is `true`, then this endpoint skips checking if fields are available
     *   through screens, and field configuration (conditions 1. and 2. from the list above).
     * - `overrideEditableFlag` When this flag is `true`, then this endpoint skips checking if workflow is present and if
     *   the current step is editable (conditions 6. and 7. from the list above).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * Note: For any fields to be editable the user must have the _Edit issues_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the issue.
     */
    getEditIssueMeta<T = IssueUpdateMetadata$1>(parameters: GetEditIssueMeta$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to
     * populate the requests in [Edit issue](#api-rest-api-2-issue-issueIdOrKey-put).
     *
     * This endpoint will check for these conditions:
     *
     * 1. Field is available on a field screen - through screen, screen scheme, issue type screen scheme, and issue type
     *    scheme configuration. `overrideScreenSecurity=true` skips this condition.
     * 2. Field is visible in the [field
     *    configuration](https://support.atlassian.com/jira-cloud-administration/docs/change-a-field-configuration/).
     *    `overrideScreenSecurity=true` skips this condition.
     * 3. Field is shown on the issue: each field has different conditions here. For example: Attachment field only shows if
     *    attachments are enabled. Assignee only shows if user has permissions to assign the issue.
     * 4. If a field is custom then it must have valid custom field context, applicable for its project and issue type. All
     *    system fields are assumed to have context in all projects and all issue types.
     * 5. Issue has a project, issue type, and status defined.
     * 6. Issue is assigned to a valid workflow, and the current status has assigned a workflow step.
     *    `overrideEditableFlag=true` skips this condition.
     * 7. The current workflow step is editable. This is true by default, but [can be disabled by
     *    setting](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) the
     *    `jira.issue.editable` property to `false`. `overrideEditableFlag=true` skips this condition.
     * 8. User has [Edit issues
     *    permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/).
     * 9. Workflow permissions allow editing a field. This is true by default but [can be
     *    modified](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) using
     *    `jira.permission.*` workflow properties.
     *
     * Fields hidden using [Issue layout settings
     * page](https://support.atlassian.com/jira-software-cloud/docs/configure-field-layout-in-the-issue-view/) remain
     * editable.
     *
     * Connect apps having an app user with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), can return additional details using:
     *
     * - `overrideScreenSecurity` When this flag is `true`, then this endpoint skips checking if fields are available
     *   through screens, and field configuration (conditions 1. and 2. from the list above).
     * - `overrideEditableFlag` When this flag is `true`, then this endpoint skips checking if workflow is present and if
     *   the current step is editable (conditions 6. and 7. from the list above).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * Note: For any fields to be editable the user must have the _Edit issues_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the issue.
     */
    getEditIssueMeta<T = IssueUpdateMetadata$1>(parameters: GetEditIssueMeta$1 | string, callback?: never): Promise<T>;
    /**
     * Creates an email notification for an issue and adds it to the mail queue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    notify<T = void>(parameters: Notify$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates an email notification for an issue and adds it to the mail queue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    notify<T = void>(parameters: Notify$1, callback?: never): Promise<T>;
    /**
     * Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's
     * status.
     *
     * Note, if a request is made for a transition that does not exist or cannot be performed on the issue, given its
     * status, the response will return any empty transitions list.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required: A list or
     * transition is returned only when the user has:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * However, if the user does not have the _Transition issues_ [ project
     * permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.
     */
    getTransitions<T = Transitions$1>(parameters: GetTransitions$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's
     * status.
     *
     * Note, if a request is made for a transition that does not exist or cannot be performed on the issue, given its
     * status, the response will return any empty transitions list.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required: A list or
     * transition is returned only when the user has:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * However, if the user does not have the _Transition issues_ [ project
     * permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.
     */
    getTransitions<T = Transitions$1>(parameters: GetTransitions$1 | string, callback?: never): Promise<T>;
    /**
     * Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.
     *
     * SortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update`
     * parameters in the request body. Get details about the fields using [ Get
     * transitions](#api-rest-api-2-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Transition issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    doTransition<T = void>(parameters: DoTransition$1, callback: Callback<T>): Promise<void>;
    /**
     * Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.
     *
     * SortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update`
     * parameters in the request body. Get details about the fields using [ Get
     * transitions](#api-rest-api-2-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Transition issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    doTransition<T = void>(parameters: DoTransition$1, callback?: never): Promise<T>;
    /**
     * Enables admins to retrieve details of all archived issues. Upon a successful request, the admin who submitted it
     * will receive an email with a link to download a CSV file with the issue details.
     *
     * Note that this API only exports the values of system fields and archival-specific fields (`ArchivedBy` and
     * `ArchivedDate`). Custom fields aren't supported.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     *
     * **Rate limiting:** Only a single request can be active at any given time.
     */
    exportArchivedIssues<T = ExportArchivedIssuesTaskProgress$1>(parameters: ExportArchivedIssues$1, callback: Callback<T>): Promise<void>;
    /**
     * Enables admins to retrieve details of all archived issues. Upon a successful request, the admin who submitted it
     * will receive an email with a link to download a CSV file with the issue details.
     *
     * Note that this API only exports the values of system fields and archival-specific fields (`ArchivedBy` and
     * `ArchivedDate`). Custom fields aren't supported.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     *
     * **Rate limiting:** Only a single request can be active at any given time.
     */
    exportArchivedIssues<T = ExportArchivedIssuesTaskProgress$1>(parameters: ExportArchivedIssues$1, callback?: never): Promise<T>;
}

declare class JiraExpressions$1 {
    private client;
    constructor(client: Client);
    /**
     * Analyses and validates Jira expressions.
     *
     * As an experimental feature, this operation can also attempt to type-check the expressions.
     *
     * Learn more about Jira expressions in the
     * [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required**: None.
     */
    analyseExpression<T = JiraExpressionsAnalysis$1>(parameters: AnalyseExpression$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Analyses and validates Jira expressions.
     *
     * As an experimental feature, this operation can also attempt to type-check the expressions.
     *
     * Learn more about Jira expressions in the
     * [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required**: None.
     */
    analyseExpression<T = JiraExpressionsAnalysis$1>(parameters?: AnalyseExpression$1, callback?: never): Promise<T>;
    /**
     * Evaluates a Jira expression and returns its value.
     *
     * This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible
     * way. Consult the [Jira expressions
     * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
     *
     * #### Context variables
     *
     * The following context variables are available to Jira expressions evaluated by this resource. Their presence
     * depends on various factors; usually you need to manually request them in the context object sent in the payload,
     * but some of them are added automatically under certain conditions.
     *
     * - `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The
     *   current user. Always available and equal to `null` if the request is anonymous.
     * - `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The
     *   [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request.
     *   Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect
     *   apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
     * - `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The
     *   current issue. Available only when the issue is provided in the request context object.
     * - `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of
     *   [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A
     *   collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
     * - `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
     *   The current project. Available only when the project is provided in the request context object.
     * - `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
     *   The current sprint. Available only when the sprint is provided in the request context object.
     * - `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The
     *   current board. Available only when the board is provided in the request context object.
     * - `serviceDesk`
     *   ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
     *   The current service desk. Available only when the service desk is provided in the request context object.
     * - `customerRequest`
     *   ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
     *   The current customer request. Available only when the customer request is provided in the request context
     *   object.
     *
     * Also, custom context variables can be passed in the request with their types. Those variables can be accessed by
     * key in the Jira expression. These variable types are available for use in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required**: None.
     * However, an expression may return different results for different users depending on their permissions. For
     * example, different users may see different comments on the same issue.\
     * Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or
     * fields (for example, `issue.sprint`).
     */
    evaluateJiraExpression<T = JiraExpressionResult$1>(parameters: EvaluateJiraExpression$1, callback: Callback<T>): Promise<void>;
    /**
     * Evaluates a Jira expression and returns its value.
     *
     * This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible
     * way. Consult the [Jira expressions
     * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
     *
     * #### Context variables
     *
     * The following context variables are available to Jira expressions evaluated by this resource. Their presence
     * depends on various factors; usually you need to manually request them in the context object sent in the payload,
     * but some of them are added automatically under certain conditions.
     *
     * - `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The
     *   current user. Always available and equal to `null` if the request is anonymous.
     * - `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The
     *   [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request.
     *   Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect
     *   apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
     * - `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The
     *   current issue. Available only when the issue is provided in the request context object.
     * - `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of
     *   [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A
     *   collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
     * - `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
     *   The current project. Available only when the project is provided in the request context object.
     * - `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
     *   The current sprint. Available only when the sprint is provided in the request context object.
     * - `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The
     *   current board. Available only when the board is provided in the request context object.
     * - `serviceDesk`
     *   ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
     *   The current service desk. Available only when the service desk is provided in the request context object.
     * - `customerRequest`
     *   ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
     *   The current customer request. Available only when the customer request is provided in the request context
     *   object.
     *
     * Also, custom context variables can be passed in the request with their types. Those variables can be accessed by
     * key in the Jira expression. These variable types are available for use in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required**: None.
     * However, an expression may return different results for different users depending on their permissions. For
     * example, different users may see different comments on the same issue.\
     * Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or
     * fields (for example, `issue.sprint`).
     */
    evaluateJiraExpression<T = JiraExpressionResult$1>(parameters: EvaluateJiraExpression$1, callback?: never): Promise<T>;
    /**
     * Evaluates a Jira expression and returns its value. The difference between this and `eval` is that this endpoint
     * uses the enhanced search API when evaluating JQL queries. This API is eventually consistent, unlike the strongly
     * consistent `eval` API. This allows for better performance and scalability. In addition, this API's response for JQL
     * evaluation is based on a scrolling view (backed by a `nextPageToken`) instead of a paginated view (backed by
     * `startAt` and `totalCount`).
     *
     * This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible
     * way. Consult the [Jira expressions
     * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
     *
     * #### Context variables
     *
     * The following context variables are available to Jira expressions evaluated by this resource. Their presence
     * depends on various factors; usually you need to manually request them in the context object sent in the payload,
     * but some of them are added automatically under certain conditions.
     *
     * - `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The
     *   current user. Always available and equal to `null` if the request is anonymous.
     * - `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The
     *   [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request.
     *   Available only for authenticated requests made by Connect apps (read more here: [Authentication for Connect
     *   apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
     * - `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The
     *   current issue. Available only when the issue is provided in the request context object.
     * - `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of
     *   [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A
     *   collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
     * - `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
     *   The current project. Available only when the project is provided in the request context object.
     * - `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
     *   The current sprint. Available only when the sprint is provided in the request context object.
     * - `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The
     *   current board. Available only when the board is provided in the request context object.
     * - `serviceDesk`
     *   ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
     *   The current service desk. Available only when the service desk is provided in the request context object.
     * - `customerRequest`
     *   ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
     *   The current customer request. Available only when the customer request is provided in the request context
     *   object.
     *
     * In addition, you can pass custom context variables along with their types. You can then access them from the Jira
     * expression by key. You can use the following variables in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required**: None.
     * However, an expression may return different results for different users depending on their permissions. For
     * example, different users may see different comments on the same issue.\
     * Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or
     * fields (for example, `issue.sprint`).
     */
    evaluateJiraExpressionUsingEnhancedSearch<T = EvaluatedJiraExpression$1>(parameters: EvaluateJiraExpressionUsingEnhancedSearch$1, callback: Callback<T>): Promise<void>;
    /**
     * Evaluates a Jira expression and returns its value. The difference between this and `eval` is that this endpoint
     * uses the enhanced search API when evaluating JQL queries. This API is eventually consistent, unlike the strongly
     * consistent `eval` API. This allows for better performance and scalability. In addition, this API's response for JQL
     * evaluation is based on a scrolling view (backed by a `nextPageToken`) instead of a paginated view (backed by
     * `startAt` and `totalCount`).
     *
     * This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible
     * way. Consult the [Jira expressions
     * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
     *
     * #### Context variables
     *
     * The following context variables are available to Jira expressions evaluated by this resource. Their presence
     * depends on various factors; usually you need to manually request them in the context object sent in the payload,
     * but some of them are added automatically under certain conditions.
     *
     * - `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The
     *   current user. Always available and equal to `null` if the request is anonymous.
     * - `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The
     *   [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request.
     *   Available only for authenticated requests made by Connect apps (read more here: [Authentication for Connect
     *   apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
     * - `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The
     *   current issue. Available only when the issue is provided in the request context object.
     * - `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of
     *   [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A
     *   collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
     * - `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
     *   The current project. Available only when the project is provided in the request context object.
     * - `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
     *   The current sprint. Available only when the sprint is provided in the request context object.
     * - `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The
     *   current board. Available only when the board is provided in the request context object.
     * - `serviceDesk`
     *   ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
     *   The current service desk. Available only when the service desk is provided in the request context object.
     * - `customerRequest`
     *   ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
     *   The current customer request. Available only when the customer request is provided in the request context
     *   object.
     *
     * In addition, you can pass custom context variables along with their types. You can then access them from the Jira
     * expression by key. You can use the following variables in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required**: None.
     * However, an expression may return different results for different users depending on their permissions. For
     * example, different users may see different comments on the same issue.\
     * Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or
     * fields (for example, `issue.sprint`).
     */
    evaluateJiraExpressionUsingEnhancedSearch<T = EvaluatedJiraExpression$1>(parameters: EvaluateJiraExpressionUsingEnhancedSearch$1, callback?: never): Promise<T>;
}

declare class JiraSettings$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all application properties or an application property.
     *
     * If you specify a value for the `key` parameter, then an application property is returned as an object (not in an
     * array). Otherwise, an array of all editable application properties is returned. See [Set application
     * property](#api-rest-api-2-application-properties-id-put) for descriptions of editable properties.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApplicationProperty<T = ApplicationProperty$1[]>(parameters: GetApplicationProperty$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all application properties or an application property.
     *
     * If you specify a value for the `key` parameter, then an application property is returned as an object (not in an
     * array). Otherwise, an array of all editable application properties is returned. See [Set application
     * property](#api-rest-api-2-application-properties-id-put) for descriptions of editable properties.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApplicationProperty<T = ApplicationProperty$1[]>(parameters?: GetApplicationProperty$1, callback?: never): Promise<T>;
    /**
     * Returns the application properties that are accessible on the _Advanced Settings_ page. To navigate to the
     * _Advanced Settings_ page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration**
     * and then click **Advanced Settings** (in the upper right).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAdvancedSettings<T = ApplicationProperty$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the application properties that are accessible on the _Advanced Settings_ page. To navigate to the
     * _Advanced Settings_ page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration**
     * and then click **Advanced Settings** (in the upper right).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAdvancedSettings<T = ApplicationProperty$1[]>(callback?: never): Promise<T>;
    /**
     * Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from
     * its default value of _CLONE -_ to _Clone -_ if you prefer sentence case capitalization. Editable properties are
     * described below along with their default values.
     *
     * #### Advanced settings
     *
     * The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).
     *
     * | Key                                       | Description                                                                                                                                             | Default value            |
     * | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
     * | `jira.clone.prefix`                       | The string of text prefixed to the title of a cloned issue.                                                                                             | `CLONE -`                |
     * | `jira.date.picker.java.format`            | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting.           | `d/MMM/yy`               |
     * | `jira.date.picker.javascript.format`      | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting.           | `%e/%b/%y`               |
     * | `jira.date.time.picker.java.format`       | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a`       |
     * | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p`      |
     * | `jira.issue.actions.order`                | The default order of actions (such as _Comments_ or _Change history_) displayed on the issue view.                                                      | `asc`                    |
     * | `jira.view.issue.links.sort.order`        | The sort order of the list of issue links on the issue view.                                                                                            | `type, status, priority` |
     * | `jira.comment.collapsing.minimum.hidden`  | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing.                                    | `4`                      |
     * | `jira.newsletter.tip.delay.days`          | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature.                          | `7`                      |
     *
     * #### Look and feel
     *
     * The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).
     *
     * | Key                                   | Description                                                                                                        | Default value                |
     * | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
     * | `jira.lf.date.time`                   | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).          | `h:mm a`                     |
     * | `jira.lf.date.day`                    | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).           | `EEEE h:mm a`                |
     * | `jira.lf.date.complete`               | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a`           |
     * | `jira.lf.date.dmy`                    | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).          | `dd/MMM/yy`                  |
     * | `jira.date.time.picker.use.iso8061`   | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard.   | `false`                      |
     * | `jira.lf.logo.url`                    | The URL of the logo image file.                                                                                    | `/images/icon-jira-logo.png` |
     * | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar.                                                   | `false`                      |
     * | `jira.lf.favicon.url`                 | The URL of the favicon.                                                                                            | `/favicon.ico`               |
     * | `jira.lf.favicon.hires.url`           | The URL of the high-resolution favicon.                                                                            | `/images/64jira.png`         |
     * | `jira.lf.navigation.bgcolour`         | The background color of the sidebar.                                                                               | `#0747A6`                    |
     * | `jira.lf.navigation.highlightcolour`  | The color of the text and logo of the sidebar.                                                                     | `#DEEBFF`                    |
     * | `jira.lf.hero.button.base.bg.colour`  | The background color of the hero button.                                                                           | `#3b7fc4`                    |
     * | `jira.title`                          | The text for the application title. The application title can also be set in _General settings_.                   | `Jira`                       |
     * | `jira.option.globalsharing`           | Whether filters and dashboards can be shared with anyone signed into Jira.                                         | `true`                       |
     * | `xflow.product.suggestions.enabled`   | Whether to expose product suggestions for other Atlassian products within Jira.                                    | `true`                       |
     *
     * #### Other settings
     *
     * | Key                                 | Description                                           | Default value |
     * | ----------------------------------- | ----------------------------------------------------- | ------------- |
     * | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true`        |
     *
     * _Note: Be careful when changing [application properties and advanced
     * settings](https://confluence.atlassian.com/x/vYXKM)._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setApplicationProperty<T = ApplicationProperty$1>(parameters: SetApplicationProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from
     * its default value of _CLONE -_ to _Clone -_ if you prefer sentence case capitalization. Editable properties are
     * described below along with their default values.
     *
     * #### Advanced settings
     *
     * The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).
     *
     * | Key                                       | Description                                                                                                                                             | Default value            |
     * | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
     * | `jira.clone.prefix`                       | The string of text prefixed to the title of a cloned issue.                                                                                             | `CLONE -`                |
     * | `jira.date.picker.java.format`            | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting.           | `d/MMM/yy`               |
     * | `jira.date.picker.javascript.format`      | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting.           | `%e/%b/%y`               |
     * | `jira.date.time.picker.java.format`       | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a`       |
     * | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p`      |
     * | `jira.issue.actions.order`                | The default order of actions (such as _Comments_ or _Change history_) displayed on the issue view.                                                      | `asc`                    |
     * | `jira.view.issue.links.sort.order`        | The sort order of the list of issue links on the issue view.                                                                                            | `type, status, priority` |
     * | `jira.comment.collapsing.minimum.hidden`  | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing.                                    | `4`                      |
     * | `jira.newsletter.tip.delay.days`          | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature.                          | `7`                      |
     *
     * #### Look and feel
     *
     * The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).
     *
     * | Key                                   | Description                                                                                                        | Default value                |
     * | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
     * | `jira.lf.date.time`                   | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).          | `h:mm a`                     |
     * | `jira.lf.date.day`                    | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).           | `EEEE h:mm a`                |
     * | `jira.lf.date.complete`               | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a`           |
     * | `jira.lf.date.dmy`                    | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).          | `dd/MMM/yy`                  |
     * | `jira.date.time.picker.use.iso8061`   | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard.   | `false`                      |
     * | `jira.lf.logo.url`                    | The URL of the logo image file.                                                                                    | `/images/icon-jira-logo.png` |
     * | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar.                                                   | `false`                      |
     * | `jira.lf.favicon.url`                 | The URL of the favicon.                                                                                            | `/favicon.ico`               |
     * | `jira.lf.favicon.hires.url`           | The URL of the high-resolution favicon.                                                                            | `/images/64jira.png`         |
     * | `jira.lf.navigation.bgcolour`         | The background color of the sidebar.                                                                               | `#0747A6`                    |
     * | `jira.lf.navigation.highlightcolour`  | The color of the text and logo of the sidebar.                                                                     | `#DEEBFF`                    |
     * | `jira.lf.hero.button.base.bg.colour`  | The background color of the hero button.                                                                           | `#3b7fc4`                    |
     * | `jira.title`                          | The text for the application title. The application title can also be set in _General settings_.                   | `Jira`                       |
     * | `jira.option.globalsharing`           | Whether filters and dashboards can be shared with anyone signed into Jira.                                         | `true`                       |
     * | `xflow.product.suggestions.enabled`   | Whether to expose product suggestions for other Atlassian products within Jira.                                    | `true`                       |
     *
     * #### Other settings
     *
     * | Key                                 | Description                                           | Default value |
     * | ----------------------------------- | ----------------------------------------------------- | ------------- |
     * | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true`        |
     *
     * _Note: Be careful when changing [application properties and advanced
     * settings](https://confluence.atlassian.com/x/vYXKM)._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setApplicationProperty<T = ApplicationProperty$1>(parameters: SetApplicationProperty$1, callback?: never): Promise<T>;
    /**
     * Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether
     * optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this
     * operation also returns the time tracking configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getConfiguration<T = Configuration$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether
     * optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this
     * operation also returns the time tracking configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getConfiguration<T = Configuration$1>(callback?: never): Promise<T>;
}

declare class JQL$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions
     * reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this
     * information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom
     * query builder.
     *
     * To filter visible field details by project or collapse non-unique fields by field type then [Get field reference
     * data (POST)](#api-rest-api-2-jql-autocompletedata-post) can be used.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAutoComplete<T = JQLReferenceData$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions
     * reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this
     * information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom
     * query builder.
     *
     * To filter visible field details by project or collapse non-unique fields by field type then [Get field reference
     * data (POST)](#api-rest-api-2-jql-autocompletedata-post) can be used.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAutoComplete<T = JQLReferenceData$1>(callback?: never): Promise<T>;
    /**
     * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions
     * reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this
     * information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom
     * query builder.
     *
     * This operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored.
     * System fields are always returned.
     *
     * It can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across
     * all fields with the same name and of the same field type. For example, the collapsed field `Component -
     * Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched
     * simultaneously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAutoCompletePost<T = JQLReferenceData$1>(parameters: GetAutoCompletePost$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions
     * reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this
     * information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom
     * query builder.
     *
     * This operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored.
     * System fields are always returned.
     *
     * It can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across
     * all fields with the same name and of the same field type. For example, the collapsed field `Component -
     * Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched
     * simultaneously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAutoCompletePost<T = JQLReferenceData$1>(parameters?: GetAutoCompletePost$1, callback?: never): Promise<T>;
    /**
     * Returns the JQL search auto complete suggestions for a field.
     *
     * Suggestions can be obtained by providing:
     *
     * - `fieldName` to get a list of all values for the field.
     * - `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.
     * - `fieldName` and `predicateName` to get a list of all predicate values for the field.
     * - `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in
     *   `predicateValue`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getFieldAutoCompleteForQueryString<T = AutoCompleteSuggestions$1>(parameters: GetFieldAutoCompleteForQueryString$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the JQL search auto complete suggestions for a field.
     *
     * Suggestions can be obtained by providing:
     *
     * - `fieldName` to get a list of all values for the field.
     * - `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.
     * - `fieldName` and `predicateName` to get a list of all predicate values for the field.
     * - `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in
     *   `predicateValue`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getFieldAutoCompleteForQueryString<T = AutoCompleteSuggestions$1>(parameters?: GetFieldAutoCompleteForQueryString$1, callback?: never): Promise<T>;
    /**
     * Parses and validates JQL queries.
     *
     * Validation is performed in context of the current user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    parseJqlQueries<T = ParsedJqlQueries$1>(parameters: ParseJqlQueries$1, callback: Callback<T>): Promise<void>;
    /**
     * Parses and validates JQL queries.
     *
     * Validation is performed in context of the current user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    parseJqlQueries<T = ParsedJqlQueries$1>(parameters: ParseJqlQueries$1, callback?: never): Promise<T>;
    /**
     * Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with
     * account IDs.
     *
     * You may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For
     * more information about GDPR-related changes, see the [migration
     * guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    migrateQueries<T = ConvertedJQLQueries$1>(parameters: MigrateQueries$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with
     * account IDs.
     *
     * You may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For
     * more information about GDPR-related changes, see the [migration
     * guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    migrateQueries<T = ConvertedJQLQueries$1>(parameters?: MigrateQueries$1, callback?: never): Promise<T>;
    /**
     * Sanitizes one or more JQL queries by converting readable details into IDs where a user doesn't have permission to
     * view the entity.
     *
     * For example, if the query contains the clause _project = 'Secret project'_, and a user does not have browse
     * permission for the project "Secret project", the sanitized query replaces the clause with _project = 12345"_ (where
     * 12345 is the ID of the project). If a user has the required permission, the clause is not sanitized. If the account
     * ID is null, sanitizing is performed for an anonymous user.
     *
     * Note that sanitization doesn't make the queries GDPR-compliant, because it doesn't remove user identifiers
     * (username or user key). If you need to make queries GDPR-compliant, use [Convert user identifiers to account IDs in
     * JQL
     * queries](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-jql/#api-rest-api-2-jql-sanitize-post).
     *
     * Before sanitization each JQL query is parsed. The queries are returned in the same order that they were passed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    sanitiseJqlQueries<T = SanitizedJqlQueries$1>(parameters: SanitiseJqlQueries$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sanitizes one or more JQL queries by converting readable details into IDs where a user doesn't have permission to
     * view the entity.
     *
     * For example, if the query contains the clause _project = 'Secret project'_, and a user does not have browse
     * permission for the project "Secret project", the sanitized query replaces the clause with _project = 12345"_ (where
     * 12345 is the ID of the project). If a user has the required permission, the clause is not sanitized. If the account
     * ID is null, sanitizing is performed for an anonymous user.
     *
     * Note that sanitization doesn't make the queries GDPR-compliant, because it doesn't remove user identifiers
     * (username or user key). If you need to make queries GDPR-compliant, use [Convert user identifiers to account IDs in
     * JQL
     * queries](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-jql/#api-rest-api-2-jql-sanitize-post).
     *
     * Before sanitization each JQL query is parsed. The queries are returned in the same order that they were passed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    sanitiseJqlQueries<T = SanitizedJqlQueries$1>(parameters?: SanitiseJqlQueries$1, callback?: never): Promise<T>;
}

declare class JqlFunctionsApps$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the list of a function's precomputations along with information about when they were created, updated, and
     * last used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** This
     * API is only accessible to apps and apps can only inspect their own functions.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getPrecomputations<T = PageJqlFunctionPrecomputation$1>(parameters: GetPrecomputations$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the list of a function's precomputations along with information about when they were created, updated, and
     * last used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** This
     * API is only accessible to apps and apps can only inspect their own functions.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getPrecomputations<T = PageJqlFunctionPrecomputation$1>(parameters?: GetPrecomputations$1, callback?: never): Promise<T>;
    /**
     * Update the precomputation value of a function created by a Forge/Connect app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** An API
     * for apps to update their own precomputations.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updatePrecomputations<T = void>(parameters: UpdatePrecomputations$1, callback: Callback<T>): Promise<void>;
    /**
     * Update the precomputation value of a function created by a Forge/Connect app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** An API
     * for apps to update their own precomputations.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updatePrecomputations<T = void>(parameters: UpdatePrecomputations$1, callback?: never): Promise<T>;
    /**
     * Returns function precomputations by IDs, along with information about when they were created, updated, and last
     * used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** This
     * API is only accessible to apps and apps can only inspect their own functions.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getPrecomputationsByID<T = JqlFunctionPrecomputationGetByIdResponse$1>(parameters: GetPrecomputationsByID$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns function precomputations by IDs, along with information about when they were created, updated, and last
     * used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** This
     * API is only accessible to apps and apps can only inspect their own functions.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getPrecomputationsByID<T = JqlFunctionPrecomputationGetByIdResponse$1>(parameters: GetPrecomputationsByID$1, callback?: never): Promise<T>;
}

declare class Labels$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * labels.
     */
    getAllLabels<T = PageString$1>(parameters: GetAllLabels$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * labels.
     */
    getAllLabels<T = PageString$1>(parameters?: GetAllLabels$1, callback?: never): Promise<T>;
}

declare class LicenseMetrics$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns licensing information about the Jira instance.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getLicense<T = License$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns licensing information about the Jira instance.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getLicense<T = License$1>(callback?: never): Promise<T>;
    /**
     * Returns the approximate number of user accounts across all Jira licenses. Note that this information is cached with
     * a 7-day lifecycle and could be stale at the time of call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApproximateLicenseCount<T = LicenseMetric$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the approximate number of user accounts across all Jira licenses. Note that this information is cached with
     * a 7-day lifecycle and could be stale at the time of call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApproximateLicenseCount<T = LicenseMetric$1>(callback?: never): Promise<T>;
    /**
     * Returns the total approximate number of user accounts for a single Jira license. Note that this information is
     * cached with a 7-day lifecycle and could be stale at the time of call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApproximateApplicationLicenseCount<T = LicenseMetric$1>(applicationKey: string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the total approximate number of user accounts for a single Jira license. Note that this information is
     * cached with a 7-day lifecycle and could be stale at the time of call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApproximateApplicationLicenseCount<T = LicenseMetric$1>(applicationKey: string, callback?: never): Promise<T>;
}

declare class Myself$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the value of a preference of the current user.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default this is not set and the user takes the locale of the
     *   instance.
     * - _jira.user.timezone_ The time zone of the user. By default this is not set and the user takes the timezone of the
     *   instance.
     *
     * These system preferences keys will be deprecated by 15/07/2024. You can still retrieve these keys, but it will not
     * have any impact on Notification behaviour.
     *
     * - _user.notifications.watcher_ Whether the user gets notified when they are watcher.
     * - _user.notifications.assignee_ Whether the user gets notified when they are assignee.
     * - _user.notifications.reporter_ Whether the user gets notified when they are reporter.
     * - _user.notifications.mentions_ Whether the user gets notified when they are mentions.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPreference<T = string>(parameters: GetPreference$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a preference of the current user.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default this is not set and the user takes the locale of the
     *   instance.
     * - _jira.user.timezone_ The time zone of the user. By default this is not set and the user takes the timezone of the
     *   instance.
     *
     * These system preferences keys will be deprecated by 15/07/2024. You can still retrieve these keys, but it will not
     * have any impact on Notification behaviour.
     *
     * - _user.notifications.watcher_ Whether the user gets notified when they are watcher.
     * - _user.notifications.assignee_ Whether the user gets notified when they are assignee.
     * - _user.notifications.reporter_ Whether the user gets notified when they are reporter.
     * - _user.notifications.mentions_ Whether the user gets notified when they are mentions.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPreference<T = string>(parameters: GetPreference$1, callback?: never): Promise<T>;
    /**
     * Creates a preference for the user or updates a preference's value by sending a plain text string. For example,
     * `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the
     * following keys define system preferences that can be set or created:
     *
     * - _user.notifications.mimetype_ The mime type used in notifications sent to the user. Defaults to `html`.
     * - _user.default.share.private_ Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private.
     *   Defaults to `true`.
     * - _user.keyboard.shortcuts.disabled_ Whether keyboard shortcuts are disabled. Defaults to `false`.
     * - _user.autowatch.disabled_ Whether the user automatically watches issues they create or add a comment to. By
     *   default, not set: the user takes the instance autowatch setting.
     * - _user.notifiy.own.changes_ Whether the user gets notified of their own changes.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default, not set. The user takes the instance locale.
     * - _jira.user.timezone_ The time zone of the user. By default, not set. The user takes the instance timezone.
     *
     * These system preferences keys will be deprecated by 15/07/2024. You can still use these keys to create arbitrary
     * preferences, but it will not have any impact on Notification behaviour.
     *
     * - _user.notifications.watcher_ Whether the user gets notified when they are watcher.
     * - _user.notifications.assignee_ Whether the user gets notified when they are assignee.
     * - _user.notifications.reporter_ Whether the user gets notified when they are reporter.
     * - _user.notifications.mentions_ Whether the user gets notified when they are mentions.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    setPreference<T = void>(parameters: SetPreference$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a preference for the user or updates a preference's value by sending a plain text string. For example,
     * `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the
     * following keys define system preferences that can be set or created:
     *
     * - _user.notifications.mimetype_ The mime type used in notifications sent to the user. Defaults to `html`.
     * - _user.default.share.private_ Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private.
     *   Defaults to `true`.
     * - _user.keyboard.shortcuts.disabled_ Whether keyboard shortcuts are disabled. Defaults to `false`.
     * - _user.autowatch.disabled_ Whether the user automatically watches issues they create or add a comment to. By
     *   default, not set: the user takes the instance autowatch setting.
     * - _user.notifiy.own.changes_ Whether the user gets notified of their own changes.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default, not set. The user takes the instance locale.
     * - _jira.user.timezone_ The time zone of the user. By default, not set. The user takes the instance timezone.
     *
     * These system preferences keys will be deprecated by 15/07/2024. You can still use these keys to create arbitrary
     * preferences, but it will not have any impact on Notification behaviour.
     *
     * - _user.notifications.watcher_ Whether the user gets notified when they are watcher.
     * - _user.notifications.assignee_ Whether the user gets notified when they are assignee.
     * - _user.notifications.reporter_ Whether the user gets notified when they are reporter.
     * - _user.notifications.mentions_ Whether the user gets notified when they are mentions.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    setPreference<T = void>(parameters: SetPreference$1, callback?: never): Promise<T>;
    /**
     * Deletes a preference of the user, which restores the default value of system defined settings.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default, not set. The user takes the instance locale.
     * - _jira.user.timezone_ The time zone of the user. By default, not set. The user takes the instance timezone.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    removePreference<T = void>(parameters: RemovePreference$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a preference of the user, which restores the default value of system defined settings.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default, not set. The user takes the instance locale.
     * - _jira.user.timezone_ The time zone of the user. By default, not set. The user takes the instance timezone.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    removePreference<T = void>(parameters: RemovePreference$1, callback?: never): Promise<T>;
    /**
     * Returns the locale for the user.
     *
     * If the user has no language preference set (which is the default setting) or this resource is accessed anonymous,
     * the browser locale detected by Jira is returned. Jira detects the browser locale using the _Accept-Language_ header
     * in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getLocale<T = Locale$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the locale for the user.
     *
     * If the user has no language preference set (which is the default setting) or this resource is accessed anonymous,
     * the browser locale detected by Jira is returned. Jira detects the browser locale using the _Accept-Language_ header
     * in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getLocale<T = Locale$1>(callback?: never): Promise<T>;
    /**
     * Returns details for the current user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getCurrentUser<T = User$3>(parameters: GetCurrentUser$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns details for the current user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getCurrentUser<T = User$3>(parameters?: GetCurrentUser$1, callback?: never): Promise<T>;
}

declare class PermissionSchemes$2 {
    private client;
    constructor(client: Client);
    /**
     * Returns all permission schemes.
     *
     * ### About permission schemes and grants
     *
     * A permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a
     * `permission`.
     *
     * #### Holder object
     *
     * The `holder` object contains information about the user or group being granted the permission. For example, the
     * _Administer projects_ permission is granted to a group named _Teams in space administrators_. In this case, the
     * type is `"type": "group"`, and the parameter is the group name, `"parameter": "Teams in space administrators"` and
     * the value is group ID, `"value": "ca85fac0-d974-40ca-a615-7af99c48d24f"`.
     *
     * The `holder` object is defined by the following properties:
     *
     * - `type` Identifies the user or group (see the list of types below).
     * - `parameter` As a group's name can change, use of `value` is recommended. The value of this property depends on the
     *   `type`. For example, if the `type` is a group, then you need to specify the group name.
     * - `value` The value of this property depends on the `type`. If the `type` is a group, then you need to specify the
     *   group ID. For other `type` it has the same value as `parameter`
     *
     * The following `types` are available. The expected values for `parameter` and `value` are given in parentheses (some
     * types may not have a `parameter` or `value`):
     *
     * - `anyone` Grant for anonymous users.
     * - `applicationRole` Grant for users with access to the specified application (application name, application name).
     *   See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.
     * - `assignee` Grant for the user currently assigned to an issue.
     * - `group` Grant for the specified group (`parameter` : group name, `value` : group ID).
     * - `groupCustomField` Grant for a user in the group selected in the specified custom field (`parameter` : custom field
     *   ID, `value` : custom field ID).
     * - `projectLead` Grant for a project lead.
     * - `projectRole` Grant for the specified project role (`parameter` :project role ID, `value` : project role ID).
     * - `reporter` Grant for the user who reported the issue.
     * - `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not
     *   Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more
     *   information.
     * - `user` Grant for the specified user (`parameter` : user ID - historically this was the userkey but that is
     *   deprecated and the account ID should be used, `value` : user ID).
     * - `userCustomField` Grant for a user selected in the specified custom field (`parameter` : custom field ID, `value` :
     *   custom field ID).
     *
     * #### Built-in permissions
     *
     * The [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define
     * custom permissions. See the [project
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation
     * for more information.
     *
     * **Administration permissions**
     *
     * - `ADMINISTER_PROJECTS`
     * - `EDIT_WORKFLOW`
     * - `EDIT_ISSUE_LAYOUT`
     *
     * **Project permissions**
     *
     * - `BROWSE_PROJECTS`
     * - `MANAGE_SPRINTS_PERMISSION` (Jira Software only)
     * - `SERVICEDESK_AGENT` (Jira Service Desk only)
     * - `VIEW_DEV_TOOLS` (Jira Software only)
     * - `VIEW_READONLY_WORKFLOW`
     *
     * **Issue permissions**
     *
     * - `ASSIGNABLE_USER`
     * - `ASSIGN_ISSUES`
     * - `CLOSE_ISSUES`
     * - `CREATE_ISSUES`
     * - `DELETE_ISSUES`
     * - `EDIT_ISSUES`
     * - `LINK_ISSUES`
     * - `MODIFY_REPORTER`
     * - `MOVE_ISSUES`
     * - `RESOLVE_ISSUES`
     * - `SCHEDULE_ISSUES`
     * - `SET_ISSUE_SECURITY`
     * - `TRANSITION_ISSUES`
     *
     * **Voters and watchers permissions**
     *
     * - `MANAGE_WATCHERS`
     * - `VIEW_VOTERS_AND_WATCHERS`
     *
     * **Comments permissions**
     *
     * - `ADD_COMMENTS`
     * - `DELETE_ALL_COMMENTS`
     * - `DELETE_OWN_COMMENTS`
     * - `EDIT_ALL_COMMENTS`
     * - `EDIT_OWN_COMMENTS`
     *
     * **Attachments permissions**
     *
     * - `CREATE_ATTACHMENTS`
     * - `DELETE_ALL_ATTACHMENTS`
     * - `DELETE_OWN_ATTACHMENTS`
     *
     * **Time tracking permissions**
     *
     * - `DELETE_ALL_WORKLOGS`
     * - `DELETE_OWN_WORKLOGS`
     * - `EDIT_ALL_WORKLOGS`
     * - `EDIT_OWN_WORKLOGS`
     * - `WORK_ON_ISSUES`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAllPermissionSchemes<T = PermissionSchemes$3>(parameters: GetAllPermissionSchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all permission schemes.
     *
     * ### About permission schemes and grants
     *
     * A permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a
     * `permission`.
     *
     * #### Holder object
     *
     * The `holder` object contains information about the user or group being granted the permission. For example, the
     * _Administer projects_ permission is granted to a group named _Teams in space administrators_. In this case, the
     * type is `"type": "group"`, and the parameter is the group name, `"parameter": "Teams in space administrators"` and
     * the value is group ID, `"value": "ca85fac0-d974-40ca-a615-7af99c48d24f"`.
     *
     * The `holder` object is defined by the following properties:
     *
     * - `type` Identifies the user or group (see the list of types below).
     * - `parameter` As a group's name can change, use of `value` is recommended. The value of this property depends on the
     *   `type`. For example, if the `type` is a group, then you need to specify the group name.
     * - `value` The value of this property depends on the `type`. If the `type` is a group, then you need to specify the
     *   group ID. For other `type` it has the same value as `parameter`
     *
     * The following `types` are available. The expected values for `parameter` and `value` are given in parentheses (some
     * types may not have a `parameter` or `value`):
     *
     * - `anyone` Grant for anonymous users.
     * - `applicationRole` Grant for users with access to the specified application (application name, application name).
     *   See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.
     * - `assignee` Grant for the user currently assigned to an issue.
     * - `group` Grant for the specified group (`parameter` : group name, `value` : group ID).
     * - `groupCustomField` Grant for a user in the group selected in the specified custom field (`parameter` : custom field
     *   ID, `value` : custom field ID).
     * - `projectLead` Grant for a project lead.
     * - `projectRole` Grant for the specified project role (`parameter` :project role ID, `value` : project role ID).
     * - `reporter` Grant for the user who reported the issue.
     * - `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not
     *   Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more
     *   information.
     * - `user` Grant for the specified user (`parameter` : user ID - historically this was the userkey but that is
     *   deprecated and the account ID should be used, `value` : user ID).
     * - `userCustomField` Grant for a user selected in the specified custom field (`parameter` : custom field ID, `value` :
     *   custom field ID).
     *
     * #### Built-in permissions
     *
     * The [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define
     * custom permissions. See the [project
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation
     * for more information.
     *
     * **Administration permissions**
     *
     * - `ADMINISTER_PROJECTS`
     * - `EDIT_WORKFLOW`
     * - `EDIT_ISSUE_LAYOUT`
     *
     * **Project permissions**
     *
     * - `BROWSE_PROJECTS`
     * - `MANAGE_SPRINTS_PERMISSION` (Jira Software only)
     * - `SERVICEDESK_AGENT` (Jira Service Desk only)
     * - `VIEW_DEV_TOOLS` (Jira Software only)
     * - `VIEW_READONLY_WORKFLOW`
     *
     * **Issue permissions**
     *
     * - `ASSIGNABLE_USER`
     * - `ASSIGN_ISSUES`
     * - `CLOSE_ISSUES`
     * - `CREATE_ISSUES`
     * - `DELETE_ISSUES`
     * - `EDIT_ISSUES`
     * - `LINK_ISSUES`
     * - `MODIFY_REPORTER`
     * - `MOVE_ISSUES`
     * - `RESOLVE_ISSUES`
     * - `SCHEDULE_ISSUES`
     * - `SET_ISSUE_SECURITY`
     * - `TRANSITION_ISSUES`
     *
     * **Voters and watchers permissions**
     *
     * - `MANAGE_WATCHERS`
     * - `VIEW_VOTERS_AND_WATCHERS`
     *
     * **Comments permissions**
     *
     * - `ADD_COMMENTS`
     * - `DELETE_ALL_COMMENTS`
     * - `DELETE_OWN_COMMENTS`
     * - `EDIT_ALL_COMMENTS`
     * - `EDIT_OWN_COMMENTS`
     *
     * **Attachments permissions**
     *
     * - `CREATE_ATTACHMENTS`
     * - `DELETE_ALL_ATTACHMENTS`
     * - `DELETE_OWN_ATTACHMENTS`
     *
     * **Time tracking permissions**
     *
     * - `DELETE_ALL_WORKLOGS`
     * - `DELETE_OWN_WORKLOGS`
     * - `EDIT_ALL_WORKLOGS`
     * - `EDIT_OWN_WORKLOGS`
     * - `WORK_ON_ISSUES`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAllPermissionSchemes<T = PermissionSchemes$3>(parameters?: GetAllPermissionSchemes$1, callback?: never): Promise<T>;
    /**
     * Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission
     * grants.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPermissionScheme<T = PermissionScheme$1>(parameters: CreatePermissionScheme$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission
     * grants.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPermissionScheme<T = PermissionScheme$1>(parameters?: CreatePermissionScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionScheme<T = PermissionScheme$1>(parameters: GetPermissionScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionScheme<T = PermissionScheme$1>(parameters: GetPermissionScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a permission scheme. Below are some important things to note when using this resource:
     *
     * - If a permissions list is present in the request, then it is set in the permission scheme, overwriting _all
     *   existing_ grants.
     * - If you want to update only the name and description, then do not send a permissions list in the request.
     * - Sending an empty list will remove all permission grants from the permission scheme.
     *
     * If you want to add or delete a permission grant instead of updating the whole list, see [Create permission
     * grant](#api-rest-api-2-permissionscheme-schemeId-permission-post) or [Delete permission scheme
     * entity](#api-rest-api-2-permissionscheme-schemeId-permission-permissionId-delete).
     *
     * See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for
     * more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePermissionScheme<T = PermissionScheme$1>(parameters: UpdatePermissionScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a permission scheme. Below are some important things to note when using this resource:
     *
     * - If a permissions list is present in the request, then it is set in the permission scheme, overwriting _all
     *   existing_ grants.
     * - If you want to update only the name and description, then do not send a permissions list in the request.
     * - Sending an empty list will remove all permission grants from the permission scheme.
     *
     * If you want to add or delete a permission grant instead of updating the whole list, see [Create permission
     * grant](#api-rest-api-2-permissionscheme-schemeId-permission-post) or [Delete permission scheme
     * entity](#api-rest-api-2-permissionscheme-schemeId-permission-permissionId-delete).
     *
     * See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for
     * more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePermissionScheme<T = PermissionScheme$1>(parameters: UpdatePermissionScheme$1, callback?: never): Promise<T>;
    /**
     * Deletes a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePermissionScheme<T = void>(parameters: DeletePermissionScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePermissionScheme<T = void>(parameters: DeletePermissionScheme$1, callback?: never): Promise<T>;
    /**
     * Returns all permission grants for a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionSchemeGrants<T = PermissionGrants$1>(parameters: GetPermissionSchemeGrants$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns all permission grants for a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionSchemeGrants<T = PermissionGrants$1>(parameters: GetPermissionSchemeGrants$1, callback?: never): Promise<T>;
    /**
     * Creates a permission grant in a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPermissionGrant<T = PermissionGrant$1>(parameters: CreatePermissionGrant$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a permission grant in a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPermissionGrant<T = PermissionGrant$1>(parameters: CreatePermissionGrant$1, callback?: never): Promise<T>;
    /**
     * Returns a permission grant.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionSchemeGrant<T = PermissionGrant$1>(parameters: GetPermissionSchemeGrant$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a permission grant.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionSchemeGrant<T = PermissionGrant$1>(parameters: GetPermissionSchemeGrant$1, callback?: never): Promise<T>;
    /**
     * Deletes a permission grant from a permission scheme. See [About permission schemes and
     * grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePermissionSchemeEntity<T = void>(parameters: DeletePermissionSchemeEntity$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a permission grant from a permission scheme. See [About permission schemes and
     * grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePermissionSchemeEntity<T = void>(parameters: DeletePermissionSchemeEntity$1, callback?: never): Promise<T>;
}

declare class Permissions$2 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be
     * obtained in a global, project, issue or comment context.
     *
     * The user is reported as having a project permission:
     *
     * - In the global context, if the user has the project permission in any project.
     * - For a project, where the project permission is determined using issue data, if the user meets the permission's
     *   criteria for any issue in the project. Otherwise, if the user has the project permission in the project.
     * - For an issue, where a project permission is determined using issue data, if the user has the permission in the
     *   issue. Otherwise, if the user has the project permission in the project containing the issue.
     * - For a comment, where the user has both the permission to browse the comment and the project permission for the
     *   comment's parent issue. Only the BROWSE_PROJECTS permission is supported. If a `commentId` is provided whose
     *   `permissions` does not equal BROWSE_PROJECTS, a 400 error will be returned.
     *
     * This means that users may be shown as having an issue permission (such as EDIT_ISSUES) in the global context or a
     * project context but may not have the permission for any or all issues. For example, if Reporters have the
     * EDIT_ISSUES permission a user would be shown as having this permission in the global context or the context of a
     * project, because any user can be a reporter. However, if they are not the user who reported the issue queried they
     * would not have EDIT_ISSUES permission for that issue.
     *
     * For [Jira Service Management project
     * permissions](https://support.atlassian.com/jira-cloud-administration/docs/customize-jira-service-management-permissions/),
     * this will be evaluated similarly to a user in the customer portal. For example, if the BROWSE_PROJECTS permission
     * is granted to Service Project Customer - Portal Access, any users with access to the customer portal will have the
     * BROWSE_PROJECTS permission.
     *
     * Global permissions are unaffected by context.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getMyPermissions<T = Permissions$3>(parameters: GetMyPermissions$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be
     * obtained in a global, project, issue or comment context.
     *
     * The user is reported as having a project permission:
     *
     * - In the global context, if the user has the project permission in any project.
     * - For a project, where the project permission is determined using issue data, if the user meets the permission's
     *   criteria for any issue in the project. Otherwise, if the user has the project permission in the project.
     * - For an issue, where a project permission is determined using issue data, if the user has the permission in the
     *   issue. Otherwise, if the user has the project permission in the project containing the issue.
     * - For a comment, where the user has both the permission to browse the comment and the project permission for the
     *   comment's parent issue. Only the BROWSE_PROJECTS permission is supported. If a `commentId` is provided whose
     *   `permissions` does not equal BROWSE_PROJECTS, a 400 error will be returned.
     *
     * This means that users may be shown as having an issue permission (such as EDIT_ISSUES) in the global context or a
     * project context but may not have the permission for any or all issues. For example, if Reporters have the
     * EDIT_ISSUES permission a user would be shown as having this permission in the global context or the context of a
     * project, because any user can be a reporter. However, if they are not the user who reported the issue queried they
     * would not have EDIT_ISSUES permission for that issue.
     *
     * For [Jira Service Management project
     * permissions](https://support.atlassian.com/jira-cloud-administration/docs/customize-jira-service-management-permissions/),
     * this will be evaluated similarly to a user in the customer portal. For example, if the BROWSE_PROJECTS permission
     * is granted to Service Project Customer - Portal Access, any users with access to the customer portal will have the
     * BROWSE_PROJECTS permission.
     *
     * Global permissions are unaffected by context.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getMyPermissions<T = Permissions$3>(parameters?: GetMyPermissions$1, callback?: never): Promise<T>;
    /**
     * Returns all permissions, including:
     *
     * - Global permissions.
     * - Project permissions.
     * - Global permissions added by plugins.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllPermissions<T = Permissions$3>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all permissions, including:
     *
     * - Global permissions.
     * - Project permissions.
     * - Global permissions added by plugins.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllPermissions<T = Permissions$3>(callback?: never): Promise<T>;
    /**
     * Returns:
     *
     * - For a list of global permissions, the global permissions granted to a user.
     * - For a list of project permissions and lists of projects and issues, for each project permission a list of the
     *   projects and issues a user can access or manipulate.
     *
     * If no account ID is provided, the operation returns details for the logged in user.
     *
     * Note that:
     *
     * - Invalid project and issue IDs are ignored.
     * - A maximum of 1000 projects and 1000 issues can be checked.
     * - Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and
     *   `projectPermissions.issues` are ignored.
     * - Empty strings in `projectPermissions.permissions` are ignored.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - **Classic**: `read:jira-work`
     * - **Granular**: `read:permission:jira`
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other
     * users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain
     * permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made
     * using AP.request() in a browser.
     */
    getBulkPermissions<T = BulkPermissionGrants$1>(parameters: GetBulkPermissions$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns:
     *
     * - For a list of global permissions, the global permissions granted to a user.
     * - For a list of project permissions and lists of projects and issues, for each project permission a list of the
     *   projects and issues a user can access or manipulate.
     *
     * If no account ID is provided, the operation returns details for the logged in user.
     *
     * Note that:
     *
     * - Invalid project and issue IDs are ignored.
     * - A maximum of 1000 projects and 1000 issues can be checked.
     * - Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and
     *   `projectPermissions.issues` are ignored.
     * - Empty strings in `projectPermissions.permissions` are ignored.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - **Classic**: `read:jira-work`
     * - **Granular**: `read:permission:jira`
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other
     * users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain
     * permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made
     * using AP.request() in a browser.
     */
    getBulkPermissions<T = BulkPermissionGrants$1>(parameters?: GetBulkPermissions$1, callback?: never): Promise<T>;
    /**
     * Returns all the projects where the user is granted a list of project permissions.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getPermittedProjects<T = PermittedProjects$1>(parameters: GetPermittedProjects$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all the projects where the user is granted a list of project permissions.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getPermittedProjects<T = PermittedProjects$1>(parameters?: GetPermittedProjects$1, callback?: never): Promise<T>;
}

declare class Plans$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of plans.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlans<T = PageWithCursorGetPlanResponseForPage$1>(parameters: GetPlans$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of plans.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlans<T = PageWithCursorGetPlanResponseForPage$1>(parameters?: GetPlans$1, callback?: never): Promise<T>;
    /**
     * Creates a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPlan<T = unknown>(parameters: CreatePlan$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPlan<T = unknown>(parameters: CreatePlan$1, callback?: never): Promise<T>;
    /**
     * Returns a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlan<T = Plan$1>(parameters: GetPlan$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlan<T = Plan$1>(parameters: GetPlan$1, callback?: never): Promise<T>;
    /**
     * Updates any of the following details of a plan using [JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - Name
     * - LeadAccountId
     * - Scheduling
     *
     *   - Estimation with StoryPoints, Days or Hours as possible values
     *   - StartDate
     *
     *       - Type with DueDate, TargetStartDate, TargetEndDate or DateCustomField as possible values
     *       - DateCustomFieldId
     *   - EndDate
     *
     *       - Type with DueDate, TargetStartDate, TargetEndDate or DateCustomField as possible values
     *       - DateCustomFieldId
     *   - InferredDates with None, SprintDates or ReleaseDates as possible values
     *   - Dependencies with Sequential or Concurrent as possible values
     * - IssueSources
     *
     *   - Type with Board, Project or Filter as possible values
     *   - Value
     * - ExclusionRules
     *
     *   - NumberOfDaysToShowCompletedIssues
     *   - IssueIds
     *   - WorkStatusIds
     *   - WorkStatusCategoryIds
     *   - IssueTypeIds
     *   - ReleaseIds
     * - CrossProjectReleases
     *
     *   - Name
     *   - ReleaseIds
     * - CustomFields
     *
     *   - CustomFieldId
     *   - Filter
     * - Permissions
     *
     *   - Type with View or Edit as possible values
     *   - Holder
     *
     *       - Type with Group or AccountId as possible values
     *       - Value
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get plan" endpoint to find
     * out the order of array elements._
     */
    updatePlan<T = void>(parameters: UpdatePlan$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates any of the following details of a plan using [JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - Name
     * - LeadAccountId
     * - Scheduling
     *
     *   - Estimation with StoryPoints, Days or Hours as possible values
     *   - StartDate
     *
     *       - Type with DueDate, TargetStartDate, TargetEndDate or DateCustomField as possible values
     *       - DateCustomFieldId
     *   - EndDate
     *
     *       - Type with DueDate, TargetStartDate, TargetEndDate or DateCustomField as possible values
     *       - DateCustomFieldId
     *   - InferredDates with None, SprintDates or ReleaseDates as possible values
     *   - Dependencies with Sequential or Concurrent as possible values
     * - IssueSources
     *
     *   - Type with Board, Project or Filter as possible values
     *   - Value
     * - ExclusionRules
     *
     *   - NumberOfDaysToShowCompletedIssues
     *   - IssueIds
     *   - WorkStatusIds
     *   - WorkStatusCategoryIds
     *   - IssueTypeIds
     *   - ReleaseIds
     * - CrossProjectReleases
     *
     *   - Name
     *   - ReleaseIds
     * - CustomFields
     *
     *   - CustomFieldId
     *   - Filter
     * - Permissions
     *
     *   - Type with View or Edit as possible values
     *   - Holder
     *
     *       - Type with Group or AccountId as possible values
     *       - Value
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get plan" endpoint to find
     * out the order of array elements._
     */
    updatePlan<T = void>(parameters: UpdatePlan$1, callback?: never): Promise<T>;
    /**
     * Archives a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    archivePlan<T = void>(parameters: ArchivePlan$1, callback: Callback<T>): Promise<void>;
    /**
     * Archives a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    archivePlan<T = void>(parameters: ArchivePlan$1, callback?: never): Promise<T>;
    /**
     * Duplicates a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    duplicatePlan<T = unknown>(parameters: DuplicatePlan$1, callback: Callback<T>): Promise<void>;
    /**
     * Duplicates a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    duplicatePlan<T = unknown>(parameters: DuplicatePlan$1, callback?: never): Promise<T>;
    /**
     * Moves a plan to trash.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    trashPlan<T = void>(parameters: TrashPlan$1, callback: Callback<T>): Promise<void>;
    /**
     * Moves a plan to trash.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    trashPlan<T = void>(parameters: TrashPlan$1, callback?: never): Promise<T>;
}

declare class PrioritySchemes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priority schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPrioritySchemes<T = Paginated<PrioritySchemeWithPaginatedPrioritiesAndProjects$1>>(parameters: GetPrioritySchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priority schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPrioritySchemes<T = Paginated<PrioritySchemeWithPaginatedPrioritiesAndProjects$1>>(parameters?: GetPrioritySchemes$1, callback?: never): Promise<T>;
    /**
     * Creates a new priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPriorityScheme<T = PrioritySchemeId$1>(parameters: CreatePriorityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a new priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPriorityScheme<T = PrioritySchemeId$1>(parameters: CreatePriorityScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priorities that would require mapping, given a change in priorities or projects associated with a priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    suggestedPrioritiesForMappings<T = Paginated<PriorityWithSequence$1>>(parameters: SuggestedPrioritiesForMappings$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priorities that would require mapping, given a change in priorities or projects associated with a priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    suggestedPrioritiesForMappings<T = Paginated<PriorityWithSequence$1>>(parameters?: SuggestedPrioritiesForMappings$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priorities available for adding to a priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAvailablePrioritiesByPriorityScheme<T = Paginated<PriorityWithSequence$1>>(parameters: GetAvailablePrioritiesByPriorityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priorities available for adding to a priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAvailablePrioritiesByPriorityScheme<T = Paginated<PriorityWithSequence$1>>(parameters: GetAvailablePrioritiesByPriorityScheme$1, callback?: never): Promise<T>;
    /**
     * Updates a priority scheme. This includes its details, the lists of priorities and projects in it
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePriorityScheme<T = UpdatePrioritySchemeResponse$1>(parameters: UpdatePriorityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a priority scheme. This includes its details, the lists of priorities and projects in it
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePriorityScheme<T = UpdatePrioritySchemeResponse$1>(parameters: UpdatePriorityScheme$1, callback?: never): Promise<T>;
    /**
     * Deletes a priority scheme.
     *
     * This operation is only available for priority schemes without any associated projects. Any associated projects must
     * be removed from the priority scheme before this operation can be performed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePriorityScheme<T = void>(parameters: DeletePriorityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a priority scheme.
     *
     * This operation is only available for priority schemes without any associated projects. Any associated projects must
     * be removed from the priority scheme before this operation can be performed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePriorityScheme<T = void>(parameters: DeletePriorityScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priorities by scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPrioritiesByPriorityScheme<T = Paginated<PriorityWithSequence$1>>(parameters: GetPrioritiesByPriorityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * priorities by scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPrioritiesByPriorityScheme<T = Paginated<PriorityWithSequence$1>>(parameters: GetPrioritiesByPriorityScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * projects by scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getProjectsByPriorityScheme<T = PageProject$1>(parameters: GetProjectsByPriorityScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * projects by scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getProjectsByPriorityScheme<T = PageProject$1>(parameters: GetProjectsByPriorityScheme$1, callback?: never): Promise<T>;
}

declare class ProjectAvatars$2 {
    private client;
    constructor(client: Client);
    /**
     * Sets the avatar displayed for a project.
     *
     * Use [Load project avatar](#api-rest-api-2-project-projectIdOrKey-avatar2-post) to store avatars against the
     * project, before using this operation to set the displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    updateProjectAvatar<T = void>(parameters: UpdateProjectAvatar$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the avatar displayed for a project.
     *
     * Use [Load project avatar](#api-rest-api-2-project-projectIdOrKey-avatar2-post) to store avatars against the
     * project, before using this operation to set the displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    updateProjectAvatar<T = void>(parameters: UpdateProjectAvatar$1, callback?: never): Promise<T>;
    /**
     * Deletes a custom avatar from a project. Note that system avatars cannot be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    deleteProjectAvatar<T = void>(parameters: DeleteProjectAvatar$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a custom avatar from a project. Note that system avatars cannot be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    deleteProjectAvatar<T = void>(parameters: DeleteProjectAvatar$1, callback?: never): Promise<T>;
    /**
     * Loads an avatar for a project.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar use [Set project
     * avatar](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-project-avatars/#api-rest-api-2-project-projectidorkey-avatar-put)
     * to set it as the project's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    createProjectAvatar<T = Avatar$1>(parameters: CreateProjectAvatar$1, callback: Callback<T>): Promise<void>;
    /**
     * Loads an avatar for a project.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar use [Set project
     * avatar](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-project-avatars/#api-rest-api-2-project-projectidorkey-avatar-put)
     * to set it as the project's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    createProjectAvatar<T = Avatar$1>(parameters: CreateProjectAvatar$1, callback?: never): Promise<T>;
    /**
     * Returns all project avatars, grouped by system and custom avatars.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getAllProjectAvatars<T = ProjectAvatars$3>(parameters: GetAllProjectAvatars$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all project avatars, grouped by system and custom avatars.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getAllProjectAvatars<T = ProjectAvatars$3>(parameters: GetAllProjectAvatars$1 | string, callback?: never): Promise<T>;
}

declare class ProjectCategories$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all project categories.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAllProjectCategories<T = ProjectCategory$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all project categories.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAllProjectCategories<T = ProjectCategory$1[]>(callback?: never): Promise<T>;
    /**
     * Creates a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProjectCategory<T = ProjectCategory$1>(parameters: CreateProjectCategory$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProjectCategory<T = ProjectCategory$1>(parameters: CreateProjectCategory$1, callback?: never): Promise<T>;
    /**
     * Returns a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getProjectCategoryById<T = ProjectCategory$1>(parameters: GetProjectCategoryById$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getProjectCategoryById<T = ProjectCategory$1>(parameters: GetProjectCategoryById$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateProjectCategory<T = UpdatedProjectCategory$1>(parameters: UpdateProjectCategory$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateProjectCategory<T = UpdatedProjectCategory$1>(parameters: UpdateProjectCategory$1, callback?: never): Promise<T>;
    /**
     * Deletes a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeProjectCategory<T = void>(parameters: RemoveProjectCategory$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeProjectCategory<T = void>(parameters: RemoveProjectCategory$1 | string, callback?: never): Promise<T>;
}

declare class ProjectClassificationLevels$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the default data classification for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultProjectClassification<T = unknown>(parameters: GetDefaultProjectClassification$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default data classification for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultProjectClassification<T = unknown>(parameters: GetDefaultProjectClassification$1, callback?: never): Promise<T>;
    /**
     * Updates the default data classification level for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultProjectClassification<T = void>(parameters: UpdateDefaultProjectClassification$2, callback: Callback<T>): Promise<void>;
    /**
     * Updates the default data classification level for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultProjectClassification<T = void>(parameters: UpdateDefaultProjectClassification$2, callback?: never): Promise<T>;
    /**
     * Remove the default data classification level for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeDefaultProjectClassification<T = void>(parameters: RemoveDefaultProjectClassification$1, callback: Callback<T>): Promise<void>;
    /**
     * Remove the default data classification level for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeDefaultProjectClassification<T = void>(parameters: RemoveDefaultProjectClassification$1, callback?: never): Promise<T>;
}

declare class ProjectComponents$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * components in a project, including global (Compass) components when applicable.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    findComponentsForProjects<T = Paginated<Component$1>>(parameters: FindComponentsForProjects$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * components in a project, including global (Compass) components when applicable.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    findComponentsForProjects<T = Paginated<Component$1>>(parameters?: FindComponentsForProjects$1, callback?: never): Promise<T>;
    /**
     * Creates a component. Use components to provide containers for issues within a project. Use components to provide
     * containers for issues within a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the
     * component is created or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createComponent<T = ProjectComponent$1>(parameters: CreateComponent$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a component. Use components to provide containers for issues within a project. Use components to provide
     * containers for issues within a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the
     * component is created or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createComponent<T = ProjectComponent$1>(parameters: CreateComponent$1, callback?: never): Promise<T>;
    /**
     * Returns a component.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.
     */
    getComponent<T = ProjectComponent$1>(parameters: GetComponent$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a component.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.
     */
    getComponent<T = ProjectComponent$1>(parameters: GetComponent$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string ("")
     * the component lead is removed.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateComponent<T = ProjectComponent$1>(parameters: UpdateComponent$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string ("")
     * the component lead is removed.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateComponent<T = ProjectComponent$1>(parameters: UpdateComponent$1, callback?: never): Promise<T>;
    /**
     * Deletes a component.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteComponent<T = void>(parameters: DeleteComponent$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a component.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteComponent<T = void>(parameters: DeleteComponent$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the counts of issues assigned to the component.
     *
     * This operation can be accessed anonymously.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - **Classic**: `read:jira-work`
     * - **Granular**: `read:field:jira`, `read:project.component:jira`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getComponentRelatedIssues<T = ComponentIssuesCount$1>(parameters: GetComponentRelatedIssues$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the counts of issues assigned to the component.
     *
     * This operation can be accessed anonymously.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - **Classic**: `read:jira-work`
     * - **Granular**: `read:field:jira`, `read:project.component:jira`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getComponentRelatedIssues<T = ComponentIssuesCount$1>(parameters: GetComponentRelatedIssues$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * components in a project. See the [Get project components](#api-rest-api-2-project-projectIdOrKey-components-get)
     * resource if you want to get a full list of versions without pagination.
     *
     * If your project uses Compass components, this API will return a list of Compass components that are linked to
     * issues in that project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectComponentsPaginated<T = PageComponentWithIssueCount$1>(parameters: GetProjectComponentsPaginated$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * components in a project. See the [Get project components](#api-rest-api-2-project-projectIdOrKey-components-get)
     * resource if you want to get a full list of versions without pagination.
     *
     * If your project uses Compass components, this API will return a list of Compass components that are linked to
     * issues in that project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectComponentsPaginated<T = PageComponentWithIssueCount$1>(parameters: GetProjectComponentsPaginated$1, callback?: never): Promise<T>;
    /**
     * Returns all components in a project. See the [Get project components
     * paginated](#api-rest-api-2-project-projectIdOrKey-component-get) resource if you want to get a full list of
     * components with pagination.
     *
     * If your project uses Compass components, this API will return a paginated list of Compass components that are
     * linked to issues in that project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectComponents<T = ProjectComponent$1[]>(parameters: GetProjectComponents$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all components in a project. See the [Get project components
     * paginated](#api-rest-api-2-project-projectIdOrKey-component-get) resource if you want to get a full list of
     * components with pagination.
     *
     * If your project uses Compass components, this API will return a paginated list of Compass components that are
     * linked to issues in that project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectComponents<T = ProjectComponent$1[]>(parameters: GetProjectComponents$1 | string, callback?: never): Promise<T>;
}

declare class ProjectEmail$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectEmail<T = ProjectEmailAddress$1>(parameters: GetProjectEmail$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectEmail<T = ProjectEmailAddress$1>(parameters: GetProjectEmail$1 | string, callback?: never): Promise<T>;
    /**
     * Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
     *
     * If `emailAddress` is an empty string, the default email address is restored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    updateProjectEmail<T = void>(parameters: UpdateProjectEmail$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
     *
     * If `emailAddress` is an empty string, the default email address is restored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    updateProjectEmail<T = void>(parameters: UpdateProjectEmail$1, callback?: never): Promise<T>;
}

declare class ProjectFeatures$1 {
    private client;
    constructor(client: Client);
    /** Returns the list of features for a project. */
    getFeaturesForProject<T = ContainerForProjectFeatures$1>(parameters: GetFeaturesForProject$1 | string, callback: Callback<T>): Promise<void>;
    /** Returns the list of features for a project. */
    getFeaturesForProject<T = ContainerForProjectFeatures$1>(parameters: GetFeaturesForProject$1 | string, callback?: never): Promise<T>;
    /** Sets the state of a project feature. */
    toggleFeatureForProject<T = ContainerForProjectFeatures$1>(parameters: ToggleFeatureForProject$1, callback: Callback<T>): Promise<void>;
    /** Sets the state of a project feature. */
    toggleFeatureForProject<T = ContainerForProjectFeatures$1>(parameters: ToggleFeatureForProject$1, callback?: never): Promise<T>;
}

declare class ProjectKeyAndNameValidation$1 {
    private client;
    constructor(client: Client);
    /**
     * Validates a project key by confirming the key is a valid string and not in use.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    validateProjectKey<T = ErrorCollection$1>(parameters: ValidateProjectKey$1 | string | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Validates a project key by confirming the key is a valid string and not in use.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    validateProjectKey<T = ErrorCollection$1>(parameters?: ValidateProjectKey$1 | string, callback?: never): Promise<T>;
    /**
     * Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getValidProjectKey<T = string>(parameters: GetValidProjectKey$1 | string | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getValidProjectKey<T = string>(parameters?: GetValidProjectKey$1 | string, callback?: never): Promise<T>;
    /**
     * Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in
     * use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a
     * sequence number. If a valid project name cannot be generated, a 404 response is returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getValidProjectName<T = unknown>(parameters: GetValidProjectName$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in
     * use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a
     * sequence number. If a valid project name cannot be generated, a 404 response is returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getValidProjectName<T = unknown>(parameters: GetValidProjectName$1 | string, callback?: never): Promise<T>;
}

declare class ProjectPermissionSchemes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or the _Administer Projects_
     * [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getProjectIssueSecurityScheme<T = SecurityScheme$1>(parameters: GetProjectIssueSecurityScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or the _Administer Projects_
     * [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getProjectIssueSecurityScheme<T = SecurityScheme$1>(parameters: GetProjectIssueSecurityScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getAssignedPermissionScheme<T = PermissionScheme$1>(parameters: GetAssignedPermissionScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getAssignedPermissionScheme<T = PermissionScheme$1>(parameters: GetAssignedPermissionScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Assigns a permission scheme with a project. See [Managing project
     * permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    assignPermissionScheme<T = PermissionScheme$1>(parameters: AssignPermissionScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Assigns a permission scheme with a project. See [Managing project
     * permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    assignPermissionScheme<T = PermissionScheme$1>(parameters: AssignPermissionScheme$1, callback?: never): Promise<T>;
    /**
     * Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has
     * access to.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security
     * levels are only returned for authenticated user with _Set Issue Security_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) for the project.
     */
    getSecurityLevelsForProject<T = ProjectIssueSecurityLevels$1>(parameters: GetSecurityLevelsForProject$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has
     * access to.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security
     * levels are only returned for authenticated user with _Set Issue Security_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) for the project.
     */
    getSecurityLevelsForProject<T = ProjectIssueSecurityLevels$1>(parameters: GetSecurityLevelsForProject$1 | string, callback?: never): Promise<T>;
}

declare class ProjectProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * keys for the project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectPropertyKeys<T = PropertyKeys$2>(parameters: GetProjectPropertyKeys$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * keys for the project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectPropertyKeys<T = PropertyKeys$2>(parameters: GetProjectPropertyKeys$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the value of a [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
     */
    getProjectProperty<T = EntityProperty$2>(parameters: GetProjectProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
     */
    getProjectProperty<T = EntityProperty$2>(parameters: GetProjectProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of the [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     * You can use project properties to store custom data against the project.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.
     */
    setProjectProperty<T = unknown>(parameters: SetProjectProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of the [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     * You can use project properties to store custom data against the project.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.
     */
    setProjectProperty<T = unknown>(parameters: SetProjectProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes the
     * [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * from a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
     */
    deleteProjectProperty<T = void>(parameters: DeleteProjectProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the
     * [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * from a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
     */
    deleteProjectProperty<T = void>(parameters: DeleteProjectProperty$1, callback?: never): Promise<T>;
}

declare class ProjectRoleActors$1 {
    private client;
    constructor(client: Client);
    /**
     * Adds actors to a project role for the project.
     *
     * To replace all actors for the project, use [Set actors for project
     * role](#api-rest-api-2-project-projectIdOrKey-role-id-put).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addActorUsers<T = ProjectRole$1>(parameters: AddActorUsers$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds actors to a project role for the project.
     *
     * To replace all actors for the project, use [Set actors for project
     * role](#api-rest-api-2-project-projectIdOrKey-role-id-put).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addActorUsers<T = ProjectRole$1>(parameters: AddActorUsers$1, callback?: never): Promise<T>;
    /**
     * Sets the actors for a project role for a project, replacing all existing actors.
     *
     * To add actors to the project without overwriting the existing list, use [Add actors to project
     * role](#api-rest-api-2-project-projectIdOrKey-role-id-post).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setActors<T = ProjectRole$1>(parameters: SetActors$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the actors for a project role for a project, replacing all existing actors.
     *
     * To add actors to the project without overwriting the existing list, use [Add actors to project
     * role](#api-rest-api-2-project-projectIdOrKey-role-id-post).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setActors<T = ProjectRole$1>(parameters: SetActors$1, callback?: never): Promise<T>;
    /**
     * Deletes actors from a project role for the project.
     *
     * To remove default actors from the project role, use [Delete default actors from project
     * role](#api-rest-api-2-role-id-actors-delete).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteActor<T = void>(parameters: DeleteActor$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes actors from a project role for the project.
     *
     * To remove default actors from the project role, use [Delete default actors from project
     * role](#api-rest-api-2-role-id-actors-delete).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteActor<T = void>(parameters: DeleteActor$1, callback?: never): Promise<T>;
    /**
     * Returns the [default actors](#api-rest-api-2-resolution-get) for the project role.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoleActorsForRole<T = ProjectRole$1>(parameters: GetProjectRoleActorsForRole$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the [default actors](#api-rest-api-2-resolution-get) for the project role.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoleActorsForRole<T = ProjectRole$1>(parameters: GetProjectRoleActorsForRole$1 | string, callback?: never): Promise<T>;
    /**
     * Adds [default actors](#api-rest-api-2-resolution-get) to a role. You may add groups or users, but you cannot add
     * groups and users in the same request.
     *
     * Changing a project role's default actors does not affect project role members for projects already created.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addProjectRoleActorsToRole<T = ProjectRole$1>(parameters: AddProjectRoleActorsToRole$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds [default actors](#api-rest-api-2-resolution-get) to a role. You may add groups or users, but you cannot add
     * groups and users in the same request.
     *
     * Changing a project role's default actors does not affect project role members for projects already created.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addProjectRoleActorsToRole<T = ProjectRole$1>(parameters: AddProjectRoleActorsToRole$1, callback?: never): Promise<T>;
    /**
     * Deletes the [default actors](#api-rest-api-2-resolution-get) from a project role. You may delete a group or user,
     * but you cannot delete a group and a user in the same request.
     *
     * Changing a project role's default actors does not affect project role members for projects already created.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectRoleActorsFromRole<T = ProjectRole$1>(parameters: DeleteProjectRoleActorsFromRole$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the [default actors](#api-rest-api-2-resolution-get) from a project role. You may delete a group or user,
     * but you cannot delete a group and a user in the same request.
     *
     * Changing a project role's default actors does not affect project role members for projects already created.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectRoleActorsFromRole<T = ProjectRole$1>(parameters: DeleteProjectRoleActorsFromRole$1, callback?: never): Promise<T>;
}

declare class ProjectRoles$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of [project
     * roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) for the project
     * returning the name and self URL for each role.
     *
     * Note that all project roles are shared with all projects in Jira Cloud. See [Get all project
     * roles](#api-rest-api-2-role-get) for more information.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site
     * or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoles<T = Record<string, string>>(parameters: GetProjectRoles$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of [project
     * roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) for the project
     * returning the name and self URL for each role.
     *
     * Note that all project roles are shared with all projects in Jira Cloud. See [Get all project
     * roles](#api-rest-api-2-role-get) for more information.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site
     * or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoles<T = Record<string, string>>(parameters: GetProjectRoles$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a project role's details and actors associated with the project. The list of actors is sorted by display
     * name.
     *
     * To check whether a user belongs to a role based on their group memberships, use [Get
     * user](#api-rest-api-2-user-get) with the `groups` expand parameter selected. Then check whether the user keys and
     * groups match with the actors returned for the project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRole<T = ProjectRole$1>(parameters: GetProjectRole$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a project role's details and actors associated with the project. The list of actors is sorted by display
     * name.
     *
     * To check whether a user belongs to a role based on their group memberships, use [Get
     * user](#api-rest-api-2-user-get) with the `groups` expand parameter selected. Then check whether the user keys and
     * groups match with the actors returned for the project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRole<T = ProjectRole$1>(parameters: GetProjectRole$1, callback?: never): Promise<T>;
    /**
     * Returns all [project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) and
     * the details for each role. Note that the list of project roles is common to all projects.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectRoleDetails<T = ProjectRoleDetails$1[]>(parameters: GetProjectRoleDetails$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all [project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) and
     * the details for each role. Note that the list of project roles is common to all projects.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectRoleDetails<T = ProjectRoleDetails$1[]>(parameters: GetProjectRoleDetails$1 | string, callback?: never): Promise<T>;
    /**
     * Gets a list of all project roles, complete with project role details and default actors.
     *
     * ### About project roles
     *
     * [Project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) are a flexible
     * way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally
     * with all projects, but each project can have a different set of actors associated with it (unlike groups, which
     * have the same membership throughout all Jira applications).
     *
     * Project roles are used in [permission schemes](#api-rest-api-2-permissionscheme-get), [email notification
     * schemes](#api-rest-api-2-notificationscheme-get), [issue security
     * levels](#api-rest-api-2-issuesecurityschemes-get), [comment visibility](#api-rest-api-2-comment-list-post), and
     * workflow conditions.
     *
     * #### Members and actors
     *
     * In the Jira REST API, a member of a project role is called an _actor_. An _actor_ is a group or user associated
     * with a project role.
     *
     * Actors may be set as [default
     * members](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/#Specifying-'default-members'-for-a-project-role)
     * of the project role or set at the project level:
     *
     * - Default actors: Users and groups that are assigned to the project role for all newly created projects. The default
     *   actors can be removed at the project level later if desired.
     * - Actors: Users and groups that are associated with a project role for a project, which may differ from the default
     *   actors. This enables you to assign a user to different roles in different projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllProjectRoles<T = ProjectRole$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Gets a list of all project roles, complete with project role details and default actors.
     *
     * ### About project roles
     *
     * [Project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) are a flexible
     * way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally
     * with all projects, but each project can have a different set of actors associated with it (unlike groups, which
     * have the same membership throughout all Jira applications).
     *
     * Project roles are used in [permission schemes](#api-rest-api-2-permissionscheme-get), [email notification
     * schemes](#api-rest-api-2-notificationscheme-get), [issue security
     * levels](#api-rest-api-2-issuesecurityschemes-get), [comment visibility](#api-rest-api-2-comment-list-post), and
     * workflow conditions.
     *
     * #### Members and actors
     *
     * In the Jira REST API, a member of a project role is called an _actor_. An _actor_ is a group or user associated
     * with a project role.
     *
     * Actors may be set as [default
     * members](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/#Specifying-'default-members'-for-a-project-role)
     * of the project role or set at the project level:
     *
     * - Default actors: Users and groups that are assigned to the project role for all newly created projects. The default
     *   actors can be removed at the project level later if desired.
     * - Actors: Users and groups that are associated with a project role for a project, which may differ from the default
     *   actors. This enables you to assign a user to different roles in different projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllProjectRoles<T = ProjectRole$1[]>(callback?: never): Promise<T>;
    /**
     * Creates a new project role with no [default actors](#api-rest-api-2-resolution-get). You can use the [Add default
     * actors to project role](#api-rest-api-2-role-id-actors-post) operation to add default actors to the project role
     * after creating it.
     *
     * _Note that although a new project role is available to all projects upon creation, any default actors that are
     * associated with the project role are not added to projects that existed prior to the role being created._<
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProjectRole<T = ProjectRole$1>(parameters: CreateProjectRole$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a new project role with no [default actors](#api-rest-api-2-resolution-get). You can use the [Add default
     * actors to project role](#api-rest-api-2-role-id-actors-post) operation to add default actors to the project role
     * after creating it.
     *
     * _Note that although a new project role is available to all projects upon creation, any default actors that are
     * associated with the project role are not added to projects that existed prior to the role being created._<
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProjectRole<T = ProjectRole$1>(parameters: CreateProjectRole$1, callback?: never): Promise<T>;
    /**
     * Gets the project role details and the default actors associated with the role. The list of default actors is sorted
     * by display name.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoleById<T = ProjectRole$1>(parameters: GetProjectRoleById$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Gets the project role details and the default actors associated with the role. The list of default actors is sorted
     * by display name.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoleById<T = ProjectRole$1>(parameters: GetProjectRoleById$1 | string, callback?: never): Promise<T>;
    /**
     * Updates either the project role's name or its description.
     *
     * You cannot update both the name and description at the same time using this operation. If you send a request with a
     * name and a description only the name is updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    partialUpdateProjectRole<T = ProjectRole$1>(parameters: PartialUpdateProjectRole$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates either the project role's name or its description.
     *
     * You cannot update both the name and description at the same time using this operation. If you send a request with a
     * name and a description only the name is updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    partialUpdateProjectRole<T = ProjectRole$1>(parameters: PartialUpdateProjectRole$1, callback?: never): Promise<T>;
    /**
     * Updates the project role's name and description. You must include both a name and a description in the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    fullyUpdateProjectRole<T = ProjectRole$1>(parameters: FullyUpdateProjectRole$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the project role's name and description. You must include both a name and a description in the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    fullyUpdateProjectRole<T = ProjectRole$1>(parameters: FullyUpdateProjectRole$1, callback?: never): Promise<T>;
    /**
     * Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in
     * use.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectRole<T = void>(parameters: DeleteProjectRole$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in
     * use.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectRole<T = void>(parameters: DeleteProjectRole$1 | string, callback?: never): Promise<T>;
}

declare class ProjectTemplates$1 {
    private client;
    constructor(client: Client);
    /**
     * Creates a project based on a custom template provided in the request.
     *
     * The request body should contain the project details and the capabilities that comprise the project:
     *
     * - `details` - represents the project details settings
     * - `template` - represents a list of capabilities responsible for creating specific parts of a project
     *
     * A capability is defined as a unit of configuration for the project you want to create.
     *
     * This operation is:
     *
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `Location` link in the response header to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * _**Note: This API is only supported for Jira Enterprise edition.**_
     */
    createProjectWithCustomTemplate<T = unknown>(parameters: CreateProjectWithCustomTemplate$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Creates a project based on a custom template provided in the request.
     *
     * The request body should contain the project details and the capabilities that comprise the project:
     *
     * - `details` - represents the project details settings
     * - `template` - represents a list of capabilities responsible for creating specific parts of a project
     *
     * A capability is defined as a unit of configuration for the project you want to create.
     *
     * This operation is:
     *
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `Location` link in the response header to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * _**Note: This API is only supported for Jira Enterprise edition.**_
     */
    createProjectWithCustomTemplate<T = unknown>(parameters?: CreateProjectWithCustomTemplate$1, callback?: never): Promise<T>;
}

declare class ProjectTypes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid
     * license for each type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllProjectTypes<T = ProjectType$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid
     * license for each type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getAllProjectTypes<T = ProjectType$1[]>(callback?: never): Promise<T>;
    /** Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license. */
    getAllAccessibleProjectTypes<T = ProjectType$1[]>(callback: Callback<T>): Promise<void>;
    /** Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license. */
    getAllAccessibleProjectTypes<T = ProjectType$1[]>(callback?: never): Promise<T>;
    /**
     * Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getProjectTypeByKey<T = ProjectType$1>(parameters: GetProjectTypeByKey$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getProjectTypeByKey<T = ProjectType$1>(parameters: GetProjectTypeByKey$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAccessibleProjectTypeByKey<T = ProjectType$1>(parameters: GetAccessibleProjectTypeByKey$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAccessibleProjectTypeByKey<T = ProjectType$1>(parameters: GetAccessibleProjectTypeByKey$1 | string, callback?: never): Promise<T>;
}

declare class ProjectVersions$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * versions in a project. See the [Get project versions](#api-rest-api-2-project-projectIdOrKey-versions-get) resource
     * if you want to get a full list of versions without pagination.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectVersionsPaginated<T = PageVersion$1>(parameters: GetProjectVersionsPaginated$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * versions in a project. See the [Get project versions](#api-rest-api-2-project-projectIdOrKey-versions-get) resource
     * if you want to get a full list of versions without pagination.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectVersionsPaginated<T = PageVersion$1>(parameters: GetProjectVersionsPaginated$1 | string, callback?: never): Promise<T>;
    /**
     * Returns all versions in a project. The response is not paginated. Use [Get project versions
     * paginated](#api-rest-api-2-project-projectIdOrKey-version-get) if you want to get the versions in a project with
     * pagination.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectVersions<T = Version$2[]>(parameters: GetProjectVersions$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all versions in a project. The response is not paginated. Use [Get project versions
     * paginated](#api-rest-api-2-project-projectIdOrKey-version-get) if you want to get the versions in a project with
     * pagination.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectVersions<T = Version$2[]>(parameters: GetProjectVersions$1 | string, callback?: never): Promise<T>;
    /**
     * Creates a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.
     */
    createVersion<T = Version$2>(parameters: CreateVersion$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.
     */
    createVersion<T = Version$2>(parameters: CreateVersion$1, callback?: never): Promise<T>;
    /**
     * Returns a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
     */
    getVersion<T = Version$2>(parameters: GetVersion$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
     */
    getVersion<T = Version$2>(parameters: GetVersion$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    updateVersion<T = Version$2>(parameters: UpdateVersion$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    updateVersion<T = Version$2>(parameters: UpdateVersion$1, callback?: never): Promise<T>;
    /**
     * Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any
     * occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.
     *
     * Consider using [ Delete and replace version](#api-rest-api-2-version-id-removeAndSwap-post) instead. This resource
     * supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    mergeVersions<T = void>(parameters: MergeVersions$1, callback: Callback<T>): Promise<void>;
    /**
     * Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any
     * occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.
     *
     * Consider using [ Delete and replace version](#api-rest-api-2-version-id-removeAndSwap-post) instead. This resource
     * supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    mergeVersions<T = void>(parameters: MergeVersions$1, callback?: never): Promise<T>;
    /**
     * Modifies the version's sequence within the project, which affects the display order of the versions in Jira.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    moveVersion<T = Version$2>(parameters: MoveVersion$1, callback: Callback<T>): Promise<void>;
    /**
     * Modifies the version's sequence within the project, which affects the display order of the versions in Jira.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    moveVersion<T = Version$2>(parameters: MoveVersion$1, callback?: never): Promise<T>;
    /**
     * Returns the following counts for a version:
     *
     * - Number of issues where the `fixVersion` is set to the version.
     * - Number of issues where the `affectedVersion` is set to the version.
     * - Number of issues where a version custom field is set to the version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    getVersionRelatedIssues<T = VersionIssueCounts$1>(parameters: GetVersionRelatedIssues$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the following counts for a version:
     *
     * - Number of issues where the `fixVersion` is set to the version.
     * - Number of issues where the `affectedVersion` is set to the version.
     * - Number of issues where a version custom field is set to the version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    getVersionRelatedIssues<T = VersionIssueCounts$1>(parameters: GetVersionRelatedIssues$1 | string, callback?: never): Promise<T>;
    /**
     * Returns related work items for the given version id.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
     */
    getRelatedWork<T = VersionRelatedWork$1[]>(parameters: GetRelatedWork$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns related work items for the given version id.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
     */
    getRelatedWork<T = VersionRelatedWork$1[]>(parameters: GetRelatedWork$1, callback?: never): Promise<T>;
    /**
     * Creates a related work for the given version. You can only create a generic link type of related works via this
     * API. relatedWorkId will be auto-generated UUID, that does not need to be provided.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    createRelatedWork<T = VersionRelatedWork$1>(parameters: CreateRelatedWork$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a related work for the given version. You can only create a generic link type of related works via this
     * API. relatedWorkId will be auto-generated UUID, that does not need to be provided.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    createRelatedWork<T = VersionRelatedWork$1>(parameters: CreateRelatedWork$1, callback?: never): Promise<T>;
    /**
     * Updates the given related work. You can only update generic link related works via Rest APIs. Any archived version
     * related works can't be edited.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    updateRelatedWork<T = VersionRelatedWork$1>(parameters: UpdateRelatedWork$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the given related work. You can only update generic link related works via Rest APIs. Any archived version
     * related works can't be edited.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    updateRelatedWork<T = VersionRelatedWork$1>(parameters: UpdateRelatedWork$1, callback?: never): Promise<T>;
    /**
     * Deletes a project version.
     *
     * Alternative versions can be provided to update issues that use the deleted version in `fixVersion`,
     * `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of
     * `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are
     * cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version
     * being deleted.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    deleteAndReplaceVersion<T = void>(parameters: DeleteAndReplaceVersion$2, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project version.
     *
     * Alternative versions can be provided to update issues that use the deleted version in `fixVersion`,
     * `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of
     * `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are
     * cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version
     * being deleted.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    deleteAndReplaceVersion<T = void>(parameters: DeleteAndReplaceVersion$2, callback?: never): Promise<T>;
    /**
     * Returns counts of the issues and unresolved issues for the project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    getVersionUnresolvedIssues<T = VersionUnresolvedIssuesCount$1>(parameters: GetVersionUnresolvedIssues$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns counts of the issues and unresolved issues for the project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    getVersionUnresolvedIssues<T = VersionUnresolvedIssuesCount$1>(parameters: GetVersionUnresolvedIssues$1 | string, callback?: never): Promise<T>;
    /**
     * Deletes the given related work for the given version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    deleteRelatedWork<T = void>(parameters: DeleteRelatedWork$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the given related work for the given version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    deleteRelatedWork<T = void>(parameters: DeleteRelatedWork$1, callback?: never): Promise<T>;
}

declare class Projects$2 {
    private client;
    constructor(client: Client);
    /**
     * Creates a project based on a project type template, as shown in the following table:
     *
     * | Project Type Key | Project Template Key                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     * | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
     * | `business`       | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     * | `service_desk`   | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-blank-project-business`, `com.atlassian.servicedesk:simplified-blank-project-it`, `com.atlassian.servicedesk:simplified-finance-service-desk`, `com.atlassian.servicedesk:next-gen-it-service-desk`, `com.atlassian.servicedesk:next-gen-hr-service-desk`, `com.atlassian.servicedesk:next-gen-legal-service-desk`, `com.atlassian.servicedesk:next-gen-marketing-service-desk`, `com.atlassian.servicedesk:next-gen-facilities-service-desk`, `com.atlassian.servicedesk:next-gen-general-it-service-desk`, `com.atlassian.servicedesk:next-gen-general-business-service-desk`, `com.atlassian.servicedesk:next-gen-analytics-service-desk`, `com.atlassian.servicedesk:next-gen-finance-service-desk`, `com.atlassian.servicedesk:next-gen-design-service-desk`, `com.atlassian.servicedesk:next-gen-sales-service-desk` |
     * | `software`       | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     *
     * The project types are available according to the installed Jira features as follows:
     *
     * - Jira Core, the default, enables `business` projects.
     * - Jira Service Management enables `service_desk` projects.
     * - Jira Software enables `software` projects.
     *
     * To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the
     * System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** >
     * **Apps** > **Finding new apps**. For more information, see [ Managing
     * add-ons](https://confluence.atlassian.com/x/S31NLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProject<T = ProjectIdentifiers$1>(parameters: CreateProject$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a project based on a project type template, as shown in the following table:
     *
     * | Project Type Key | Project Template Key                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     * | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
     * | `business`       | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     * | `service_desk`   | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-blank-project-business`, `com.atlassian.servicedesk:simplified-blank-project-it`, `com.atlassian.servicedesk:simplified-finance-service-desk`, `com.atlassian.servicedesk:next-gen-it-service-desk`, `com.atlassian.servicedesk:next-gen-hr-service-desk`, `com.atlassian.servicedesk:next-gen-legal-service-desk`, `com.atlassian.servicedesk:next-gen-marketing-service-desk`, `com.atlassian.servicedesk:next-gen-facilities-service-desk`, `com.atlassian.servicedesk:next-gen-general-it-service-desk`, `com.atlassian.servicedesk:next-gen-general-business-service-desk`, `com.atlassian.servicedesk:next-gen-analytics-service-desk`, `com.atlassian.servicedesk:next-gen-finance-service-desk`, `com.atlassian.servicedesk:next-gen-design-service-desk`, `com.atlassian.servicedesk:next-gen-sales-service-desk` |
     * | `software`       | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     *
     * The project types are available according to the installed Jira features as follows:
     *
     * - Jira Core, the default, enables `business` projects.
     * - Jira Service Management enables `service_desk` projects.
     * - Jira Software enables `software` projects.
     *
     * To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the
     * System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** >
     * **Apps** > **Finding new apps**. For more information, see [ Managing
     * add-ons](https://confluence.atlassian.com/x/S31NLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProject<T = ProjectIdentifiers$1>(parameters: CreateProject$1, callback?: never): Promise<T>;
    /**
     * Returns a list of up to 20 projects recently viewed by the user that are still visible to the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Projects are returned only where the user has one of:
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getRecent<T = Project$2[]>(parameters: GetRecent$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of up to 20 projects recently viewed by the user that are still visible to the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Projects are returned only where the user has one of:
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getRecent<T = Project$2[]>(parameters?: GetRecent$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * projects visible to the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Projects are returned only where the user has one of:
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchProjects<T = PageProject$1>(parameters: SearchProjects$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * projects visible to the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Projects are returned only where the user has one of:
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchProjects<T = PageProject$1>(parameters?: SearchProjects$1, callback?: never): Promise<T>;
    /**
     * Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProject<T = Project$2>(parameters: GetProject$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProject<T = Project$2>(parameters: GetProject$1 | string, callback?: never): Promise<T>;
    /**
     * Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.
     *
     * All parameters are optional in the body of the request. Schemes will only be updated if they are included in the
     * request, any omitted schemes will be left unchanged.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). is only needed when changing the
     * schemes or project key. Otherwise you will only need _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg)
     */
    updateProject<T = Project$2>(parameters: UpdateProject$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.
     *
     * All parameters are optional in the body of the request. Schemes will only be updated if they are included in the
     * request, any omitted schemes will be left unchanged.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). is only needed when changing the
     * schemes or project key. Otherwise you will only need _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg)
     */
    updateProject<T = Project$2>(parameters: UpdateProject$1, callback?: never): Promise<T>;
    /**
     * Deletes a project.
     *
     * You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it.
     * To restore a project, use the Jira UI.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProject<T = void>(parameters: DeleteProject$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project.
     *
     * You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it.
     * To restore a project, use the Jira UI.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProject<T = void>(parameters: DeleteProject$1 | string, callback?: never): Promise<T>;
    /**
     * Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project
     * and then delete it. To restore a project, use the Jira UI.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    archiveProject<T = void>(parameters: ArchiveProject$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project
     * and then delete it. To restore a project, use the Jira UI.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    archiveProject<T = void>(parameters: ArchiveProject$1 | string, callback?: never): Promise<T>;
    /**
     * Deletes a project asynchronously.
     *
     * This operation is:
     *
     * - Transactional, that is, if part of the delete fails the project is not deleted.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectAsynchronously<T = unknown>(parameters: DeleteProjectAsynchronously$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project asynchronously.
     *
     * This operation is:
     *
     * - Transactional, that is, if part of the delete fails the project is not deleted.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectAsynchronously<T = unknown>(parameters: DeleteProjectAsynchronously$1 | string, callback?: never): Promise<T>;
    /**
     * Restores a project that has been archived or placed in the Jira recycle bin.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)for Company managed projects.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project for Team managed projects.
     */
    restore<T = Project$2>(parameters: Restore$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Restores a project that has been archived or placed in the Jira recycle bin.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)for Company managed projects.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project for Team managed projects.
     */
    restore<T = Project$2>(parameters: Restore$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of
     * valid issue types and each issue type has a set of valid statuses.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getAllStatuses<T = IssueTypeWithStatus$1[]>(parameters: GetAllStatuses$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of
     * valid issue types and each issue type has a set of valid statuses.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getAllStatuses<T = IssueTypeWithStatus$1[]>(parameters: GetAllStatuses$1 | string, callback?: never): Promise<T>;
    /**
     * Get the issue type hierarchy for a next-gen project.
     *
     * The issue type hierarchy for a project consists of:
     *
     * - _Epic_ at level 1 (optional).
     * - One or more issue types at level 0 such as _Story_, _Task_, or _Bug_. Where the issue type _Epic_ is defined, these
     *   issue types are used to break down the content of an epic.
     * - _Subtask_ at level -1 (optional). This issue type enables level 0 issue types to be broken down into components.
     *   Issues based on a level -1 issue type must have a parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getHierarchy<T = ProjectIssueTypeHierarchy$1>(parameters: GetHierarchy$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Get the issue type hierarchy for a next-gen project.
     *
     * The issue type hierarchy for a project consists of:
     *
     * - _Epic_ at level 1 (optional).
     * - One or more issue types at level 0 such as _Story_, _Task_, or _Bug_. Where the issue type _Epic_ is defined, these
     *   issue types are used to break down the content of an epic.
     * - _Subtask_ at level -1 (optional). This issue type enables level 0 issue types to be broken down into components.
     *   Issues based on a level -1 issue type must have a parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getHierarchy<T = ProjectIssueTypeHierarchy$1>(parameters: GetHierarchy$1 | string, callback?: never): Promise<T>;
    /**
     * Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getNotificationSchemeForProject<T = NotificationScheme$1>(parameters: GetNotificationSchemeForProject$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getNotificationSchemeForProject<T = NotificationScheme$1>(parameters: GetNotificationSchemeForProject$1 | string, callback?: never): Promise<T>;
}

declare class ScreenSchemes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of screen
     * schemes.
     *
     * Only screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreenSchemes<T = PageScreenScheme$1>(parameters: GetScreenSchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of screen
     * schemes.
     *
     * Only screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreenSchemes<T = PageScreenScheme$1>(parameters?: GetScreenSchemes$1, callback?: never): Promise<T>;
    /**
     * Creates a screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createScreenScheme<T = ScreenSchemeId$1>(parameters: CreateScreenScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Creates a screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createScreenScheme<T = ScreenSchemeId$1>(parameters: CreateScreenScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a screen scheme. Only screen schemes used in classic projects can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateScreenScheme<T = void>(parameters: UpdateScreenScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a screen scheme. Only screen schemes used in classic projects can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateScreenScheme<T = void>(parameters: UpdateScreenScheme$1, callback?: never): Promise<T>;
    /**
     * Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.
     *
     * Only screens schemes used in classic projects can be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteScreenScheme<T = void>(parameters: DeleteScreenScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.
     *
     * Only screens schemes used in classic projects can be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteScreenScheme<T = void>(parameters: DeleteScreenScheme$1 | string, callback?: never): Promise<T>;
}

declare class ScreenTabFields$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns all fields for a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is
     *   specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen
     *   Scheme.
     */
    getAllScreenTabFields<T = ScreenableField$1[]>(parameters: GetAllScreenTabFields$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns all fields for a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is
     *   specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen
     *   Scheme.
     */
    getAllScreenTabFields<T = ScreenableField$1[]>(parameters: GetAllScreenTabFields$1, callback?: never): Promise<T>;
    /**
     * Adds a field to a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addScreenTabField<T = ScreenableField$1>(parameters: AddScreenTabField$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds a field to a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addScreenTabField<T = ScreenableField$1>(parameters: AddScreenTabField$1, callback?: never): Promise<T>;
    /**
     * Removes a field from a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeScreenTabField<T = void>(parameters: RemoveScreenTabField$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes a field from a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeScreenTabField<T = void>(parameters: RemoveScreenTabField$1, callback?: never): Promise<T>;
    /**
     * Moves a screen tab field.
     *
     * If `after` and `position` are provided in the request, `position` is ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveScreenTabField<T = void>(parameters: MoveScreenTabField$1, callback: Callback<T>): Promise<void>;
    /**
     * Moves a screen tab field.
     *
     * If `after` and `position` are provided in the request, `position` is ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveScreenTabField<T = void>(parameters: MoveScreenTabField$1, callback?: never): Promise<T>;
}

declare class ScreenTabs$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the list of tabs for a bulk of screens.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getBulkScreenTabs<T = unknown>(parameters: GetBulkScreenTabs$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the list of tabs for a bulk of screens.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getBulkScreenTabs<T = unknown>(parameters?: GetBulkScreenTabs$1, callback?: never): Promise<T>;
    /**
     * Returns the list of tabs for a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is
     *   specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen
     *   Scheme.
     */
    getAllScreenTabs<T = ScreenableTab$1[]>(parameters: GetAllScreenTabs$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the list of tabs for a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is
     *   specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen
     *   Scheme.
     */
    getAllScreenTabs<T = ScreenableTab$1[]>(parameters: GetAllScreenTabs$1 | string, callback?: never): Promise<T>;
    /**
     * Creates a tab for a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addScreenTab<T = ScreenableTab$1>(parameters: AddScreenTab$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a tab for a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addScreenTab<T = ScreenableTab$1>(parameters: AddScreenTab$1, callback?: never): Promise<T>;
    /**
     * Updates the name of a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    renameScreenTab<T = ScreenableTab$1>(parameters: RenameScreenTab$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates the name of a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    renameScreenTab<T = ScreenableTab$1>(parameters: RenameScreenTab$1, callback?: never): Promise<T>;
    /**
     * Deletes a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteScreenTab<T = void>(parameters: DeleteScreenTab$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteScreenTab<T = void>(parameters: DeleteScreenTab$1, callback?: never): Promise<T>;
    /**
     * Moves a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveScreenTab<T = void>(parameters: MoveScreenTab$1, callback: Callback<T>): Promise<void>;
    /**
     * Moves a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveScreenTab<T = void>(parameters: MoveScreenTab$1, callback?: never): Promise<T>;
}

declare class Screens$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of the
     * screens a field is used in.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreensForField<T = PageScreenWithTab$1>(parameters: GetScreensForField$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of the
     * screens a field is used in.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreensForField<T = PageScreenWithTab$1>(parameters: GetScreensForField$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * screens or those specified by one or more screen IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreens<T = PageScreen$1>(parameters: GetScreens$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * screens or those specified by one or more screen IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreens<T = PageScreen$1>(parameters?: GetScreens$1, callback?: never): Promise<T>;
    /**
     * Creates a screen with a default field tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createScreen<T = Screen$1>(parameters: CreateScreen$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a screen with a default field tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createScreen<T = Screen$1>(parameters: CreateScreen$1, callback?: never): Promise<T>;
    /**
     * Adds a field to the default tab of the default screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addFieldToDefaultScreen<T = unknown>(parameters: AddFieldToDefaultScreen$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Adds a field to the default tab of the default screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addFieldToDefaultScreen<T = unknown>(parameters: AddFieldToDefaultScreen$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a screen. Only screens used in classic projects can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateScreen<T = Screen$1>(parameters: UpdateScreen$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a screen. Only screens used in classic projects can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateScreen<T = Screen$1>(parameters: UpdateScreen$1, callback?: never): Promise<T>;
    /**
     * Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.
     *
     * Only screens used in classic projects can be deleted.
     */
    deleteScreen<T = void>(parameters: DeleteScreen$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.
     *
     * Only screens used in classic projects can be deleted.
     */
    deleteScreen<T = void>(parameters: DeleteScreen$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the fields that can be added to a tab on a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAvailableScreenFields<T = ScreenableField$1[]>(parameters: GetAvailableScreenFields$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the fields that can be added to a tab on a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAvailableScreenFields<T = ScreenableField$1[]>(parameters: GetAvailableScreenFields$1 | string, callback?: never): Promise<T>;
}

declare class ServerInfo$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns information about the Jira instance.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getServerInfo<T = ServerInformation$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns information about the Jira instance.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    getServerInfo<T = ServerInformation$1>(callback?: never): Promise<T>;
}

declare class ServiceRegistry$2 {
    private client;
    constructor(client: Client);
    /**
     * Retrieve the attributes of given service registries.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request and the servicesIds belong to the tenant you are requesting
     */
    services<T = ServiceRegistry$3[]>(parameters: Services$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the attributes of given service registries.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can make this request and the servicesIds belong to the tenant you are requesting
     */
    services<T = ServiceRegistry$3[]>(parameters: Services$1, callback?: never): Promise<T>;
}

declare class Status$3 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of the statuses specified by one or more status IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    getStatusesById<T = JiraStatus$1[]>(parameters: GetStatusesById$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of the statuses specified by one or more status IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    getStatusesById<T = JiraStatus$1[]>(parameters: GetStatusesById$1 | string, callback?: never): Promise<T>;
    /**
     * Creates statuses for a global or project scope.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    createStatuses<T = JiraStatus$1[]>(parameters: CreateStatuses$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates statuses for a global or project scope.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    createStatuses<T = JiraStatus$1[]>(parameters: CreateStatuses$1, callback?: never): Promise<T>;
    /**
     * Updates statuses by ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    updateStatuses<T = void>(parameters: UpdateStatuses$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates statuses by ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    updateStatuses<T = void>(parameters: UpdateStatuses$1, callback?: never): Promise<T>;
    /**
     * Deletes statuses by ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    deleteStatusesById<T = void>(parameters: DeleteStatusesById$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes statuses by ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    deleteStatusesById<T = void>(parameters: DeleteStatusesById$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * statuses that match a search on name or project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    search<T = PageOfStatuses$1>(parameters: Search$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * statuses that match a search on name or project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    search<T = PageOfStatuses$1>(parameters?: Search$1, callback?: never): Promise<T>;
    /** Returns a page of issue types in a project using a given status. */
    getProjectIssueTypeUsagesForStatus<T = StatusProjectIssueTypeUsageDTO>(parameters: GetProjectIssueTypeUsagesForStatus$1, callback: Callback<T>): Promise<void>;
    /** Returns a page of issue types in a project using a given status. */
    getProjectIssueTypeUsagesForStatus<T = StatusProjectIssueTypeUsageDTO>(parameters: GetProjectIssueTypeUsagesForStatus$1, callback?: never): Promise<T>;
    /** Returns a page of projects using a given status. */
    getProjectUsagesForStatus<T = StatusProjectUsageDTO>(parameters: GetProjectUsagesForStatus$1, callback: Callback<T>): Promise<void>;
    /** Returns a page of projects using a given status. */
    getProjectUsagesForStatus<T = StatusProjectUsageDTO>(parameters: GetProjectUsagesForStatus$1, callback?: never): Promise<T>;
    /** Returns a page of workflows using a given status. */
    getWorkflowUsagesForStatus<T = StatusWorkflowUsageDTO>(parameters: GetWorkflowUsagesForStatus$1, callback: Callback<T>): Promise<void>;
    /** Returns a page of workflows using a given status. */
    getWorkflowUsagesForStatus<T = StatusWorkflowUsageDTO>(parameters: GetWorkflowUsagesForStatus$1, callback?: never): Promise<T>;
}

declare class Tasks$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the status of a [long-running asynchronous
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations).
     *
     * When a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the
     * operation that created the task for details. Task details are not permanently retained. As of September 2019,
     * details are retained for 14 days although this period may change without notice.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - `read:jira-work`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - Creator of the task.
     */
    getTask<T = TaskProgressObject$1>(parameters: GetTask$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the status of a [long-running asynchronous
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations).
     *
     * When a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the
     * operation that created the task for details. Task details are not permanently retained. As of September 2019,
     * details are retained for 14 days although this period may change without notice.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - `read:jira-work`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - Creator of the task.
     */
    getTask<T = TaskProgressObject$1>(parameters: GetTask$1 | string, callback?: never): Promise<T>;
    /**
     * Cancels a task.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - Creator of the task.
     */
    cancelTask<T = unknown>(parameters: CancelTask$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Cancels a task.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** either
     * of:
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - Creator of the task.
     */
    cancelTask<T = unknown>(parameters: CancelTask$1 | string, callback?: never): Promise<T>;
}

declare class TeamsInPlan$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * plan-only and Atlassian teams in a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getTeams<T = PageWithCursorGetTeamResponseForPage$1>(parameters: GetTeams$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * plan-only and Atlassian teams in a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getTeams<T = PageWithCursorGetTeamResponseForPage$1>(parameters: GetTeams$1, callback?: never): Promise<T>;
    /**
     * Adds an existing Atlassian team to a plan and configures their plannning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addAtlassianTeam<T = void>(parameters: AddAtlassianTeam$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds an existing Atlassian team to a plan and configures their plannning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addAtlassianTeam<T = void>(parameters: AddAtlassianTeam$1, callback?: never): Promise<T>;
    /**
     * Returns planning settings for an Atlassian team in a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAtlassianTeam<T = GetAtlassianTeamResponse$1>(parameters: GetAtlassianTeam$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns planning settings for an Atlassian team in a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAtlassianTeam<T = GetAtlassianTeamResponse$1>(parameters: GetAtlassianTeam$1, callback?: never): Promise<T>;
    /**
     * Updates any of the following planning settings of an Atlassian team in a plan using [JSON
     * Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - PlanningStyle
     * - IssueSourceId
     * - SprintLength
     * - Capacity
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get Atlassian team in plan"
     * endpoint to find out the order of array elements._
     */
    updateAtlassianTeam<T = void>(parameters: UpdateAtlassianTeam$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates any of the following planning settings of an Atlassian team in a plan using [JSON
     * Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - PlanningStyle
     * - IssueSourceId
     * - SprintLength
     * - Capacity
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get Atlassian team in plan"
     * endpoint to find out the order of array elements._
     */
    updateAtlassianTeam<T = void>(parameters: UpdateAtlassianTeam$1, callback?: never): Promise<T>;
    /**
     * Removes an Atlassian team from a plan and deletes their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeAtlassianTeam<T = void>(parameters: RemoveAtlassianTeam$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes an Atlassian team from a plan and deletes their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeAtlassianTeam<T = void>(parameters: RemoveAtlassianTeam$1, callback?: never): Promise<T>;
    /**
     * Creates a plan-only team and configures their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPlanOnlyTeam<T = unknown>(parameters: CreatePlanOnlyTeam$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a plan-only team and configures their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPlanOnlyTeam<T = unknown>(parameters: CreatePlanOnlyTeam$1, callback?: never): Promise<T>;
    /**
     * Returns planning settings for a plan-only team.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlanOnlyTeam<T = GetPlanOnlyTeamResponse$1>(parameters: GetPlanOnlyTeam$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns planning settings for a plan-only team.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlanOnlyTeam<T = GetPlanOnlyTeamResponse$1>(parameters: GetPlanOnlyTeam$1, callback?: never): Promise<T>;
    /**
     * Updates any of the following planning settings of a plan-only team using [JSON
     * Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - Name
     * - PlanningStyle
     * - IssueSourceId
     * - SprintLength
     * - Capacity
     * - MemberAccountIds
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get plan-only team"
     * endpoint to find out the order of array elements._
     */
    updatePlanOnlyTeam<T = void>(parameters: UpdatePlanOnlyTeam$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates any of the following planning settings of a plan-only team using [JSON
     * Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - Name
     * - PlanningStyle
     * - IssueSourceId
     * - SprintLength
     * - Capacity
     * - MemberAccountIds
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get plan-only team"
     * endpoint to find out the order of array elements._
     */
    updatePlanOnlyTeam<T = void>(parameters: UpdatePlanOnlyTeam$1, callback?: never): Promise<T>;
    /**
     * Deletes a plan-only team and their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePlanOnlyTeam<T = void>(parameters: DeletePlanOnlyTeam$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a plan-only team and their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePlanOnlyTeam<T = void>(parameters: DeletePlanOnlyTeam$1, callback?: never): Promise<T>;
}

declare class TimeTracking$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a
     * successful but empty response is returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSelectedTimeTrackingImplementation<T = void>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a
     * successful but empty response is returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSelectedTimeTrackingImplementation<T = void>(callback?: never): Promise<T>;
    /**
     * Selects a time tracking provider.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    selectTimeTrackingImplementation<T = void>(parameters: SelectTimeTrackingImplementation$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Selects a time tracking provider.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    selectTimeTrackingImplementation<T = void>(parameters?: SelectTimeTrackingImplementation$1, callback?: never): Promise<T>;
    /**
     * Returns all time tracking providers. By default, Jira only has one time tracking provider: _JIRA provided time
     * tracking_. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more
     * information on time tracking providers, see the documentation for the [ Time Tracking
     * Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAvailableTimeTrackingImplementations<T = TimeTrackingProvider$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all time tracking providers. By default, Jira only has one time tracking provider: _JIRA provided time
     * tracking_. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more
     * information on time tracking providers, see the documentation for the [ Time Tracking
     * Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAvailableTimeTrackingImplementations<T = TimeTrackingProvider$1[]>(callback?: never): Promise<T>;
    /**
     * Returns the time tracking settings. This includes settings such as the time format, default time unit, and others.
     * For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSharedTimeTrackingConfiguration<T = TimeTrackingConfiguration$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the time tracking settings. This includes settings such as the time format, default time unit, and others.
     * For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSharedTimeTrackingConfiguration<T = TimeTrackingConfiguration$1>(callback?: never): Promise<T>;
    /**
     * Sets the time tracking settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setSharedTimeTrackingConfiguration<T = TimeTrackingConfiguration$1>(parameters: SetSharedTimeTrackingConfiguration$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the time tracking settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setSharedTimeTrackingConfiguration<T = TimeTrackingConfiguration$1>(parameters: SetSharedTimeTrackingConfiguration$1, callback?: never): Promise<T>;
}

declare class UIModificationsApps$1 {
    private client;
    constructor(client: Client);
    /**
     * Gets UI modifications. UI modifications can only be retrieved by Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getUiModifications<T = PageUiModificationDetails$1>(parameters: GetUiModifications$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Gets UI modifications. UI modifications can only be retrieved by Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getUiModifications<T = PageUiModificationDetails$1>(parameters?: GetUiModifications$1, callback?: never): Promise<T>;
    /**
     * Creates a UI modification. UI modification can only be created by Forge apps.
     *
     * Each app can define up to 3000 UI modifications. Each UI modification can define up to 1000 contexts. The same
     * context can be assigned to maximum 100 UI modifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _None_ if the UI modification is created without contexts.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
     *   UI modification is created with contexts.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    createUiModification<T = UiModificationIdentifiers$1>(parameters: CreateUiModification$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a UI modification. UI modification can only be created by Forge apps.
     *
     * Each app can define up to 3000 UI modifications. Each UI modification can define up to 1000 contexts. The same
     * context can be assigned to maximum 100 UI modifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _None_ if the UI modification is created without contexts.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
     *   UI modification is created with contexts.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    createUiModification<T = UiModificationIdentifiers$1>(parameters: CreateUiModification$1, callback?: never): Promise<T>;
    /**
     * Updates a UI modification. UI modification can only be updated by Forge apps.
     *
     * Each UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI
     * modifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _None_ if the UI modification is created without contexts.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
     *   UI modification is created with contexts.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateUiModification<T = void>(parameters: UpdateUiModification$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a UI modification. UI modification can only be updated by Forge apps.
     *
     * Each UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI
     * modifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _None_ if the UI modification is created without contexts.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
     *   UI modification is created with contexts.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateUiModification<T = void>(parameters: UpdateUiModification$1, callback?: never): Promise<T>;
    /**
     * Deletes a UI modification. All the contexts that belong to the UI modification are deleted too. UI modification can
     * only be deleted by Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    deleteUiModification<T = void>(parameters: DeleteUiModification$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a UI modification. All the contexts that belong to the UI modification are deleted too. UI modification can
     * only be deleted by Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    deleteUiModification<T = void>(parameters: DeleteUiModification$1 | string, callback?: never): Promise<T>;
}

declare class UserProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the keys of all properties for a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on
     *   any user.
     * - Access to Jira, to access the calling user's property keys.
     */
    getUserPropertyKeys<T = PropertyKeys$2>(parameters: GetUserPropertyKeys$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on
     *   any user.
     * - Access to Jira, to access the calling user's property keys.
     */
    getUserPropertyKeys<T = PropertyKeys$2>(parameters?: GetUserPropertyKeys$1, callback?: never): Promise<T>;
    /**
     * Returns the value of a user's property. If no property key is provided [Get user property
     * keys](#api-rest-api-2-user-properties-get) is called.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
     * - Access to Jira, to get a property from the calling user's record.
     */
    getUserProperty<T = EntityProperty$2>(parameters: GetUserProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a user's property. If no property key is provided [Get user property
     * keys](#api-rest-api-2-user-properties-get) is called.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
     * - Access to Jira, to get a property from the calling user's record.
     */
    getUserProperty<T = EntityProperty$2>(parameters: GetUserProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of a user's property. Use this resource to store custom data against a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
     * - Access to Jira, to set a property on the calling user's record.
     */
    setUserProperty<T = unknown>(parameters: SetUserProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a user's property. Use this resource to store custom data against a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
     * - Access to Jira, to set a property on the calling user's record.
     */
    setUserProperty<T = unknown>(parameters: SetUserProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes a property from a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any
     *   user.
     * - Access to Jira, to delete a property from the calling user's record.
     */
    deleteUserProperty<T = void>(parameters: DeleteUserProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a property from a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any
     *   user.
     * - Access to Jira, to delete a property from the calling user's record.
     */
    deleteUserProperty<T = void>(parameters: DeleteUserProperty$1, callback?: never): Promise<T>;
}

declare class UserSearch$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users
     * whose attributes match a string.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that can be assigned issues in the projects. This means the operation
     * usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the
     * projects, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    findBulkAssignableUsers<T = User$3[]>(parameters: FindBulkAssignableUsers$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users
     * whose attributes match a string.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that can be assigned issues in the projects. This means the operation
     * usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the
     * projects, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
     */
    findBulkAssignableUsers<T = User$3[]>(parameters: FindBulkAssignableUsers$1, callback?: never): Promise<T>;
    /**
     * Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be
     * assigned to:
     *
     * - A new issue, by providing the `projectKeyOrId`.
     * - An updated issue, by providing the `issueKey` or `issueId`.
     * - To an issue during a transition (workflow action), by providing the `issueKey` or `issueId` and the transition id
     *   in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in
     *   the `expand` parameter of [ Get issue](#api-rest-api-2-issue-issueIdOrKey-get).
     *
     * In all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is
     * returned in the response if they can be assigned to the issue or issue transition.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that can be assigned the issue. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get
     * all users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Assign issues_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg)
     */
    findAssignableUsers<T = User$3[]>(parameters: FindAssignableUsers$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be
     * assigned to:
     *
     * - A new issue, by providing the `projectKeyOrId`.
     * - An updated issue, by providing the `issueKey` or `issueId`.
     * - To an issue during a transition (workflow action), by providing the `issueKey` or `issueId` and the transition id
     *   in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in
     *   the `expand` parameter of [ Get issue](#api-rest-api-2-issue-issueIdOrKey-get).
     *
     * In all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is
     * returned in the response if they can be assigned to the issue or issue transition.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that can be assigned the issue. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get
     * all users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Assign issues_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg)
     */
    findAssignableUsers<T = User$3[]>(parameters?: FindAssignableUsers$1, callback?: never): Promise<T>;
    /**
     * Returns a list of users who fulfill these criteria:
     *
     * - Their user attributes match a search string.
     * - They have a set of permissions for a project or issue.
     *
     * If no search string is provided, a list of all users with the permissions is returned.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the search string and have permission for the project or
     * issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users
     * who match the search string and have permission for the project or issue, use [Get all
     * users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users
     *   for that project.
     */
    findUsersWithAllPermissions<T = User$3[]>(parameters: FindUsersWithAllPermissions$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users who fulfill these criteria:
     *
     * - Their user attributes match a search string.
     * - They have a set of permissions for a project or issue.
     *
     * If no search string is provided, a list of all users with the permissions is returned.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the search string and have permission for the project or
     * issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users
     * who match the search string and have permission for the project or issue, use [Get all
     * users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users
     *   for that project.
     */
    findUsersWithAllPermissions<T = User$3[]>(parameters: FindUsersWithAllPermissions$1, callback?: never): Promise<T>;
    /**
     * Returns a list of users whose attributes match the query term. The returned object includes the `html` field where
     * the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude
     * users from the results.
     *
     * This operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns
     * only the users from that range that match the query term. This means the operation usually returns fewer users than
     * specified in `maxResults`. To get all the users who match the query term, use [Get all
     * users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by
     * users without the required permission return search results for an exact name match only.
     */
    findUsersForPicker<T = FoundUsers$1>(parameters: FindUsersForPicker$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users whose attributes match the query term. The returned object includes the `html` field where
     * the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude
     * users from the results.
     *
     * This operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns
     * only the users from that range that match the query term. This means the operation usually returns fewer users than
     * specified in `maxResults`. To get all the users who match the query term, use [Get all
     * users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by
     * users without the required permission return search results for an exact name match only.
     */
    findUsersForPicker<T = FoundUsers$1>(parameters: FindUsersForPicker$1, callback?: never): Promise<T>;
    /**
     * Returns a list of active users that match the search string and property.
     *
     * This operation first applies a filter to match the search string and property, and then takes the filtered users in
     * the range defined by `startAt` and `maxResults`, up to the thousandth user. To get all the users who match the
     * search string and property, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your
     * code.
     *
     * This operation can be accessed anonymously.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users
     * without the required permission return empty search results.
     */
    findUsers<T = User$3[]>(parameters: FindUsers$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of active users that match the search string and property.
     *
     * This operation first applies a filter to match the search string and property, and then takes the filtered users in
     * the range defined by `startAt` and `maxResults`, up to the thousandth user. To get all the users who match the
     * search string and property, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your
     * code.
     *
     * This operation can be accessed anonymously.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users
     * without the required permission return empty search results.
     */
    findUsers<T = User$3[]>(parameters?: FindUsers$1, callback?: never): Promise<T>;
    /**
     * Finds users with a structured query and returns a
     * [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of user details.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the structured query. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get
     * all users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * The query statements are:
     *
     * - `is assignee of PROJ` Returns the users that are assignees of at least one issue in project _PROJ_.
     * - `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues _PROJ-1_ or _PROJ-2_.
     * - `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues _PROJ-1_ or _PROJ-2_.
     * - `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues _PROJ-1_ or _PROJ-2_.
     * - `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues _PROJ-1_ or
     *   _PROJ-2_.
     * - `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value. For example,
     *   if user property `location` is set to value `{"office": {"country": "AU", "city": "Sydney"}}`, then it's possible
     *   to use `[location].office.city is "Sydney"` to match the user.
     *
     * The list of issues can be extended as needed, as in _(PROJ-1, PROJ-2, ... PROJ-n)_. Statements can be combined
     * using the `AND` and `OR` operators to form more complex queries. For example:
     *
     * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
     */
    findUsersByQuery<T = PageUser$1>(parameters: FindUsersByQuery$1, callback: Callback<T>): Promise<void>;
    /**
     * Finds users with a structured query and returns a
     * [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of user details.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the structured query. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get
     * all users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * The query statements are:
     *
     * - `is assignee of PROJ` Returns the users that are assignees of at least one issue in project _PROJ_.
     * - `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues _PROJ-1_ or _PROJ-2_.
     * - `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues _PROJ-1_ or _PROJ-2_.
     * - `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues _PROJ-1_ or _PROJ-2_.
     * - `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues _PROJ-1_ or
     *   _PROJ-2_.
     * - `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value. For example,
     *   if user property `location` is set to value `{"office": {"country": "AU", "city": "Sydney"}}`, then it's possible
     *   to use `[location].office.city is "Sydney"` to match the user.
     *
     * The list of issues can be extended as needed, as in _(PROJ-1, PROJ-2, ... PROJ-n)_. Statements can be combined
     * using the `AND` and `OR` operators to form more complex queries. For example:
     *
     * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
     */
    findUsersByQuery<T = PageUser$1>(parameters: FindUsersByQuery$1, callback?: never): Promise<T>;
    /**
     * Finds users with a structured query and returns a
     * [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of user keys.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the structured query. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get
     * all users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * The query statements are:
     *
     * - `is assignee of PROJ` Returns the users that are assignees of at least one issue in project _PROJ_.
     * - `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues _PROJ-1_ or _PROJ-2_.
     * - `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues _PROJ-1_ or _PROJ-2_.
     * - `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues _PROJ-1_ or _PROJ-2_.
     * - `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues _PROJ-1_ or
     *   _PROJ-2_.
     * - `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value. For example,
     *   if user property `location` is set to value `{"office": {"country": "AU", "city": "Sydney"}}`, then it's possible
     *   to use `[location].office.city is "Sydney"` to match the user.
     *
     * The list of issues can be extended as needed, as in _(PROJ-1, PROJ-2, ... PROJ-n)_. Statements can be combined
     * using the `AND` and `OR` operators to form more complex queries. For example:
     *
     * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
     */
    findUserKeysByQuery<T = PageUserKey$1>(parameters: FindUserKeysByQuery$1, callback: Callback<T>): Promise<void>;
    /**
     * Finds users with a structured query and returns a
     * [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of user keys.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the structured query. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get
     * all users](#api-rest-api-2-users-search-get) and filter the records in your code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * The query statements are:
     *
     * - `is assignee of PROJ` Returns the users that are assignees of at least one issue in project _PROJ_.
     * - `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues _PROJ-1_ or _PROJ-2_.
     * - `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues _PROJ-1_ or _PROJ-2_.
     * - `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues _PROJ-1_ or _PROJ-2_.
     * - `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues _PROJ-1_ or
     *   _PROJ-2_.
     * - `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value. For example,
     *   if user property `location` is set to value `{"office": {"country": "AU", "city": "Sydney"}}`, then it's possible
     *   to use `[location].office.city is "Sydney"` to match the user.
     *
     * The list of issues can be extended as needed, as in _(PROJ-1, PROJ-2, ... PROJ-n)_. Statements can be combined
     * using the `AND` and `OR` operators to form more complex queries. For example:
     *
     * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
     */
    findUserKeysByQuery<T = PageUserKey$1>(parameters: FindUserKeysByQuery$1, callback?: never): Promise<T>;
    /**
     * Returns a list of users who fulfill these criteria:
     *
     * - Their user attributes match a search string.
     * - They have permission to browse issues.
     *
     * Use this resource to find users who can browse:
     *
     * - An issue, by providing the `issueKey`.
     * - Any issue in a project, by providing the `projectKey`.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the search string and have permission to browse issues. This
     * means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the
     * search string and have permission to browse issues, use [Get all users](#api-rest-api-2-users-search-get) and
     * filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by
     * users without the required permission return empty search results.
     */
    findUsersWithBrowsePermission<T = User$3[]>(parameters: FindUsersWithBrowsePermission$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users who fulfill these criteria:
     *
     * - Their user attributes match a search string.
     * - They have permission to browse issues.
     *
     * Use this resource to find users who can browse:
     *
     * - An issue, by providing the `issueKey`.
     * - Any issue in a project, by providing the `projectKey`.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the search string and have permission to browse issues. This
     * means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the
     * search string and have permission to browse issues, use [Get all users](#api-rest-api-2-users-search-get) and
     * filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by
     * users without the required permission return empty search results.
     */
    findUsersWithBrowsePermission<T = User$3[]>(parameters?: FindUsersWithBrowsePermission$1, callback?: never): Promise<T>;
}

declare class UserNavProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the value of a user nav preference.
     *
     * Note: This operation fetches the property key value directly from RbacClient.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
     * - Access to Jira, to get a property from the calling user's record.
     */
    getUserNavProperty<T = UserNavProperty$1>(parameters: GetUserNavProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a user nav preference.
     *
     * Note: This operation fetches the property key value directly from RbacClient.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
     * - Access to Jira, to get a property from the calling user's record.
     */
    getUserNavProperty<T = UserNavProperty$1>(parameters: GetUserNavProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of a Nav4 preference. Use this resource to store Nav4 preference data against a user in the Identity
     * service.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
     * - Access to Jira, to set a property on the calling user's record.
     */
    setUserNavProperty<T = unknown>(parameters: SetUserNavProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a Nav4 preference. Use this resource to store Nav4 preference data against a user in the Identity
     * service.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
     * - Access to Jira, to set a property on the calling user's record.
     */
    setUserNavProperty<T = unknown>(parameters: SetUserNavProperty$1, callback?: never): Promise<T>;
}

declare class Users$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a user.
     *
     * Privacy controls are applied to the response based on the user's preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUser<T = User$3>(parameters: GetUser$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a user.
     *
     * Privacy controls are applied to the response based on the user's preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUser<T = User$3>(parameters: GetUser$1, callback?: never): Promise<T>;
    /**
     * Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is
     * available this resource will be deprecated.
     *
     * If the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have
     * access to Jira, the operation returns a 400 status.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createUser<T = User$3>(parameters: CreateUser$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is
     * available this resource will be deprecated.
     *
     * If the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have
     * access to Jira, the operation returns a 400 status.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createUser<T = User$3>(parameters: CreateUser$1, callback?: never): Promise<T>;
    /**
     * Deletes a user. If the operation completes successfully then the user is removed from Jira's user base. This
     * operation does not delete the user's Atlassian account.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, membership of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeUser<T = void>(parameters: RemoveUser$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a user. If the operation completes successfully then the user is removed from Jira's user base. This
     * operation does not delete the user's Atlassian account.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Site
     * administration (that is, membership of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeUser<T = void>(parameters: RemoveUser$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of the
     * users specified by one or more account IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    bulkGetUsers<T = PageUser$1>(parameters: BulkGetUsers$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of the
     * users specified by one or more account IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    bulkGetUsers<T = PageUser$1>(parameters: BulkGetUsers$1, callback?: never): Promise<T>;
    /**
     * Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or
     * `username` parameters can be specified.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    bulkGetUsersMigration<T = UserMigration$1[]>(parameters: BulkGetUsersMigration$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or
     * `username` parameters can be specified.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    bulkGetUsersMigration<T = UserMigration$1[]>(parameters: BulkGetUsersMigration$1, callback?: never): Promise<T>;
    /**
     * Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId`
     * is not passed in the request, the calling user's details are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for
     *   any user.
     * - Permission to access Jira, to get the calling user's column details.
     */
    getUserDefaultColumns<T = ColumnItem$1[]>(parameters: GetUserDefaultColumns$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId`
     * is not passed in the request, the calling user's details are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for
     *   any user.
     * - Permission to access Jira, to get the calling user's column details.
     */
    getUserDefaultColumns<T = ColumnItem$1[]>(parameters?: GetUserDefaultColumns$1, callback?: never): Promise<T>;
    /**
     * Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID
     * is not passed, the calling user's default columns are set. If no column details are sent, then all default columns
     * are removed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
     * - Permission to access Jira, to set the calling user's columns.
     */
    setUserColumns<T = string>(parameters: SetUserColumns$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID
     * is not passed, the calling user's default columns are set. If no column details are sent, then all default columns
     * are removed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
     * - Permission to access Jira, to set the calling user's columns.
     */
    setUserColumns<T = string>(parameters: SetUserColumns$1, callback?: never): Promise<T>;
    /**
     * Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system
     * default. If `accountId` is not passed, the calling user's default columns are reset.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
     * - Permission to access Jira, to set the calling user's columns.
     */
    resetUserColumns<T = void>(parameters: ResetUserColumns$1, callback: Callback<T>): Promise<void>;
    /**
     * Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system
     * default. If `accountId` is not passed, the calling user's default columns are reset.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
     * - Permission to access Jira, to set the calling user's columns.
     */
    resetUserColumns<T = void>(parameters: ResetUserColumns$1, callback?: never): Promise<T>;
    /**
     * Returns a user's email address regardless of the user's profile visibility settings. For Connect apps, this API is
     * only available to apps approved by Atlassian, according to these
     * [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
     * For Forge apps, this API only supports access via asApp() requests.
     */
    getUserEmail<T = UnrestrictedUserEmail$1>(parameters: GetUserEmail$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a user's email address regardless of the user's profile visibility settings. For Connect apps, this API is
     * only available to apps approved by Atlassian, according to these
     * [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
     * For Forge apps, this API only supports access via asApp() requests.
     */
    getUserEmail<T = UnrestrictedUserEmail$1>(parameters: GetUserEmail$1 | string, callback?: never): Promise<T>;
    /**
     * Returns a user's email address regardless of the user's profile visibility settings. For Connect apps, this API is
     * only available to apps approved by Atlassian, according to these
     * [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
     * For Forge apps, this API only supports access via asApp() requests.
     */
    getUserEmailBulk<T = UnrestrictedUserEmail$1>(parameters: GetUserEmailBulk$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a user's email address regardless of the user's profile visibility settings. For Connect apps, this API is
     * only available to apps approved by Atlassian, according to these
     * [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
     * For Forge apps, this API only supports access via asApp() requests.
     */
    getUserEmailBulk<T = UnrestrictedUserEmail$1>(parameters: GetUserEmailBulk$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the groups to which a user belongs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUserGroups<T = GroupName$1[]>(parameters: GetUserGroups$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the groups to which a user belongs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUserGroups<T = GroupName$1[]>(parameters: GetUserGroups$1, callback?: never): Promise<T>;
    /**
     * Returns a list of all users, including active users, inactive users and previously deleted users that have an
     * Atlassian account.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllUsersDefault<T = User$3[]>(parameters: GetAllUsersDefault$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all users, including active users, inactive users and previously deleted users that have an
     * Atlassian account.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllUsersDefault<T = User$3[]>(parameters?: GetAllUsersDefault$1, callback?: never): Promise<T>;
    /**
     * Returns a list of all users, including active users, inactive users and previously deleted users that have an
     * Atlassian account.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllUsers<T = User$3[]>(parameters: GetAllUsers$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all users, including active users, inactive users and previously deleted users that have an
     * Atlassian account.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllUsers<T = User$3[]>(parameters?: GetAllUsers$1, callback?: never): Promise<T>;
}

declare class Webhooks$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of the
     * webhooks registered by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    getDynamicWebhooksForApp<T = PageWebhook$1>(parameters: GetDynamicWebhooksForApp$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of the
     * webhooks registered by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    getDynamicWebhooksForApp<T = PageWebhook$1>(parameters?: GetDynamicWebhooksForApp$1, callback?: never): Promise<T>;
    /**
     * Registers webhooks.
     *
     * **NOTE:** for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the
     * user who registered a dynamic webhook.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    registerDynamicWebhooks<T = ContainerForRegisteredWebhooks$1>(parameters: RegisterDynamicWebhooks$1, callback: Callback<T>): Promise<void>;
    /**
     * Registers webhooks.
     *
     * **NOTE:** for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the
     * user who registered a dynamic webhook.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    registerDynamicWebhooks<T = ContainerForRegisteredWebhooks$1>(parameters: RegisterDynamicWebhooks$1, callback?: never): Promise<T>;
    /**
     * Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps
     * are specified, they are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    deleteWebhookById<T = unknown>(parameters: DeleteWebhookById$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps
     * are specified, they are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    deleteWebhookById<T = unknown>(parameters: DeleteWebhookById$1, callback?: never): Promise<T>;
    /**
     * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of
     * retries.
     *
     * After 72 hours the failure may no longer be returned by this operation.
     *
     * The oldest failure is returned first.
     *
     * This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on
     * the list as the `failedAfter` value or use the URL provided in `next`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.
     */
    getFailedWebhooks<T = FailedWebhooks$1>(parameters: GetFailedWebhooks$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of
     * retries.
     *
     * After 72 hours the failure may no longer be returned by this operation.
     *
     * The oldest failure is returned first.
     *
     * This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on
     * the list as the `failedAfter` value or use the URL provided in `next`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.
     */
    getFailedWebhooks<T = FailedWebhooks$1>(parameters?: GetFailedWebhooks$1, callback?: never): Promise<T>;
    /**
     * Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to
     * keep them alive.
     *
     * Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    refreshWebhooks<T = WebhooksExpirationDate$1>(parameters: RefreshWebhooks$1, callback: Callback<T>): Promise<void>;
    /**
     * Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to
     * keep them alive.
     *
     * Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    refreshWebhooks<T = WebhooksExpirationDate$1>(parameters: RefreshWebhooks$1, callback?: never): Promise<T>;
}

declare class WorkflowSchemeDrafts$1 {
    private client;
    constructor(client: Client);
    /**
     * Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an
     * active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowSchemeDraftFromParent<T = WorkflowScheme$1>(parameters: CreateWorkflowSchemeDraftFromParent$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an
     * active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowSchemeDraftFromParent<T = WorkflowScheme$1>(parameters: CreateWorkflowSchemeDraftFromParent$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to
     * the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is
     * modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow
     * schemes](https://confluence.atlassian.com/x/tohKLg) for more information.\
     * Note that:
     *
     * - Only active workflow schemes can have draft workflow schemes.
     * - An active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeDraft<T = WorkflowScheme$1>(parameters: GetWorkflowSchemeDraft$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to
     * the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is
     * modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow
     * schemes](https://confluence.atlassian.com/x/tohKLg) for more information.\
     * Note that:
     *
     * - Only active workflow schemes can have draft workflow schemes.
     * - An active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeDraft<T = WorkflowScheme$1>(parameters: GetWorkflowSchemeDraft$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a
     * draft is created. Note that an active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowSchemeDraft<T = WorkflowScheme$1>(parameters: UpdateWorkflowSchemeDraft$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a
     * draft is created. Note that an active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowSchemeDraft<T = WorkflowScheme$1>(parameters: UpdateWorkflowSchemeDraft$1, callback?: never): Promise<T>;
    /**
     * Deletes a draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeDraft<T = void>(parameters: DeleteWorkflowSchemeDraft$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeDraft<T = void>(parameters: DeleteWorkflowSchemeDraft$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned
     * any issue types that have not been mapped to any other workflow. The default workflow has _All Unassigned Issue
     * Types_ listed in its issue types for the workflow scheme in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDraftDefaultWorkflow<T = DefaultWorkflow$1>(parameters: GetDraftDefaultWorkflow$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned
     * any issue types that have not been mapped to any other workflow. The default workflow has _All Unassigned Issue
     * Types_ listed in its issue types for the workflow scheme in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDraftDefaultWorkflow<T = DefaultWorkflow$1>(parameters: GetDraftDefaultWorkflow$1 | string, callback?: never): Promise<T>;
    /**
     * Sets the default workflow for a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDraftDefaultWorkflow<T = WorkflowScheme$1>(parameters: UpdateDraftDefaultWorkflow$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the default workflow for a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDraftDefaultWorkflow<T = WorkflowScheme$1>(parameters: UpdateDraftDefaultWorkflow$1, callback?: never): Promise<T>;
    /**
     * Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system
     * workflow (the _jira_ workflow).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDraftDefaultWorkflow<T = WorkflowScheme$1>(parameters: DeleteDraftDefaultWorkflow$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system
     * workflow (the _jira_ workflow).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDraftDefaultWorkflow<T = WorkflowScheme$1>(parameters: DeleteDraftDefaultWorkflow$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeDraftIssueType<T = IssueTypeWorkflowMapping$1>(parameters: GetWorkflowSchemeDraftIssueType$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeDraftIssueType<T = IssueTypeWorkflowMapping$1>(parameters: GetWorkflowSchemeDraftIssueType$1, callback?: never): Promise<T>;
    /**
     * Sets the workflow for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setWorkflowSchemeDraftIssueType<T = WorkflowScheme$1>(parameters: SetWorkflowSchemeDraftIssueType$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the workflow for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setWorkflowSchemeDraftIssueType<T = WorkflowScheme$1>(parameters: SetWorkflowSchemeDraftIssueType$1, callback?: never): Promise<T>;
    /**
     * Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeDraftIssueType<T = WorkflowScheme$1>(parameters: DeleteWorkflowSchemeDraftIssueType$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeDraftIssueType<T = WorkflowScheme$1>(parameters: DeleteWorkflowSchemeDraftIssueType$1, callback?: never): Promise<T>;
    /**
     * Publishes a draft workflow scheme.
     *
     * Where the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues
     * with the original workflow status to the new workflow status.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    publishDraftWorkflowScheme<T = void>(parameters: PublishDraftWorkflowScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Publishes a draft workflow scheme.
     *
     * Where the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues
     * with the original workflow status to the new workflow status.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-2-task-taskId-get) to obtain updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    publishDraftWorkflowScheme<T = void>(parameters: PublishDraftWorkflowScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the workflow-issue type mappings for a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDraftWorkflow<T = IssueTypesWorkflowMapping$1>(parameters: GetDraftWorkflow$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the workflow-issue type mappings for a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDraftWorkflow<T = IssueTypesWorkflowMapping$1>(parameters: GetDraftWorkflow$1, callback?: never): Promise<T>;
    /**
     * Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default
     * workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDraftWorkflowMapping<T = WorkflowScheme$1>(parameters: UpdateDraftWorkflowMapping$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default
     * workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDraftWorkflowMapping<T = WorkflowScheme$1>(parameters: UpdateDraftWorkflowMapping$1, callback?: never): Promise<T>;
    /**
     * Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDraftWorkflowMapping<T = unknown>(parameters: DeleteDraftWorkflowMapping$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDraftWorkflowMapping<T = unknown>(parameters: DeleteDraftWorkflowMapping$1, callback?: never): Promise<T>;
}

declare class WorkflowSchemeProjectAssociations$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a
     * list of the requested projects associated with it. Any team-managed or non-existent projects in the request are
     * ignored and no errors are returned.
     *
     * If the project is associated with the `Default Workflow Scheme` no ID is returned. This is because the way the
     * `Default Workflow Scheme` is stored means it has no ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeProjectAssociations<T = ContainerOfWorkflowSchemeAssociations$1>(parameters: GetWorkflowSchemeProjectAssociations$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a
     * list of the requested projects associated with it. Any team-managed or non-existent projects in the request are
     * ignored and no errors are returned.
     *
     * If the project is associated with the `Default Workflow Scheme` no ID is returned. This is because the way the
     * `Default Workflow Scheme` is stored means it has no ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeProjectAssociations<T = ContainerOfWorkflowSchemeAssociations$1>(parameters: GetWorkflowSchemeProjectAssociations$1, callback?: never): Promise<T>;
    /**
     * Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.
     *
     * Workflow schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignSchemeToProject<T = void>(parameters: AssignSchemeToProject$1, callback: Callback<T>): Promise<void>;
    /**
     * Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.
     *
     * Workflow schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignSchemeToProject<T = void>(parameters: AssignSchemeToProject$1, callback?: never): Promise<T>;
}

declare class WorkflowSchemes$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * workflow schemes, not including draft workflow schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllWorkflowSchemes<T = PageWorkflowScheme$1>(parameters: GetAllWorkflowSchemes$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of all
     * workflow schemes, not including draft workflow schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllWorkflowSchemes<T = PageWorkflowScheme$1>(parameters?: GetAllWorkflowSchemes$1, callback?: never): Promise<T>;
    /**
     * Creates a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowScheme<T = WorkflowScheme$1>(parameters: CreateWorkflowScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowScheme<T = WorkflowScheme$1>(parameters: CreateWorkflowScheme$1, callback?: never): Promise<T>;
    /**
     * Returns a list of workflow schemes by providing workflow scheme IDs or project IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflow schemes
     * - _Administer projects_ project permissions to access project-scoped workflow schemes
     */
    readWorkflowSchemes<T = WorkflowSchemeReadResponse$1[]>(parameters: ReadWorkflowSchemes$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of workflow schemes by providing workflow scheme IDs or project IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflow schemes
     * - _Administer projects_ project permissions to access project-scoped workflow schemes
     */
    readWorkflowSchemes<T = WorkflowSchemeReadResponse$1[]>(parameters: ReadWorkflowSchemes$1, callback?: never): Promise<T>;
    /**
     * Updates company-managed and team-managed project workflow schemes. This API doesn't have a concept of draft, so any
     * changes made to a workflow scheme are immediately available. When changing the available statuses for issue types,
     * an [asynchronous task](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations)
     * migrates the issues as defined in the provided mappings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to update all, including global-scoped, workflow schemes.
     * - _Administer projects_ project permission to update project-scoped workflow schemes.
     */
    updateSchemes<T = unknown>(parameters: UpdateSchemes$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates company-managed and team-managed project workflow schemes. This API doesn't have a concept of draft, so any
     * changes made to a workflow scheme are immediately available. When changing the available statuses for issue types,
     * an [asynchronous task](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#async-operations)
     * migrates the issues as defined in the provided mappings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to update all, including global-scoped, workflow schemes.
     * - _Administer projects_ project permission to update project-scoped workflow schemes.
     */
    updateSchemes<T = unknown>(parameters: UpdateSchemes$1, callback?: never): Promise<T>;
    /**
     * Gets the required status mappings for the desired changes to a workflow scheme. The results are provided per issue
     * type and workflow. When updating a workflow scheme, status mappings can be provided per issue type, per workflow,
     * or both.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ permission to update all, including global-scoped, workflow schemes.
     * - _Administer projects_ project permission to update project-scoped workflow schemes.
     */
    updateWorkflowSchemeMappings<T = WorkflowSchemeUpdateRequiredMappingsResponse$1>(parameters: UpdateWorkflowSchemeMappings$1, callback: Callback<T>): Promise<void>;
    /**
     * Gets the required status mappings for the desired changes to a workflow scheme. The results are provided per issue
     * type and workflow. When updating a workflow scheme, status mappings can be provided per issue type, per workflow,
     * or both.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ permission to update all, including global-scoped, workflow schemes.
     * - _Administer projects_ project permission to update project-scoped workflow schemes.
     */
    updateWorkflowSchemeMappings<T = WorkflowSchemeUpdateRequiredMappingsResponse$1>(parameters: UpdateWorkflowSchemeMappings$1, callback?: never): Promise<T>;
    /**
     * Returns a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowScheme<T = WorkflowScheme$1>(parameters: GetWorkflowScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowScheme<T = WorkflowScheme$1>(parameters: GetWorkflowScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Updates a company-manged project workflow scheme, including the name, default workflow, issue type to project
     * mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft
     * workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowScheme<T = WorkflowScheme$1>(parameters: UpdateWorkflowScheme$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a company-manged project workflow scheme, including the name, default workflow, issue type to project
     * mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft
     * workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowScheme<T = WorkflowScheme$1>(parameters: UpdateWorkflowScheme$1, callback?: never): Promise<T>;
    /**
     * Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at
     * least one project).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowScheme<T = void>(parameters: DeleteWorkflowScheme$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at
     * least one project).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowScheme<T = void>(parameters: DeleteWorkflowScheme$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue
     * types that have not been mapped to any other workflow. The default workflow has _All Unassigned Issue Types_ listed
     * in its issue types for the workflow scheme in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultWorkflow<T = DefaultWorkflow$1>(parameters: GetDefaultWorkflow$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue
     * types that have not been mapped to any other workflow. The default workflow has _All Unassigned Issue Types_ listed
     * in its issue types for the workflow scheme in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultWorkflow<T = DefaultWorkflow$1>(parameters: GetDefaultWorkflow$1 | string, callback?: never): Promise<T>;
    /**
     * Sets the default workflow for a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The
     * draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultWorkflow<T = WorkflowScheme$1>(parameters: UpdateDefaultWorkflow$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the default workflow for a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The
     * draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultWorkflow<T = WorkflowScheme$1>(parameters: UpdateDefaultWorkflow$1, callback?: never): Promise<T>;
    /**
     * Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow
     * (the _jira_ workflow).
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme
     * can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDefaultWorkflow<T = WorkflowScheme$1>(parameters: DeleteDefaultWorkflow$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow
     * (the _jira_ workflow).
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme
     * can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDefaultWorkflow<T = WorkflowScheme$1>(parameters: DeleteDefaultWorkflow$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the issue type-workflow mapping for an issue type in a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeIssueType<T = IssueTypeWorkflowMapping$1>(parameters: GetWorkflowSchemeIssueType$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the issue type-workflow mapping for an issue type in a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeIssueType<T = IssueTypeWorkflowMapping$1>(parameters: GetWorkflowSchemeIssueType$1, callback?: never): Promise<T>;
    /**
     * Sets the workflow for an issue type in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow
     * mapping. The draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setWorkflowSchemeIssueType<T = WorkflowScheme$1>(parameters: SetWorkflowSchemeIssueType$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the workflow for an issue type in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow
     * mapping. The draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setWorkflowSchemeIssueType<T = WorkflowScheme$1>(parameters: SetWorkflowSchemeIssueType$1, callback?: never): Promise<T>;
    /**
     * Deletes the issue type-workflow mapping for an issue type in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft
     * workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeIssueType<T = WorkflowScheme$1>(parameters: DeleteWorkflowSchemeIssueType$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the issue type-workflow mapping for an issue type in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft
     * workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeIssueType<T = WorkflowScheme$1>(parameters: DeleteWorkflowSchemeIssueType$1, callback?: never): Promise<T>;
    /**
     * Returns the workflow-issue type mappings for a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflow<T = IssueTypesWorkflowMapping$1>(parameters: GetWorkflow$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the workflow-issue type mappings for a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflow<T = IssueTypesWorkflowMapping$1>(parameters: GetWorkflow$1 | string, callback?: never): Promise<T>;
    /**
     * Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for
     * the workflow scheme. Unmapped issues types are mapped to the default workflow.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types
     * mappings. The draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowMapping<T = WorkflowScheme$1>(parameters: UpdateWorkflowMapping$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for
     * the workflow scheme. Unmapped issues types are mapped to the default workflow.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types
     * mappings. The draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowMapping<T = WorkflowScheme$1>(parameters: UpdateWorkflowMapping$1, callback?: never): Promise<T>;
    /**
     * Deletes the workflow-issue type mapping for a workflow in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft
     * workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowMapping<T = unknown>(parameters: DeleteWorkflowMapping$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the workflow-issue type mapping for a workflow in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft
     * workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowMapping<T = unknown>(parameters: DeleteWorkflowMapping$1 | string, callback?: never): Promise<T>;
    /** Returns a page of projects using a given workflow scheme. */
    getProjectUsagesForWorkflowScheme<T = WorkflowSchemeProjectUsage$1>(parameters: GetProjectUsagesForWorkflowScheme$1, callback: Callback<T>): Promise<void>;
    /** Returns a page of projects using a given workflow scheme. */
    getProjectUsagesForWorkflowScheme<T = WorkflowSchemeProjectUsage$1>(parameters: GetProjectUsagesForWorkflowScheme$1, callback?: never): Promise<T>;
}

declare class WorkflowStatusCategories$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of all status categories.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getStatusCategories<T = StatusCategory$3[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all status categories.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getStatusCategories<T = StatusCategory$3[]>(callback?: never): Promise<T>;
    /**
     * Returns a status category. Status categories provided a mechanism for categorizing
     * [statuses](#api-rest-api-2-status-idOrName-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getStatusCategory<T = StatusCategory$3>(parameters: GetStatusCategory$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a status category. Status categories provided a mechanism for categorizing
     * [statuses](#api-rest-api-2-status-idOrName-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getStatusCategory<T = StatusCategory$3>(parameters: GetStatusCategory$1 | string, callback?: never): Promise<T>;
}

declare class WorkflowStatuses$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of all statuses associated with active workflows.
     *
     * This operation can be accessed anonymously.
     *
     * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required: _Browse
     * projects_ [project
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the
     * project.
     */
    getStatuses<T = StatusDetails$2[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all statuses associated with active workflows.
     *
     * This operation can be accessed anonymously.
     *
     * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required: _Browse
     * projects_ [project
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the
     * project.
     */
    getStatuses<T = StatusDetails$2[]>(callback?: never): Promise<T>;
    /**
     * Returns a status. The status must be associated with an active workflow to be returned.
     *
     * If a name is used on more than one status, only the status found first is returned. Therefore, identifying the
     * status by its ID may be preferable.
     *
     * This operation can be accessed anonymously.
     *
     * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required: _Browse
     * projects_ [project
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the
     * project.
     */
    getStatus<T = StatusDetails$2>(parameters: GetStatus$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a status. The status must be associated with an active workflow to be returned.
     *
     * If a name is used on more than one status, only the status found first is returned. Therefore, identifying the
     * status by its ID may be preferable.
     *
     * This operation can be accessed anonymously.
     *
     * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required: _Browse
     * projects_ [project
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the
     * project.
     */
    getStatus<T = StatusDetails$2>(parameters: GetStatus$1 | string, callback?: never): Promise<T>;
}

declare class WorkflowTransitionProperties$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns the properties on a workflow transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowTransitionProperties<T = WorkflowTransitionProperty$1>(parameters: GetWorkflowTransitionProperties$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the properties on a workflow transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowTransitionProperties<T = WorkflowTransitionProperty$1>(parameters: GetWorkflowTransitionProperties$1, callback?: never): Promise<T>;
    /**
     * Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition.
     * For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowTransitionProperty<T = WorkflowTransitionProperty$1>(parameters: CreateWorkflowTransitionProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition.
     * For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowTransitionProperty<T = WorkflowTransitionProperty$1>(parameters: CreateWorkflowTransitionProperty$1, callback?: never): Promise<T>;
    /**
     * Updates a workflow transition by changing the property value. Trying to update a property that does not exist
     * results in a new property being added to the transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowTransitionProperty<T = WorkflowTransitionProperty$1>(parameters: UpdateWorkflowTransitionProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates a workflow transition by changing the property value. Trying to update a property that does not exist
     * results in a new property being added to the transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowTransitionProperty<T = WorkflowTransitionProperty$1>(parameters: UpdateWorkflowTransitionProperty$1, callback?: never): Promise<T>;
    /**
     * Deletes a property from a workflow transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowTransitionProperty<T = unknown>(parameters: DeleteWorkflowTransitionProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a property from a workflow transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowTransitionProperty<T = unknown>(parameters: DeleteWorkflowTransitionProperty$1, callback?: never): Promise<T>;
}

declare class WorkflowTransitionRules$2 {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * workflows with transition rules. The workflows can be filtered to return only those containing workflow transition
     * rules:
     *
     * - Of one or more transition rule types, such as [workflow post
     *   functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).
     * - Matching one or more transition rule keys.
     *
     * Only workflows containing transition rules created by the calling
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app are returned.
     *
     * Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be
     * ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
     */
    getWorkflowTransitionRuleConfigurations<T = PageWorkflowTransitionRules$1>(parameters: GetWorkflowTransitionRuleConfigurations$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * workflows with transition rules. The workflows can be filtered to return only those containing workflow transition
     * rules:
     *
     * - Of one or more transition rule types, such as [workflow post
     *   functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).
     * - Matching one or more transition rule keys.
     *
     * Only workflows containing transition rules created by the calling
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app are returned.
     *
     * Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be
     * ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
     */
    getWorkflowTransitionRuleConfigurations<T = PageWorkflowTransitionRules$1>(parameters: GetWorkflowTransitionRuleConfigurations$1, callback?: never): Promise<T>;
    /**
     * Updates configuration of workflow transition rules. The following rule types are supported:
     *
     * - [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
     * - [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
     * - [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
     *
     * Only rules created by the calling
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app can be updated.
     *
     * To assist with app migration, this operation can be used to:
     *
     * - Disable a rule.
     * - Add a `tag`. Use this to filter rules in the [Get workflow transition rule
     *   configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-workflow-transition-rules/#api-rest-api-2-workflow-rule-config-get).
     *
     * Rules are enabled if the `disabled` parameter is not provided.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
     */
    updateWorkflowTransitionRuleConfigurations<T = WorkflowTransitionRulesUpdateErrors$1>(parameters: UpdateWorkflowTransitionRuleConfigurations$1, callback: Callback<T>): Promise<void>;
    /**
     * Updates configuration of workflow transition rules. The following rule types are supported:
     *
     * - [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
     * - [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
     * - [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
     *
     * Only rules created by the calling
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app can be updated.
     *
     * To assist with app migration, this operation can be used to:
     *
     * - Disable a rule.
     * - Add a `tag`. Use this to filter rules in the [Get workflow transition rule
     *   configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-workflow-transition-rules/#api-rest-api-2-workflow-rule-config-get).
     *
     * Rules are enabled if the `disabled` parameter is not provided.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
     */
    updateWorkflowTransitionRuleConfigurations<T = WorkflowTransitionRulesUpdateErrors$1>(parameters: UpdateWorkflowTransitionRuleConfigurations$1, callback?: never): Promise<T>;
    /**
     * Deletes workflow transition rules from one or more workflows. These rule types are supported:
     *
     * - [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
     * - [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
     * - [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
     *
     * Only rules created by the calling Connect app can be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can use this operation.
     */
    deleteWorkflowTransitionRuleConfigurations<T = WorkflowTransitionRulesUpdateErrors$1>(parameters: DeleteWorkflowTransitionRuleConfigurations$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Deletes workflow transition rules from one or more workflows. These rule types are supported:
     *
     * - [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
     * - [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
     * - [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
     *
     * Only rules created by the calling Connect app can be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** Only
     * Connect apps can use this operation.
     */
    deleteWorkflowTransitionRuleConfigurations<T = WorkflowTransitionRulesUpdateErrors$1>(parameters?: DeleteWorkflowTransitionRuleConfigurations$1, callback?: never): Promise<T>;
}

declare class Workflows$1 {
    private client;
    constructor(client: Client);
    /**
     * Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no
     * transitional rules are specified the default system transition rules are used. Note: This only applies to
     * company-managed scoped workflows. Use [bulk create
     * workflows](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-workflows/#api-rest-api-2-workflows-create-post)
     * to create both team and company-managed scoped workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflow<T = WorkflowId$1>(parameters: CreateWorkflow$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no
     * transitional rules are specified the default system transition rules are used. Note: This only applies to
     * company-managed scoped workflows. Use [bulk create
     * workflows](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-workflows/#api-rest-api-2-workflows-create-post)
     * to create both team and company-managed scoped workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflow<T = WorkflowId$1>(parameters: CreateWorkflow$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise,
     * all published classic workflows are returned.
     *
     * This operation does not return next-gen workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowsPaginated<T = PageWorkflow$1>(parameters: GetWorkflowsPaginated$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
     * published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise,
     * all published classic workflows are returned.
     *
     * This operation does not return next-gen workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowsPaginated<T = PageWorkflow$1>(parameters?: GetWorkflowsPaginated$1, callback?: never): Promise<T>;
    /**
     * Deletes a workflow.
     *
     * The workflow cannot be deleted if it is:
     *
     * - An active workflow.
     * - A system workflow.
     * - Associated with any workflow scheme.
     * - Associated with any draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteInactiveWorkflow<T = void>(parameters: DeleteInactiveWorkflow$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a workflow.
     *
     * The workflow cannot be deleted if it is:
     *
     * - An active workflow.
     * - A system workflow.
     * - Associated with any workflow scheme.
     * - Associated with any draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteInactiveWorkflow<T = void>(parameters: DeleteInactiveWorkflow$1 | string, callback?: never): Promise<T>;
    /** Returns a page of issue types using a given workflow within a project. */
    getWorkflowProjectIssueTypeUsages<T = WorkflowProjectIssueTypeUsageDTO>(parameters: GetWorkflowProjectIssueTypeUsages$1, callback: Callback<T>): Promise<void>;
    /** Returns a page of issue types using a given workflow within a project. */
    getWorkflowProjectIssueTypeUsages<T = WorkflowProjectIssueTypeUsageDTO>(parameters: GetWorkflowProjectIssueTypeUsages$1, callback?: never): Promise<T>;
    /** Returns a page of projects using a given workflow. */
    getProjectUsagesForWorkflow<T = WorkflowProjectUsageDTO>(parameters: GetProjectUsagesForWorkflow$1, callback: Callback<T>): Promise<void>;
    /** Returns a page of projects using a given workflow. */
    getProjectUsagesForWorkflow<T = WorkflowProjectUsageDTO>(parameters: GetProjectUsagesForWorkflow$1, callback?: never): Promise<T>;
    /** Returns a page of workflow schemes using a given workflow. */
    getWorkflowSchemeUsagesForWorkflow<T = WorkflowSchemeUsageDTO>(parameters: GetWorkflowSchemeUsagesForWorkflow$1, callback: Callback<T>): Promise<void>;
    /** Returns a page of workflow schemes using a given workflow. */
    getWorkflowSchemeUsagesForWorkflow<T = WorkflowSchemeUsageDTO>(parameters: GetWorkflowSchemeUsagesForWorkflow$1, callback?: never): Promise<T>;
    /**
     * Returns a list of workflows and related statuses by providing workflow names, workflow IDs, or project and issue
     * types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflows
     * - At least one of the _Administer projects_ and _View (read-only) workflow_ project permissions to access
     *   project-scoped workflows
     */
    readWorkflows<T = WorkflowRead$1>(parameters: ReadWorkflows$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of workflows and related statuses by providing workflow names, workflow IDs, or project and issue
     * types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflows
     * - At least one of the _Administer projects_ and _View (read-only) workflow_ project permissions to access
     *   project-scoped workflows
     */
    readWorkflows<T = WorkflowRead$1>(parameters: ReadWorkflows$1, callback?: never): Promise<T>;
    /**
     * Get the list of workflow capabilities for a specific workflow using either the workflow ID, or the project and
     * issue type ID pair. The response includes the scope of the workflow, defined as global/project-based, and a list of
     * project types that the workflow is scoped to. It also includes all rules organised into their broad categories
     * (conditions, validators, actions, triggers, screens) as well as the source location (Atlassian-provided, Connect,
     * Forge).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to access all, including global-scoped, workflows
     * - _Administer projects_ project permissions to access project-scoped workflows
     */
    workflowCapabilities<T = WorkflowCapabilities$3>(parameters: WorkflowCapabilities$2, callback: Callback<T>): Promise<void>;
    /**
     * Get the list of workflow capabilities for a specific workflow using either the workflow ID, or the project and
     * issue type ID pair. The response includes the scope of the workflow, defined as global/project-based, and a list of
     * project types that the workflow is scoped to. It also includes all rules organised into their broad categories
     * (conditions, validators, actions, triggers, screens) as well as the source location (Atlassian-provided, Connect,
     * Forge).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to access all, including global-scoped, workflows
     * - _Administer projects_ project permissions to access project-scoped workflows
     */
    workflowCapabilities<T = WorkflowCapabilities$3>(parameters: WorkflowCapabilities$2, callback?: never): Promise<T>;
    /**
     * Create workflows and related statuses.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    createWorkflows<T = WorkflowCreate$1>(parameters: CreateWorkflows$1, callback: Callback<T>): Promise<void>;
    /**
     * Create workflows and related statuses.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    createWorkflows<T = WorkflowCreate$1>(parameters: CreateWorkflows$1, callback?: never): Promise<T>;
    /**
     * Validate the payload for bulk create workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    validateCreateWorkflows<T = WorkflowValidationErrorList$1>(parameters: ValidateCreateWorkflows$1, callback: Callback<T>): Promise<void>;
    /**
     * Validate the payload for bulk create workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    validateCreateWorkflows<T = WorkflowValidationErrorList$1>(parameters: ValidateCreateWorkflows$1, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of global
     * and project workflows. If workflow names are specified in query string, details of those workflows are returned.
     * Otherwise, all workflows are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflows
     * - At least one of the _Administer projects_ and _View (read-only) workflow_ project permissions to access
     *   project-scoped workflows
     */
    searchWorkflows<T = WorkflowSearchResponse$1>(parameters: SearchWorkflows$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of global
     * and project workflows. If workflow names are specified in query string, details of those workflows are returned.
     * Otherwise, all workflows are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflows
     * - At least one of the _Administer projects_ and _View (read-only) workflow_ project permissions to access
     *   project-scoped workflows
     */
    searchWorkflows<T = WorkflowSearchResponse$1>(parameters?: SearchWorkflows$1, callback?: never): Promise<T>;
    /**
     * Update workflows and related statuses.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    updateWorkflows<T = WorkflowUpdate$1>(parameters: UpdateWorkflows$1, callback: Callback<T>): Promise<void>;
    /**
     * Update workflows and related statuses.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    updateWorkflows<T = WorkflowUpdate$1>(parameters: UpdateWorkflows$1, callback?: never): Promise<T>;
    /**
     * Validate the payload for bulk update workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    validateUpdateWorkflows<T = WorkflowValidationErrorList$1>(parameters: ValidateUpdateWorkflows$1, callback: Callback<T>): Promise<void>;
    /**
     * Validate the payload for bulk update workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    validateUpdateWorkflows<T = WorkflowValidationErrorList$1>(parameters: ValidateUpdateWorkflows$1, callback?: never): Promise<T>;
}

declare class Version2Client extends BaseClient {
    announcementBanner: AnnouncementBanner$1;
    appDataPolicies: AppDataPolicies$1;
    applicationRoles: ApplicationRoles$1;
    appMigration: AppMigration$1;
    appProperties: AppProperties$1;
    auditRecords: AuditRecords$2;
    avatars: Avatars$2;
    classificationLevels: ClassificationLevels$1;
    dashboards: Dashboards$1;
    dynamicModules: DynamicModules$1;
    filters: Filters$1;
    filterSharing: FilterSharing$1;
    groupAndUserPicker: GroupAndUserPicker$1;
    groups: Groups$1;
    issueAttachments: IssueAttachments$1;
    issueCommentProperties: IssueCommentProperties$1;
    issueComments: IssueComments$1;
    issueCustomFieldAssociations: IssueCustomFieldAssociations$1;
    issueCustomFieldConfigurationApps: IssueCustomFieldConfigurationApps$1;
    issueCustomFieldContexts: IssueCustomFieldContexts$1;
    issueCustomFieldOptions: IssueCustomFieldOptions$1;
    issueCustomFieldOptionsApps: IssueCustomFieldOptionsApps$1;
    issueCustomFieldValuesApps: IssueCustomFieldValuesApps$1;
    issueFieldConfigurations: IssueFieldConfigurations$1;
    issueFields: IssueFields$1;
    issueLinks: IssueLinks$1;
    issueLinkTypes: IssueLinkTypes$2;
    issueNavigatorSettings: IssueNavigatorSettings$1;
    issueNotificationSchemes: IssueNotificationSchemes$1;
    issuePriorities: IssuePriorities$1;
    issueProperties: IssueProperties$1;
    issueRemoteLinks: IssueRemoteLinks$1;
    issueResolutions: IssueResolutions$1;
    issues: Issues$1;
    issueSearch: IssueSearch$1;
    issueSecurityLevel: IssueSecurityLevel$1;
    issueSecuritySchemes: IssueSecuritySchemes$1;
    issueTypeProperties: IssueTypeProperties$1;
    issueTypes: IssueTypes$1;
    issueTypeSchemes: IssueTypeSchemes$1;
    issueTypeScreenSchemes: IssueTypeScreenSchemes$1;
    issueVotes: IssueVotes$1;
    issueWatchers: IssueWatchers$1;
    issueWorklogProperties: IssueWorklogProperties$1;
    issueWorklogs: IssueWorklogs$1;
    jiraExpressions: JiraExpressions$1;
    jiraSettings: JiraSettings$1;
    jql: JQL$1;
    jqlFunctionsApps: JqlFunctionsApps$1;
    labels: Labels$1;
    licenseMetrics: LicenseMetrics$1;
    myself: Myself$1;
    permissions: Permissions$2;
    permissionSchemes: PermissionSchemes$2;
    plans: Plans$1;
    prioritySchemes: PrioritySchemes$1;
    projectAvatars: ProjectAvatars$2;
    projectCategories: ProjectCategories$1;
    projectClassificationLevels: ProjectClassificationLevels$1;
    projectComponents: ProjectComponents$1;
    projectEmail: ProjectEmail$1;
    projectFeatures: ProjectFeatures$1;
    projectKeyAndNameValidation: ProjectKeyAndNameValidation$1;
    projectPermissionSchemes: ProjectPermissionSchemes$1;
    projectProperties: ProjectProperties$1;
    projectRoleActors: ProjectRoleActors$1;
    projectRoles: ProjectRoles$1;
    projects: Projects$2;
    projectTemplates: ProjectTemplates$1;
    projectTypes: ProjectTypes$1;
    projectVersions: ProjectVersions$1;
    screens: Screens$1;
    screenSchemes: ScreenSchemes$1;
    screenTabFields: ScreenTabFields$1;
    screenTabs: ScreenTabs$1;
    serverInfo: ServerInfo$1;
    serviceRegistry: ServiceRegistry$2;
    status: Status$3;
    tasks: Tasks$1;
    teamsInPlan: TeamsInPlan$1;
    timeTracking: TimeTracking$1;
    uiModificationsApps: UIModificationsApps$1;
    userNavProperties: UserNavProperties$1;
    userProperties: UserProperties$1;
    users: Users$1;
    userSearch: UserSearch$1;
    webhooks: Webhooks$1;
    workflows: Workflows$1;
    workflowSchemeDrafts: WorkflowSchemeDrafts$1;
    workflowSchemeProjectAssociations: WorkflowSchemeProjectAssociations$1;
    workflowSchemes: WorkflowSchemes$1;
    workflowStatusCategories: WorkflowStatusCategories$1;
    workflowStatuses: WorkflowStatuses$1;
    workflowTransitionProperties: WorkflowTransitionProperties$1;
    workflowTransitionRules: WorkflowTransitionRules$2;
}

type index$8_Version2Client = Version2Client;
declare const index$8_Version2Client: typeof Version2Client;
declare namespace index$8 {
  export { AnnouncementBanner$1 as AnnouncementBanner, AppDataPolicies$1 as AppDataPolicies, AppMigration$1 as AppMigration, AppProperties$1 as AppProperties, ApplicationRoles$1 as ApplicationRoles, AuditRecords$2 as AuditRecords, Avatars$2 as Avatars, ClassificationLevels$1 as ClassificationLevels, Dashboards$1 as Dashboards, DynamicModules$1 as DynamicModules, FilterSharing$1 as FilterSharing, Filters$1 as Filters, GroupAndUserPicker$1 as GroupAndUserPicker, Groups$1 as Groups, IssueAttachments$1 as IssueAttachments, IssueCommentProperties$1 as IssueCommentProperties, IssueComments$1 as IssueComments, IssueCustomFieldAssociations$1 as IssueCustomFieldAssociations, IssueCustomFieldConfigurationApps$1 as IssueCustomFieldConfigurationApps, IssueCustomFieldContexts$1 as IssueCustomFieldContexts, IssueCustomFieldOptions$1 as IssueCustomFieldOptions, IssueCustomFieldOptionsApps$1 as IssueCustomFieldOptionsApps, IssueCustomFieldValuesApps$1 as IssueCustomFieldValuesApps, IssueFieldConfigurations$1 as IssueFieldConfigurations, IssueFields$1 as IssueFields, IssueLinkTypes$2 as IssueLinkTypes, IssueLinks$1 as IssueLinks, IssueNavigatorSettings$1 as IssueNavigatorSettings, IssueNotificationSchemes$1 as IssueNotificationSchemes, IssuePriorities$1 as IssuePriorities, IssueProperties$1 as IssueProperties, IssueRemoteLinks$1 as IssueRemoteLinks, IssueResolutions$1 as IssueResolutions, IssueSearch$1 as IssueSearch, IssueSecurityLevel$1 as IssueSecurityLevel, IssueSecuritySchemes$1 as IssueSecuritySchemes, IssueTypeProperties$1 as IssueTypeProperties, IssueTypeSchemes$1 as IssueTypeSchemes, IssueTypeScreenSchemes$1 as IssueTypeScreenSchemes, IssueTypes$1 as IssueTypes, IssueVotes$1 as IssueVotes, IssueWatchers$1 as IssueWatchers, IssueWorklogProperties$1 as IssueWorklogProperties, IssueWorklogs$1 as IssueWorklogs, Issues$1 as Issues, JQL$1 as JQL, JiraExpressions$1 as JiraExpressions, JiraSettings$1 as JiraSettings, JqlFunctionsApps$1 as JqlFunctionsApps, Labels$1 as Labels, LicenseMetrics$1 as LicenseMetrics, Myself$1 as Myself, PermissionSchemes$2 as PermissionSchemes, Permissions$2 as Permissions, Plans$1 as Plans, PrioritySchemes$1 as PrioritySchemes, ProjectAvatars$2 as ProjectAvatars, ProjectCategories$1 as ProjectCategories, ProjectClassificationLevels$1 as ProjectClassificationLevels, ProjectComponents$1 as ProjectComponents, ProjectEmail$1 as ProjectEmail, ProjectFeatures$1 as ProjectFeatures, ProjectKeyAndNameValidation$1 as ProjectKeyAndNameValidation, ProjectPermissionSchemes$1 as ProjectPermissionSchemes, ProjectProperties$1 as ProjectProperties, ProjectRoleActors$1 as ProjectRoleActors, ProjectRoles$1 as ProjectRoles, ProjectTemplates$1 as ProjectTemplates, ProjectTypes$1 as ProjectTypes, ProjectVersions$1 as ProjectVersions, Projects$2 as Projects, ScreenSchemes$1 as ScreenSchemes, ScreenTabFields$1 as ScreenTabFields, ScreenTabs$1 as ScreenTabs, Screens$1 as Screens, ServerInfo$1 as ServerInfo, ServiceRegistry$2 as ServiceRegistry, Status$3 as Status, Tasks$1 as Tasks, TeamsInPlan$1 as TeamsInPlan, TimeTracking$1 as TimeTracking, UIModificationsApps$1 as UIModificationsApps, UserNavProperties$1 as UserNavProperties, UserProperties$1 as UserProperties, UserSearch$1 as UserSearch, Users$1 as Users, index$8_Version2Client as Version2Client, index$a as Version2Models, index$9 as Version2Parameters, Webhooks$1 as Webhooks, WorkflowSchemeDrafts$1 as WorkflowSchemeDrafts, WorkflowSchemeProjectAssociations$1 as WorkflowSchemeProjectAssociations, WorkflowSchemes$1 as WorkflowSchemes, WorkflowStatusCategories$1 as WorkflowStatusCategories, WorkflowStatuses$1 as WorkflowStatuses, WorkflowTransitionProperties$1 as WorkflowTransitionProperties, WorkflowTransitionRules$2 as WorkflowTransitionRules, Workflows$1 as Workflows };
}

interface ActorInput {
    /**
     * The account IDs of the users to add as default actors. This parameter accepts a comma-separated list. For example,
     * `"user":["5b10a2844c20165700ede21g", "5b109f2e9729b51b54dc274d"]`.
     */
    user?: string[];
    /**
     * The ID of the group to add as a default actor. This parameter cannot be used with the `group` parameter This
     * parameter accepts a comma-separated list. For example, `"groupId":["77f6ab39-e755-4570-a6ae-2d7a8df0bcb8",
     * "0c011f85-69ed-49c4-a801-3b18d0f771bc"]`.
     */
    groupId?: string[];
    /**
     * The name of the group to add as a default actor. This parameter cannot be used with the `groupId` parameter. As a
     * group's name can change,use of `groupId` is recommended. This parameter accepts a comma-separated list. For
     * example, `"group":["project-admin", "jira-developers"]`.
     */
    group?: string[];
}

interface ActorsMap {
    /** The user account ID of the user to add. */
    user?: string[];
    /**
     * The name of the group to add. This parameter cannot be used with the `groupId` parameter. As a group's name can
     * change, use of `groupId` is recommended.
     */
    group?: string[];
    /** The ID of the group to add. This parameter cannot be used with the `group` parameter. */
    groupId?: string[];
}

interface AddField {
    /** The ID of the field to add. */
    fieldId: string;
}

interface AddGroup {
    /** The name of the group. */
    name: string;
}

interface SecuritySchemeLevelMember {
    /** The value corresponding to the specified member type. */
    parameter?: string;
    /** The issue security level member type, e.g `reporter`, `group`, `user`. */
    type: string;
}

interface SecuritySchemeLevel {
    /** The description of the issue security scheme level. */
    description?: string;
    /** Specifies whether the level is the default level. False by default. */
    isDefault?: boolean;
    /** The list of level members which should be added to the issue security scheme level. */
    members?: SecuritySchemeLevelMember[];
    /** The name of the issue security scheme level. Must be unique. */
    name: string;
}

interface AddSecuritySchemeLevelsRequest {
    /** The list of scheme levels which should be added to the security scheme. */
    levels?: SecuritySchemeLevel[];
}

/** Announcement banner configuration. */
interface AnnouncementBannerConfiguration {
    /** The text on the announcement banner. */
    message?: string;
    /** Flag indicating if the announcement banner can be dismissed by the user. */
    isDismissible?: boolean;
    /** Flag indicating if the announcement banner is enabled or not. */
    isEnabled?: boolean;
    /** Hash of the banner data. The client detects updates by comparing hash IDs. */
    hashId?: string;
    /** Visibility of the announcement banner. */
    visibility?: string;
}

/** Configuration of the announcement banner. */
interface AnnouncementBannerConfigurationUpdate {
    /** The text on the announcement banner. */
    message?: string;
    /** Flag indicating if the announcement banner can be dismissed by the user. */
    isDismissible?: boolean;
    /** Flag indicating if the announcement banner is enabled or not. */
    isEnabled?: boolean;
    /** Visibility of the announcement banner. Can be public or private. */
    visibility?: string;
}

/** The application the linked item is in. */
interface Application {
    /** The name-spaced type of the application, used by registered rendering apps. */
    type?: string;
    /**
     * The name of the application. Used in conjunction with the (remote) object icon title to display a tooltip for the
     * link's icon. The tooltip takes the format "[application name] icon title". Blank items are excluded from the
     * tooltip title. If both items are blank, the icon tooltop displays as "Web Link". Grouping and sorting of links may
     * place links without an application name last.
     */
    name?: string;
}

/** Details of an application property. */
interface ApplicationProperty {
    /** The ID of the application property. The ID and key are the same. */
    id?: string;
    /** The key of the application property. The ID and key are the same. */
    key?: string;
    /** The new value. */
    value?: string;
    /** The name of the application property. */
    name?: string;
    /** The description of the application property. */
    desc?: string;
    /** The data type of the application property. */
    type?: string;
    /** The default value of the application property. */
    defaultValue?: string;
    example?: string;
    /** The allowed values, if applicable. */
    allowedValues?: string[];
}

/** Details about a group. */
interface GroupName {
    /** The name of group. */
    name?: string;
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products. For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_.
     */
    groupId?: string;
    /** The URL for these group details. */
    self?: string;
}

/** Details of an application role. */
interface ApplicationRole {
    /** The key of the application role. */
    key?: string;
    /**
     * The groups associated with the application role. As a group's name can change, use of `groupDetails` is recommended
     * to identify a groups.
     */
    groups?: string[];
    /** The groups associated with the application role. */
    groupDetails?: GroupName[];
    /** The display name of the application role. */
    name?: string;
    /**
     * The groups that are granted default access for this application role. As a group's name can change, use of
     * `defaultGroupsDetails` is recommended to identify a groups.
     */
    defaultGroups?: string[];
    /** The groups that are granted default access for this application role. */
    defaultGroupsDetails?: GroupName[];
    /** Determines whether this application role should be selected by default on user creation. */
    selectedByDefault?: boolean;
    /** The maximum count of users on your license. */
    numberOfSeats?: number;
    /** The count of users remaining on your license. */
    remainingSeats?: number;
    /** The number of users counting against your license. */
    userCount?: number;
    /** The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license. */
    userCountDescription?: string;
    hasUnlimitedSeats?: boolean;
    /** Indicates if the application role belongs to Jira platform (`jira-core`). */
    platform?: boolean;
}

/** The approval configuration of a status within a workflow. Applies only to Jira Service Management approvals. */
interface ApprovalConfiguration {
    /** Whether the approval configuration is active. */
    active: boolean;
    /**
     * How the required approval count is calculated. It may be configured to require a specific number of approvals, or
     * approval by a percentage of approvers. If the approvers source field is Approver groups, you can configure how many
     * approvals per group are required for the request to be approved. The number will be the same across all groups.
     */
    conditionType: 'number' | 'percent' | 'numberPerPrincipal' | string;
    /**
     * The number or percentage of approvals required for a request to be approved. If `conditionType` is `number`, the
     * value must be 20 or less. If `conditionType` is `percent`, the value must be 100 or less.
     */
    conditionValue: string;
    /** A list of roles that should be excluded as possible approvers. */
    exclude?: 'assignee' | 'reporter' | string;
    /** The custom field ID of the "Approvers" or "Approver Groups" field. */
    fieldId: string;
    /**
     * The custom field ID of the field used to pre-populate the Approver field. Only supports the "Affected Services"
     * field.
     */
    prePopulatedFieldId?: string;
    /** The numeric ID of the transition to be executed if the request is approved. */
    transitionApproved: string;
    /** The numeric ID of the transition to be executed if the request is declined. */
    transitionRejected: string;
}

interface ArchiveIssueAsyncRequest {
    jql: string;
}

/** Details of an item associated with the changed record. */
interface AssociatedItem {
    /** The ID of the associated record. */
    id?: string;
    /** The name of the associated record. */
    name?: string;
    /** The type of the associated record. */
    typeName?: string;
    /** The ID of the associated parent record. */
    parentId?: string;
    /** The name of the associated parent record. */
    parentName?: string;
}

/** The field configuration to issue type mapping. */
interface FieldConfigurationToIssueTypeMapping {
    /**
     * The ID of the issue type or _default_. When set to _default_ this field configuration issue type item applies to
     * all issue types without a field configuration. An issue type can be included only once in a request.
     */
    issueTypeId: string;
    /** The ID of the field configuration. */
    fieldConfigurationId: string;
}

/** Details of a field configuration to issue type mappings. */
interface AssociateFieldConfigurationsWithIssueTypesRequest {
    /** Field configuration to issue type mappings. */
    mappings: FieldConfigurationToIssueTypeMapping[];
}

/** Field association for example PROJECT_ID. */
interface AssociationContextObject {
    identifier?: {};
    type: string;
}

interface AvatarUrls$2 {
    /** The URL of the item's 16x16 pixel avatar. */
    '16x16'?: string;
    /** The URL of the item's 24x24 pixel avatar. */
    '24x24'?: string;
    /** The URL of the item's 32x32 pixel avatar. */
    '32x32'?: string;
    /** The URL of the item's 48x48 pixel avatar. */
    '48x48'?: string;
}

/**
 * User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:*
 *
 * - User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case,
 *   `displayName` provides an indication and other parameters have default values or are blank (for example, email is
 *   blank).
 * - User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted
 *   users. In this case, `accountId` returns _unknown_ and all other parameters have fallback values.
 * - User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have
 *   fallback values.
 */
interface UserDetails$1 {
    /** The URL of the user. */
    self?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The email address of the user. Depending on the user’s privacy settings, this may be returned as null. */
    emailAddress?: string;
    avatarUrls?: AvatarUrls$2;
    /** The display name of the user. Depending on the user’s privacy settings, this may return an alternative value. */
    displayName?: string;
    /** Whether the user is active. */
    active?: boolean;
    /**
     * The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as
     * null.
     */
    timeZone?: string;
    /**
     * The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application
     * user) or 'customer' (Jira Service Desk customer user)
     */
    accountType?: string;
}

/** Details about an attachment. */
interface Attachment$3 {
    /** The URL of the attachment details response. */
    self?: string;
    /** The ID of the attachment. */
    id: string;
    /** The file name of the attachment. */
    filename?: string;
    author?: UserDetails$1;
    /** The datetime the attachment was created. */
    created?: string;
    /** The size of the attachment. */
    size?: number;
    /** The MIME type of the attachment. */
    mimeType?: string;
    /** The content of the attachment. */
    content?: string;
    /** The URL of a thumbnail representing the attachment. */
    thumbnail?: string;
}

interface AttachmentArchiveEntry {
    abbreviatedName?: string;
    mediaType?: string;
    entryIndex?: number;
    name?: string;
    size?: number;
}

interface AttachmentArchiveImpl {
    /** The list of the items included in the archive. */
    entries?: AttachmentArchiveEntry[];
    /** The number of items in the archive. */
    totalEntryCount?: number;
}

/** Metadata for an item in an attachment archive. */
interface AttachmentArchiveItemReadable {
    /** The path of the archive item. */
    path?: string;
    /** The position of the item within the archive. */
    index?: number;
    /** The size of the archive item. */
    size?: string;
    /** The MIME type of the archive item. */
    mediaType?: string;
    /** The label for the archive item. */
    label?: string;
}

/** Metadata for an archive (for example a zip) and its contents. */
interface AttachmentArchiveMetadataReadable {
    /** The ID of the attachment. */
    id?: number;
    /** The name of the archive file. */
    name?: string;
    /** The list of the items included in the archive. */
    entries?: AttachmentArchiveItemReadable[];
    /** The number of items included in the archive. */
    totalEntryCount?: number;
    /** The MIME type of the attachment. */
    mediaType?: string;
}

interface ListWrapperCallbackApplicationRole {
}

interface SimpleListWrapperApplicationRole {
    size?: number;
    items?: ApplicationRole[];
    pagingCallback?: ListWrapperCallbackApplicationRole;
    callback?: ListWrapperCallbackApplicationRole;
    'max-results'?: number;
}

interface ListWrapperCallbackGroupName {
}

interface SimpleListWrapperGroupName {
    size?: number;
    items?: GroupName[];
    pagingCallback?: ListWrapperCallbackGroupName;
    callback?: ListWrapperCallbackGroupName;
    'max-results'?: number;
}

/**
 * A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these
 * exceptions:*
 *
 * - User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case,
 *   `displayName` provides an indication and other parameters have default values or are blank (for example, email is
 *   blank).
 * - User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted
 *   users. In this case, `accountId` returns _unknown_ and all other parameters have fallback values.
 * - User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have
 *   fallback values.
 */
interface User$2 {
    /** The URL of the user. */
    self?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Required in requests.
     */
    accountId: string;
    /**
     * The user account type. Can take the following values:
     *
     * `atlassian` regular Atlassian user account `app` system account used for Connect applications and OAuth to
     * represent external systems `customer` Jira Service Desk account representing an external service desk
     */
    accountType?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /** The email address of the user. Depending on the user’s privacy setting, this may be returned as null. */
    emailAddress?: string;
    avatarUrls?: AvatarUrls$2;
    /** The display name of the user. Depending on the user’s privacy setting, this may return an alternative value. */
    displayName?: string;
    /** Whether the user is active. */
    active: boolean;
    /**
     * The time zone specified in the user's profile. Depending on the user’s privacy setting, this may be returned as
     * null.
     */
    timeZone?: string;
    /** The locale of the user. Depending on the user’s privacy setting, this may be returned as null. */
    locale?: string;
    groups?: SimpleListWrapperGroupName;
    applicationRoles?: SimpleListWrapperApplicationRole;
    /** Expand options that include additional user details in the response. */
    expand?: string;
}

/** Metadata for an issue attachment. */
interface AttachmentMetadata {
    /** The ID of the attachment. */
    id?: number;
    /** The URL of the attachment metadata details. */
    self?: string;
    /** The name of the attachment file. */
    filename?: string;
    author?: User$2;
    /** The datetime the attachment was created. */
    created?: string;
    /** The size of the attachment. */
    size?: number;
    /** The MIME type of the attachment. */
    mimeType?: string;
    /** Additional properties of the attachment. */
    properties?: unknown;
    /** The URL of the attachment. */
    content?: string;
    /** The URL of a thumbnail representing the attachment. */
    thumbnail?: string;
    /**
     * File ID of the attachment in Media Store. See [ for more details on the Media
     * API.](https://developer.atlassian.com/platform/media/)
     */
    mediaApiFileId?: string;
}

/** Details of the instance's attachment settings. */
interface AttachmentSettings {
    /** Whether the ability to add attachments is enabled. */
    enabled?: boolean;
    /** The maximum size of attachments permitted, in bytes. */
    uploadLimit?: number;
}

/** Details of names changed in the record event. */
interface ChangedValue {
    /** The name of the field changed. */
    fieldName?: string;
    /** The value of the field before the change. */
    changedFrom?: string;
    /** The value of the field after the change. */
    changedTo?: string;
}

/** An audit record. */
interface AuditRecord {
    /** The ID of the audit record. */
    id?: number;
    /** The summary of the audit record. */
    summary?: string;
    /** The URL of the computer where the creation of the audit record was initiated. */
    remoteAddress?: string;
    /** The date and time on which the audit record was created. */
    created?: string;
    /**
     * The category of the audit record. For a list of these categories, see the help article [Auditing in Jira
     * applications](https://confluence.atlassian.com/x/noXKM).
     */
    category?: string;
    /** The event the audit record originated from. */
    eventSource?: string;
    /** The description of the audit record. */
    description?: string;
    objectItem?: AssociatedItem;
    /** The list of values changed in the record event. */
    changedValues?: ChangedValue[];
    /** The list of items associated with the changed record. */
    associatedItems?: AssociatedItem[];
}

/** Container for a list of audit records. */
interface AuditRecords$1 {
    /** The number of audit items skipped before the first item in this list. */
    offset?: number;
    /** The requested or default limit on the number of audit items to be returned. */
    limit?: number;
    /** The total number of audit items returned. */
    total?: number;
    /** The list of audit items. */
    records?: AuditRecord[];
}

/** A field auto-complete suggestion. */
interface AutoCompleteSuggestion {
    /** The value of a suggested item. */
    value?: string;
    /**
     * The display name of a suggested item. If `fieldValue` or `predicateValue` are provided, the matching text is
     * highlighted with the HTML bold tag.
     */
    displayName?: string;
}

/** The results from a JQL query. */
interface AutoCompleteSuggestions {
    /** The list of suggested item. */
    results?: AutoCompleteSuggestion[];
}

/** The details of the available dashboard gadget. */
interface AvailableDashboardGadget {
    /** The module key of the gadget type. */
    moduleKey?: string;
    /** The URI of the gadget type. */
    uri?: string;
    /** The title of the gadget. */
    title: string;
}

/** The list of available gadgets. */
interface AvailableDashboardGadgetsResponse {
    /** The list of available gadgets. */
    gadgets: AvailableDashboardGadget[];
}

/** Details of an avatar. */
interface Avatar {
    /** The ID of the avatar. */
    id: string;
    /**
     * The owner of the avatar. For a system avatar the owner is null (and nothing is returned). For non-system avatars
     * this is the appropriate identifier, such as the ID for a project or the account ID for a user.
     */
    owner?: string;
    /** Whether the avatar is a system avatar. */
    isSystemAvatar: boolean;
    /** Whether the avatar is used in Jira. For example, shown as a project's avatar. */
    isSelected: boolean;
    /** Whether the avatar can be deleted. */
    isDeletable: boolean;
    /** The file name of the avatar icon. Returned for system avatars. */
    fileName?: string;
    /** The list of avatar icon URLs. */
    urls: AvatarUrls$2;
}

/** Details about system and custom avatars. */
interface Avatars$1 {
    /** System avatars list. */
    system: Avatar[];
    /** Custom avatars list. */
    custom: Avatar[];
}

interface AvatarWithDetails {
    /** The content type of the avatar. Expected values include 'image/png', 'image/svg+xml', or any other valid MIME type. */
    contentType: 'image/png' | 'image/svg+xml' | string;
    /** The binary representation of the avatar image. */
    avatar: Uint8Array;
}

/**
 * Every project-created entity has an ID that must be unique within the scope of the project creation. PCRI (Project
 * Create Resource Identifier) is a standard format for creating IDs and references to other project entities. PCRI
 * format is defined as follows: pcri:[entityType]:[type]:[entityId] entityType - the type of an entity, e.g. status,
 * role, workflow type - PCRI type, either `id` - The ID of an entity that already exists in the target site, or `ref` -
 * A unique reference to an entity that is being created entityId - entity identifier, if type is `id` - must be an
 * existing entity ID that exists in the Jira site, if `ref` - must be unique across all entities in the scope of this
 * project template creation
 */
interface ProjectCreateResourceIdentifier {
    anID?: boolean;
    areference?: boolean;
    entityId?: string;
    entityType?: string;
    id?: string;
    type?: 'id' | 'ref' | string;
}

/** The payload for creating a board column */
interface BoardColumnPayload {
    /** The maximum issue constraint for the column */
    maximumIssueConstraint?: number;
    /** The minimum issue constraint for the column */
    minimumIssueConstraint?: number;
    /** The name of the column */
    name?: string;
    /** The status IDs for the column */
    statusIds?: ProjectCreateResourceIdentifier[];
}

/** The payload for setting a board feature */
interface BoardFeaturePayload {
    /** The key of the feature */
    featureKey?: 'ESTIMATION' | 'SPRINT' | string;
    /** Whether the feature should be turned on or off */
    state?: boolean;
}

/** Card layout configuration. */
interface CardLayout {
    /** Whether to show days in column */
    showDaysInColumn?: boolean;
}

/** Card layout settings of the board */
interface CardLayoutField {
    fieldId?: string;
    id?: number;
    mode?: 'PLAN' | 'WORK' | string;
    position?: number;
}

/** The payload for defining quick filters */
interface QuickFilterPayload {
    /** The description of the quick filter */
    description?: string;
    /** The jql query for the quick filter */
    jqlQuery?: string;
    /** The name of the quick filter */
    name?: string;
}

/** The payload for customising a swimlanes on a board */
interface SwimlanesPayload {
    /** The custom swimlane definitions. */
    customSwimlanes?: 'none, custom, parentChild, assignee, assigneeUnassignedFirst, epic, project, issueparent, issuechildren, request_type' | string;
    /** The name of the custom swimlane to use for work items that don't match any other swimlanes. */
    defaultCustomSwimlaneName?: string;
    /** The swimlane strategy for the board. */
    swimlaneStrategy?: 'none' | 'custom' | 'parentChild' | 'assignee' | 'assigneeUnassignedFirst' | 'epic' | 'project' | 'issueparent' | 'issuechildren' | 'request_type' | string;
}

interface NonWorkingDay {
    id?: number;
    iso8601Date?: string;
}

/** Working days configuration */
interface WorkingDaysConfig {
    friday?: boolean;
    id?: number;
    monday?: boolean;
    nonWorkingDays?: NonWorkingDay[];
    saturday?: boolean;
    sunday?: boolean;
    thursday?: boolean;
    timezoneId?: string;
    tuesday?: boolean;
    wednesday?: boolean;
}

/** The payload for creating a board */
interface BoardPayload {
    /**
     * Takes in a JQL string to create a new filter. If no value is provided, it'll default to a JQL filter for the
     * project creating
     */
    boardFilterJQL?: string;
    /** Card color settings of the board */
    cardColorStrategy?: 'ISSUE_TYPE' | 'REQUEST_TYPE' | 'ASSIGNEE' | 'PRIORITY' | 'NONE' | 'CUSTOM' | string;
    cardLayout?: CardLayout;
    /** Card layout settings of the board */
    cardLayouts?: CardLayoutField[];
    /** The columns of the board */
    columns?: BoardColumnPayload[];
    /** Feature settings for the board */
    features?: BoardFeaturePayload[];
    /** The name of the board */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
    /** The quick filters for the board. */
    quickFilters?: QuickFilterPayload[];
    /** Whether sprints are supported on the board */
    supportsSprint?: boolean;
    swimlanes?: SwimlanesPayload;
    workingDaysConfig?: WorkingDaysConfig;
}

interface BoardsPayload {
    /** The boards to be associated with the project. */
    boards?: BoardPayload[];
}

/** A change item. */
interface ChangeDetails {
    /** The name of the field changed. */
    field?: string;
    /** The type of the field changed. */
    fieldtype?: string;
    /** The ID of the field changed. */
    fieldId?: string;
    /** The details of the original value. */
    from?: string;
    /** The details of the original value as a string. */
    fromString?: string;
    /** The details of the new value. */
    to?: string;
    /** The details of the new value as a string. */
    toString?: string;
}

/** Details of user or system associated with a issue history metadata item. */
interface HistoryMetadataParticipant {
    /** The ID of the user or system associated with a history record. */
    id?: string;
    /** The display name of the user or system associated with a history record. */
    displayName?: string;
    /** The key of the display name of the user or system associated with a history record. */
    displayNameKey?: string;
    /** The type of the user or system associated with a history record. */
    type?: string;
    /** The URL to an avatar for the user or system associated with a history record. */
    avatarUrl?: string;
    /** The URL of the user or system associated with a history record. */
    url?: string;
}

/** Details of issue history metadata. */
interface HistoryMetadata {
    /** The type of the history record. */
    type?: string;
    /** The description of the history record. */
    description?: string;
    /** The description key of the history record. */
    descriptionKey?: string;
    /** The activity described in the history record. */
    activityDescription?: string;
    /** The key of the activity described in the history record. */
    activityDescriptionKey?: string;
    /** The description of the email address associated the history record. */
    emailDescription?: string;
    /** The description key of the email address associated the history record. */
    emailDescriptionKey?: string;
    actor?: HistoryMetadataParticipant;
    generator?: HistoryMetadataParticipant;
    cause?: HistoryMetadataParticipant;
    /** Additional arbitrary information about the history record. */
    extraData?: unknown;
}

/** A changelog. */
interface Changelog {
    /** The ID of the changelog. */
    id?: string;
    author?: UserDetails$1;
    /** The date on which the change took place. */
    created?: string;
    /** The list of items changed. */
    items?: ChangeDetails[];
    historyMetadata?: HistoryMetadata;
}

/** List of changelogs that belong to single issue */
interface IssueChangeLog {
    /** List of changelogs that belongs to given issueId. */
    changeHistories?: Changelog[];
    /** The ID of the issue. */
    issueId?: string;
}

/** A page of changelogs which is designed to handle multiple issues */
interface BulkChangelog {
    /** The list of issues changelogs. */
    issueChangeLogs?: IssueChangeLog[];
    /**
     * Continuation token to fetch the next page. If this result represents the last or the only page, this token will be
     * null.
     */
    nextPageToken?: string;
}

/** Request bean for bulk changelog retrieval */
interface BulkChangelogRequest {
    /** List of field IDs to filter changelogs */
    fieldIds?: string[];
    /** List of issue IDs/keys to fetch changelogs for */
    issueIdsOrKeys: string[];
    /** The maximum number of items to return per page */
    maxResults?: number;
    /** The cursor for pagination */
    nextPageToken?: string;
}

/** Details for changing owners of shareable entities */
interface BulkChangeOwnerDetails {
    /** Whether the name is fixed automatically if it's duplicated after changing owner. */
    autofixName: boolean;
    /** The account id of the new owner. */
    newOwner: string;
}

/** Details of the contextual configuration for a custom field. */
interface BulkContextualConfiguration {
    /** The field configuration. */
    configuration?: unknown;
    /** The ID of the custom field. */
    customFieldId: string;
    /** The ID of the field context the configuration is associated with. */
    fieldContextId: string;
    /** The ID of the configuration. */
    id: string;
    /** The field value schema. */
    schema?: unknown;
}

/** Details of a custom field option to create. */
interface CustomFieldOptionCreate {
    /** The value of the custom field option. */
    value: string;
    /** For cascading options, the ID of the custom field object containing the cascading option. */
    optionId?: string;
    /** Whether the option is disabled. */
    disabled?: boolean;
}

/** Details of the options to create for a custom field. */
interface BulkCustomFieldOptionCreateRequest {
    /** Details of options to create. */
    options?: CustomFieldOptionCreate[];
}

/** Details of a custom field option for a context. */
interface CustomFieldOptionUpdate {
    /** The ID of the custom field option. */
    id: string;
    /** The value of the custom field option. */
    value?: string;
    /** Whether the option is disabled. */
    disabled?: boolean;
}

/** Details of the options to update for a custom field. */
interface BulkCustomFieldOptionUpdateRequest {
    /** Details of the options to update. */
    options?: CustomFieldOptionUpdate[];
}

interface IssueBulkEditField {
    /** Description of the field. */
    description?: string;
    /** A list of options related to the field, applicable in contexts where multiple selections are allowed. */
    fieldOptions?: unknown[];
    /** The unique ID of the field. */
    id?: string;
    /** Indicates whether the field is mandatory for the operation. */
    isRequired?: boolean;
    /** Specifies supported actions (like add, replace, remove) on multi-select fields via an enum. */
    multiSelectFieldOptions?: ('ADD' | 'REMOVE' | 'REPLACE' | 'REMOVE_ALL' | string)[];
    /** The display name of the field. */
    name?: string;
    /** A URL to fetch additional data for the field */
    searchUrl?: string;
    /** The type of the field. */
    type?: string;
    /** A message indicating why the field is unavailable for editing. */
    unavailableMessage?: string;
}

/** Bulk Edit Get Fields Response. */
interface BulkEditGetFields {
    /** The end cursor for use in pagination. */
    endingBefore?: string;
    /** List of all the fields */
    fields?: IssueBulkEditField[];
    /** The start cursor for use in pagination. */
    startingAfter?: string;
}

/** Details of a request to bulk edit shareable entity. */
interface BulkEditShareableEntity {
    /** Allowed action for bulk edit shareable entity */
    action: string;
    /** The mapping dashboard id to errors if any. */
    entityErrors?: any;
}

/** Describes the error that occurred when retrieving data for a particular issue. */
interface IssueError {
    /** The error that occurred when fetching this issue. */
    errorMessage?: string;
    /** The ID of the issue. */
    id?: string;
}

interface Mark {
    type: 'code' | 'em' | 'link' | 'strike' | 'strong' | 'subsup' | 'textColor' | 'underline' | string;
    attrs?: any;
}

interface Document {
    type: 'doc' | 'paragraph' | 'table' | 'blockquote' | 'bulletList' | 'codeBlock' | 'heading' | 'mediaGroup' | 'mediaSingle' | 'orderedList' | 'panel' | 'rule' | 'listItem' | 'media' | 'table_cell' | 'table_header' | 'table_row' | 'emoji' | 'hardBreak' | 'inlineCard' | 'mention' | 'text' | string;
    content?: Omit<Document, 'version'>[];
    version: number;
    marks?: Mark[];
    attrs?: any;
    text?: string;
}

/**
 * An entity property, for more information see [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
 */
interface EntityProperty$1 {
    /** The key of the property. Required on create and update. */
    key?: string;
    /** The value of the property. Required on create and update. */
    value?: any;
}

/** The group or role to which this item is visible. */
interface Visibility {
    /** Whether visibility of this item is restricted to a group or role. */
    type?: string;
    /**
     * The name of the group or role that visibility of this item is restricted to. Please note that the name of a group
     * is mutable, to reliably identify a group use `identifier`.
     */
    value?: string;
    /** The ID of the group or the name of the role that visibility of this item is restricted to. */
    identifier?: string;
}

/** A comment. */
interface Comment$1 {
    /** The URL of the comment. */
    self?: string;
    /** The ID of the comment. */
    id?: string;
    author?: UserDetails$1;
    /**
     * The comment text in [Atlassian Document
     * Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/).
     */
    body?: Document;
    /** The rendered version of the comment. */
    renderedBody?: string;
    updateAuthor?: UserDetails$1;
    /** The date and time at which the comment was created. */
    created?: string;
    /** The date and time at which the comment was updated last. */
    updated?: string;
    visibility?: Visibility;
    /**
     * Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud
     * Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk
     * project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its
     * visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request
     * comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post)
     * operation.
     */
    jsdPublic?: boolean;
    /**
     * Whether the comment was added from an email sent by a person who is not part of the issue. See [Allow external
     * emails to be added as comments on
     * issues](https://support.atlassian.com/jira-service-management-cloud/docs/allow-external-emails-to-be-added-as-comments-on-issues/)for
     * information on setting up this feature.
     */
    jsdAuthorCanSeeRequest?: boolean;
    /** A list of comment properties. Optional on create and update. */
    properties?: EntityProperty$1[];
}

interface FixVersion$1 {
    self: string;
    id: string;
    description: string;
    name: string;
    archived: boolean;
    released: boolean;
    releaseDate?: string;
}

/**
 * This object is used as follows:*
 *
 * - In the [ issueLink](#api-rest-api-3-issueLink-post) resource it defines and reports on the type of link between the
 *   issues. Find a list of issue link types with [Get issue link types](#api-rest-api-3-issueLinkType-get).
 * - In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it defines and reports on issue link types.
 */
interface IssueLinkType {
    /**
     * The ID of the issue link type and is used as follows:
     *
     * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is the type of issue link. Required on create when
     * `name` isn't provided. Otherwise, read only. In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource
     * it is read only.
     */
    id?: string;
    /**
     * The name of the issue link type and is used as follows:
     *
     * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is the type of issue link. Required on create when
     * `id` isn't provided. Otherwise, read only. In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it
     * is required on create and optional on update. Otherwise, read only.
     */
    name?: string;
    /**
     * The description of the issue link type inward link and is used as follows:
     *
     * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is read only. In the [
     * issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update.
     * Otherwise, read only.
     */
    inward?: string;
    /**
     * The description of the issue link type outward link and is used as follows:
     *
     * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is read only. In the [
     * issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update.
     * Otherwise, read only.
     */
    outward?: string;
    /** The URL of the issue link type. Read only. */
    self?: string;
}

/** The ID or key of a linked issue. */
interface LinkedIssue {
    /** The ID of an issue. Required if `key` isn't provided. */
    id?: string;
    /** The key of an issue. Required if `id` isn't provided. */
    key?: string;
    /** The URL of the issue. */
    self?: string;
    fields?: Fields$1;
}

/** Details of a link between issues. */
interface IssueLink {
    /** The ID of the issue link. */
    id?: string;
    /** The URL of the issue link. */
    self?: string;
    type?: IssueLinkType;
    inwardIssue?: LinkedIssue;
    outwardIssue?: LinkedIssue;
}

/** A project category. */
interface UpdatedProjectCategory {
    /** The URL of the project category. */
    self?: string;
    /** The ID of the project category. */
    id?: string;
    /** The name of the project category. */
    description?: string;
    /** The description of the project category. */
    name?: string;
}

/** Details about a project. */
interface ProjectDetails {
    /** The URL of the project details. */
    self?: string;
    /** The ID of the project. */
    id?: string;
    /** The key of the project. */
    key?: string;
    /** The name of the project. */
    name?: string;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the
     * project.
     */
    projectTypeKey?: string;
    /** Whether or not the project is simplified. */
    simplified?: boolean;
    avatarUrls?: AvatarUrls$2;
    projectCategory?: UpdatedProjectCategory;
}

/**
 * The projects the item is associated with. Indicated for items associated with [next-gen
 * projects](https://confluence.atlassian.com/x/loMyO).
 */
interface Scope$1 {
    /** The type of scope. */
    type?: string;
    project?: ProjectDetails;
}

/** Details about an issue type. */
interface IssueTypeDetails {
    /** The URL of these issue type details. */
    self?: string;
    /** The ID of the issue type. */
    id?: string;
    /** The description of the issue type. */
    description?: string;
    /** The URL of the issue type's avatar. */
    iconUrl?: string;
    /** The name of the issue type. */
    name?: string;
    /** Whether this issue type is used to create subtasks. */
    subtask?: boolean;
    /** The ID of the issue type's avatar. */
    avatarId?: number;
    /** Unique ID for next-gen projects. */
    entityId?: string;
    /** Hierarchy level of the issue type. */
    hierarchyLevel?: number;
    scope?: Scope$1;
}

/** An issue priority. */
interface Priority {
    /** The URL of the issue priority. */
    self?: string;
    /** The color used to indicate the issue priority. */
    statusColor?: string;
    /** The description of the issue priority. */
    description?: string;
    /** The URL of the icon for the issue priority. */
    iconUrl?: string;
    /** The name of the issue priority. */
    name?: string;
    /** The ID of the issue priority. */
    id?: string;
    /** Whether this priority is the default. */
    isDefault?: boolean;
}

/** Details about a project component. */
interface ProjectComponent {
    /** Compass component's ID. Can't be updated. Not required for creating a Project Component. */
    ari?: string;
    assignee?: User$2;
    /**
     * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType`
     * for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the
     * following values:
     *
     * - `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the
     *   component is in.
     * - `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.
     * - `UNASSIGNED` an assignee is not set for issues created with this component.
     * - `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the
     *   project that the component is in.
     *
     * Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component.
     *
     * @default PROJECT_DEFAULT
     */
    assigneeType?: 'PROJECT_DEFAULT' | 'COMPONENT_LEAD' | 'PROJECT_LEAD' | 'UNASSIGNED' | string;
    /** The description for the component. Optional when creating or updating a component. */
    description?: string;
    /** The unique identifier for the component. */
    id?: string;
    /**
     * Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but
     * the component lead is not set, then `false` is returned.
     */
    isAssigneeTypeValid?: boolean;
    lead?: User$2;
    /**
     * The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian
     * products. For example, _5b10ac8d82e05b22cc7d4ef5_.
     */
    leadAccountId?: string;
    /**
     * @deprecated
     *
     *   This property is no longer available and will be removed from the documentation soon. See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     *   for details.
     */
    leadUserName?: string;
    /** Compass component's metadata. Can't be updated. Not required for creating a Project Component. */
    metadata?: unknown;
    /**
     * The unique name for the component in the project. Required when creating a component. Optional when updating a
     * component. The maximum length is 255 characters.
     */
    name?: string;
    /** The key of the project the component is assigned to. Required when creating a component. Can't be updated. */
    project?: string;
    /** The ID of the project the component is assigned to. */
    projectId?: number;
    realAssignee?: User$2;
    /**
     * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set
     * from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This
     * property is set to one of the following values:
     *
     * - `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in
     *   the project that the component is in.
     * - `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned
     *   issues in the project that the component is in.
     * - `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.
     * - `PROJECT_DEFAULT` when none of the preceding cases are true.
     */
    realAssigneeType?: 'PROJECT_DEFAULT' | 'COMPONENT_LEAD' | 'PROJECT_LEAD' | 'UNASSIGNED' | string;
    /** The URL of the component. */
    self?: string;
}

/** Details of an issue resolution. */
interface Resolution {
    /** The URL of the issue resolution. */
    self?: string;
    /** The ID of the issue resolution. */
    id?: string;
    /** The description of the issue resolution. */
    description?: string;
    /** The name of the issue resolution. */
    name?: string;
    iconUrl?: string;
    default?: boolean;
}

interface RichText {
    finalised?: boolean;
    valueSet?: boolean;
    emptyAdf?: boolean;
    empty?: boolean;
}

/** A status category. */
interface StatusCategory$2 {
    /** The URL of the status category. */
    self?: string;
    /** The ID of the status category. */
    id?: number;
    /** The key of the status category. */
    key?: string;
    /** The name of the color used to represent the status category. */
    colorName?: string;
    /** The name of the status category. */
    name?: string;
}

/** A status. */
interface StatusDetails$1 {
    /** The URL of the status. */
    self?: string;
    /** The description of the status. */
    description?: string;
    /** The URL of the icon used to represent the status. */
    iconUrl?: string;
    /** The name of the status. */
    name?: string;
    /** The ID of the status. */
    id?: string;
    statusCategory?: StatusCategory$2;
}

/** Time tracking details. */
interface TimeTrackingDetails {
    /** The original estimate of time needed for this issue in readable format. */
    originalEstimate?: string;
    /** The remaining estimate of time needed for this issue in readable format. */
    remainingEstimate?: string;
    /** Time worked on this issue in readable format. */
    timeSpent?: string;
    /** The original estimate of time needed for this issue in seconds. */
    originalEstimateSeconds?: number;
    /** The remaining estimate of time needed for this issue in seconds. */
    remainingEstimateSeconds?: number;
    /** Time worked on this issue in seconds. */
    timeSpentSeconds?: number;
}

/** The details of votes on an issue. */
interface Votes {
    /** The URL of these issue vote details. */
    self: string;
    /** The number of votes on the issue. */
    votes: number;
    /** Whether the user making this request has voted on the issue. */
    hasVoted: boolean;
    /**
     * List of the users who have voted on this issue. An empty list is returned when the calling user doesn't have the
     * _View voters and watchers_ project permission.
     */
    voters: User$2[];
}

/** The details of watchers on an issue. */
interface Watchers {
    /** The URL of these issue watcher details. */
    self?: string;
    /** Whether the calling user is watching this issue. */
    isWatching?: boolean;
    /** The number of users watching this issue. */
    watchCount?: number;
    /** Details of the users watching this issue. */
    watchers?: UserDetails$1[];
}

/** Details of a worklog. */
interface Worklog {
    /** The URL of the worklog item. */
    self?: string;
    author?: UserDetails$1;
    updateAuthor?: UserDetails$1;
    /**
     * A comment about the worklog in [Atlassian Document
     * Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/). Optional when creating or
     * updating a worklog.
     */
    comment?: Document;
    /** The datetime on which the worklog was created. */
    created?: string;
    /** The datetime on which the worklog was last updated. */
    updated?: string;
    visibility?: Visibility;
    /**
     * The datetime on which the worklog effort was started. Required when creating a worklog. Optional when updating a
     * worklog.
     */
    started?: string;
    /**
     * The time spent working on the issue as days (#d), hours (#h), or minutes (#m or #). Required when creating a
     * worklog if `timeSpentSeconds` isn't provided. Optional when updating a worklog. Cannot be provided if
     * `timeSpentSecond` is provided.
     */
    timeSpent?: string;
    /**
     * The time in seconds spent working on the issue. Required when creating a worklog if `timeSpent` isn't provided.
     * Optional when updating a worklog. Cannot be provided if `timeSpent` is provided.
     */
    timeSpentSeconds?: number;
    /** The ID of the worklog record. */
    id?: string;
    /** The ID of the issue this worklog is for. */
    issueId?: string;
    /** Details of properties for the worklog. Optional when creating or updating a worklog. */
    properties?: EntityProperty$1[];
}

/** Key fields from the linked issue. */
interface Fields$1 extends Record<string, any> {
    /** The estimate of how much longer working on the issue will take, in seconds. */
    aggregatetimespent: number | null;
    /** The assignee of the linked issue. */
    assignee: UserDetails$1;
    /** The time the issue is due. */
    duedate: string | null;
    /** The list of versions where the issue was fixed. */
    fixVersions: FixVersion$1[];
    lastViewed: string | null;
    /** The issue parent. */
    parent?: Issue$3;
    /** The priority of the linked issue. */
    priority: Priority;
    /** The resolution of the issue. */
    resolution: Resolution | null;
    /** The time the issue was resolved at. */
    resolutiondate: string | null;
    /** The status of the linked issue. */
    status: StatusDetails$1;
    /** The summary description of the linked issue. */
    summary: string;
    /** The time that was spent working on the issue, in seconds. */
    timespent: number | null;
    /** The time tracking of the linked issue. */
    timetracking: TimeTrackingDetails;
    /** The type of the linked issue. */
    issuetype?: IssueTypeDetails;
    /** The type of the linked issue. */
    issueType?: IssueTypeDetails;
    environment: RichText | null;
    issuelinks: IssueLink[];
    workratio: number;
    issuerestriction?: {
        issuerestrictions: any;
        shouldDisplay: boolean;
    };
    watches: Watchers;
    created: string;
    labels: string[];
    updated: string;
    components: ProjectComponent[];
    timeoriginalestimate?: any;
    description?: Document;
    attachment: Attachment$3[];
    creator: User$2;
    subtasks: Issue$3[];
    reporter: User$2;
    comment: {
        comments: Comment$1[];
        self: string;
        maxResults: number;
        total: number;
        startAt: number;
    };
    votes: Votes & {
        voters: never;
    };
    worklog: {
        startAt: number;
        maxResults: number;
        total: number;
        worklogs: Worklog[];
    };
}

interface IncludedFields {
    excluded?: string[];
    included?: string[];
    actuallyIncluded?: string[];
}

/** Details of an issue transition. */
interface IssueTransition$2 {
    /** The ID of the issue transition. Required when specifying a transition to undertake. */
    id?: string;
    /** The name of the issue transition. */
    name?: string;
    to?: StatusDetails$1;
    /** Whether there is a screen associated with the issue transition. */
    hasScreen?: boolean;
    /** Whether the issue transition is global, that is, the transition is applied to issues regardless of their status. */
    isGlobal?: boolean;
    /** Whether this is the initial issue transition for the workflow. */
    isInitial?: boolean;
    /** Whether the transition is available to be performed. */
    isAvailable?: boolean;
    /** Whether the issue has to meet criteria before the issue transition is applied. */
    isConditional?: boolean;
    /**
     * Details of the fields associated with the issue transition screen. Use this information to populate `fields` and
     * `update` in a transition request.
     */
    fields?: unknown;
    /** Expand options that include additional transition details in the response. */
    expand?: string;
    looped?: boolean;
}

/** A list of editable field details. */
interface IssueUpdateMetadata {
    /** A list of editable field details. */
    fields?: unknown;
}

/** Details about the operations available in this version. */
interface SimpleLink {
    id?: string;
    styleClass?: string;
    iconClass?: string;
    label?: string;
    title?: string;
    href?: string;
    weight?: number;
}

/** Details a link group, which defines issue operations. */
interface LinkGroup$1 {
    id?: string;
    styleClass?: string;
    header?: SimpleLink;
    weight?: number;
    links?: SimpleLink[];
    groups?: LinkGroup$1[];
}

/** Details of the operations that can be performed on the issue. */
interface Operations$2 {
    /** Details of the link groups defining issue operations. */
    linkGroups?: LinkGroup$1[];
}

/** A page of changelogs. */
interface PageOfChangelogs {
    /** The index of the first item returned on the page. */
    startAt?: number;
    /** The maximum number of results that could be on the page. */
    maxResults?: number;
    /** The number of results on the page. */
    total?: number;
    /** The list of changelogs. */
    histories?: Changelog[];
}

/** Details about an issue. */
interface Issue$3 {
    /** Expand options that include additional issue details in the response. */
    expand?: string;
    /** The ID of the issue. */
    id: string;
    /** The URL of the issue details. */
    self?: string;
    /** The key of the issue. */
    key: string;
    /** The rendered value of each field present on the issue. */
    renderedFields?: unknown;
    /** Details of the issue properties identified in the request. */
    properties?: unknown;
    /** The ID and name of each field present on the issue. */
    names?: unknown;
    /** The schema describing each field present on the issue. */
    schema?: unknown;
    /** The transitions that can be performed on the issue. */
    transitions?: IssueTransition$2[];
    operations?: Operations$2;
    editmeta?: IssueUpdateMetadata;
    changelog?: PageOfChangelogs;
    /** The versions of each field on the issue. */
    versionedRepresentations?: unknown;
    fieldsToInclude?: IncludedFields;
    fields: Fields$1;
}

/** The list of requested issues & fields. */
interface BulkIssue {
    /**
     * When Jira can't return an issue enumerated in a request due to a retriable error or payload constraint, we'll
     * return the respective issue ID with a corresponding error message. This list is empty when there are no errors
     * Issues which aren't found or that the user doesn't have permission to view won't be returned in this list.
     */
    issueErrors?: IssueError[];
    /** The list of issues. */
    issues?: Issue$3[];
}

/** A container for the watch status of a list of issues. */
interface BulkIssueIsWatching {
    /** The map of issue ID to boolean watch status. */
    issuesIsWatching?: unknown;
}

/** Bulk operation filter details. */
interface IssueFilterForBulkPropertySet {
    /** List of issues to perform the bulk operation on. */
    entityIds?: number[];
    /** The value of properties to perform the bulk operation on. */
    currentValue?: any;
    /** Whether the bulk operation occurs only when the property is present on or absent from an issue. */
    hasProperty?: boolean;
}

/** Bulk issue property update request details. */
interface BulkIssuePropertyUpdateRequest {
    /**
     * The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob.
     * The maximum length is 32768 characters.
     */
    value?: any;
    /**
     * EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an
     * object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables
     * available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON
     * representation is longer than 32768 characters are ignored.
     */
    expression?: string;
    filter?: IssueFilterForBulkPropertySet;
}

/** Error messages from an operation. */
interface ErrorCollection {
    /** The list of error messages produced by this operation. For example, "input parameter 'key' must be provided" */
    errorMessages?: string[];
    /**
     * The list of errors by parameter returned by the operation. For example,"projectKey": "Project keys must start with
     * an uppercase letter, followed by one or more uppercase alphanumeric characters."
     */
    errors?: unknown;
    status?: number;
}

interface BulkOperationErrorResult {
    status?: number;
    elementErrors?: ErrorCollection;
    failedElementNumber?: number;
}

interface BulkOperationProgress {
    /** A timestamp of when the task was submitted. */
    created?: string;
    /**
     * Map of issue IDs for which the operation failed and that the user has permission to view, to their one or more
     * reasons for failure. These reasons are open-ended text descriptions of the error and are not selected from a
     * predefined list of standard reasons.
     */
    failedAccessibleIssues?: unknown;
    /**
     * The number of issues that are either invalid or issues that the user doesn't have permission to view, regardless of
     * the success or failure of the operation.
     */
    invalidOrInaccessibleIssueCount?: number;
    /** List of issue IDs for which the operation was successful and that the user has permission to view. */
    processedAccessibleIssues?: number[];
    /** Progress of the task as a percentage. */
    progressPercent?: number;
    /** A timestamp of when the task was started. */
    started?: string;
    /** The status of the task. */
    status?: 'ENQUEUED' | 'RUNNING' | 'COMPLETE' | 'FAILED' | 'CANCEL_REQUESTED' | 'CANCELLED' | 'DEAD' | string;
    submittedBy?: User$2;
    /** The ID of the task. */
    taskId: string;
    /** The number of issues that the bulk operation was attempted on. */
    totalIssueCount?: number;
    /** A timestamp of when the task progress was last updated. */
    updated?: string;
}

/** List of project permissions and the projects and issues those permissions grant access to. */
interface BulkProjectPermissionGrants {
    /** A project permission, */
    permission: string;
    /** IDs of the issues the user has the permission for. */
    issues: number[];
    /** IDs of the projects the user has the permission for. */
    projects: number[];
}

/** Details of global and project permissions granted to the user. */
interface BulkPermissionGrants {
    /** List of project permissions and the projects and issues those permissions provide access to. */
    projectPermissions: BulkProjectPermissionGrants[];
    /** List of permissions granted to the user. */
    globalPermissions: string[];
}

/** Details of project permissions and associated issues and projects to look up. */
interface BulkProjectPermissions {
    /** List of issue IDs. */
    issues?: number[];
    /** List of project IDs. */
    projects?: number[];
    /** List of project permissions. */
    permissions: string[];
}

/** Details of global permissions to look up and project permissions with associated projects and issues to look up. */
interface BulkPermissionsRequest {
    /** Project permissions with associated projects and issues to look up. */
    projectPermissions?: BulkProjectPermissions[];
    /** Global permissions to look up. */
    globalPermissions?: string[];
    /** The account ID of a user. */
    accountId?: string;
}

interface IssueTransitionStatus {
    /** The unique ID of the status. */
    statusId?: number;
    /** The name of the status. */
    statusName?: string;
}

interface SimplifiedIssueTransition {
    to?: IssueTransitionStatus;
    /** The unique ID of the transition. */
    transitionId?: number;
    /** The name of the transition. */
    transitionName?: string;
}

interface IssueBulkTransitionForWorkflow {
    /** Indicates whether all the transitions of this workflow are available in the transitions list or not. */
    isTransitionsFiltered?: boolean;
    /** List of issue keys from the request which are associated with this workflow. */
    issues?: string[];
    /**
     * List of transitions available for issues from the request which are associated with this workflow.
     *
     * _This list includes only those transitions that are common across the issues in this workflow and do not involve
     * any additional field updates._*
     */
    transitions?: SimplifiedIssueTransition[];
}

/** Bulk Transition Get Available Transitions Response. */
interface BulkTransitionGetAvailableTransitions {
    /** List of available transitions for bulk transition operation for requested issues grouped by workflow */
    availableTransitions?: IssueBulkTransitionForWorkflow[];
    /** The end cursor for use in pagination. */
    endingBefore?: string;
    /** The start cursor for use in pagination. */
    startingAfter?: string;
}

interface BulkTransitionSubmitInput {
    /** List of all the issue IDs or keys that are to be bulk transitioned. */
    selectedIssueIdsOrKeys: string[];
    /** The ID of the transition that is to be performed on the issues. */
    transitionId: string;
}

/** Details of a changed worklog. */
interface ChangedWorklog {
    /** The ID of the worklog. */
    worklogId?: number;
    /** The datetime of the change. */
    updatedTime?: number;
    /** Details of properties associated with the change. */
    properties?: EntityProperty$1[];
}

/** List of changed worklogs. */
interface ChangedWorklogs {
    /** Changed worklog list. */
    values?: ChangedWorklog[];
    /** The datetime of the first worklog item in the list. */
    since?: number;
    /** The datetime of the last worklog item in the list. */
    until?: number;
    /** The URL of this changed worklogs list. */
    self?: string;
    /** The URL of the next list of changed worklogs. */
    nextPage?: string;
    lastPage?: boolean;
}

/** Details of an issue navigator column item. */
interface ColumnItem {
    /** The issue navigator column label. */
    label?: string;
    /** The issue navigator column value. */
    value?: string;
}

interface Component {
    ari?: string;
    description?: string;
    id?: string;
    metadata?: unknown;
    name?: string;
    self?: string;
}

/** Count of issues assigned to a component. */
interface ComponentIssuesCount {
    /** The URL for this count of issues for a component. */
    self?: string;
    /** The count of issues assigned to a component. */
    issueCount?: number;
}

/** Details about a component with a count of the issues it contains. */
interface ComponentWithIssueCount {
    /** Count of issues for the component. */
    issueCount?: number;
    realAssignee?: User$2;
    /**
     * Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but
     * the component lead is not set, then `false` is returned.
     */
    isAssigneeTypeValid?: boolean;
    assignee?: User$2;
    /**
     * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set
     * from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This
     * property is set to one of the following values:
     *
     * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in
     * the project that the component is in. `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component
     * lead has permission to be assigned issues in the project that the component is in. `UNASSIGNED` when `assigneeType`
     * is `UNASSIGNED` and Jira is configured to allow unassigned issues. `PROJECT_DEFAULT` when none of the preceding
     * cases are true.
     */
    realAssigneeType?: string;
    /** The description for the component. */
    description?: string;
    /** The URL for this count of the issues contained in the component. */
    self?: string;
    /** Not used. */
    projectId?: number;
    /** The key of the project to which the component is assigned. */
    project?: string;
    lead?: User$2;
    /**
     * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType`
     * for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following
     * values:
     *
     * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the
     * component is in. `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for
     * the component. `UNASSIGNED` an assignee is not set for issues created with this component. `PROJECT_DEFAULT` the
     * assignee to any issues created with this component is nominally the default assignee for the project that the
     * component is in.
     */
    assigneeType?: string;
    /** The name for the component. */
    name?: string;
    /** The unique identifier for the component. */
    id?: string;
}

/** The configuration of the rule. */
interface WorkflowRuleConfiguration {
    /** The ID of the rule. */
    id?: string;
    /** The parameters related to the rule. */
    parameters?: unknown;
    /** The rule key of the rule. */
    ruleKey: string;
}

/** The conditions group associated with the transition. */
interface ConditionGroupConfiguration {
    /** The nested conditions of the condition group. */
    conditionGroups?: ConditionGroupConfiguration[];
    /** The rules for this condition. */
    conditions?: WorkflowRuleConfiguration[];
    /**
     * Determines how the conditions in the group are evaluated. Accepts either `ANY` or `ALL`. If `ANY` is used, at least
     * one condition in the group must be true for the group to evaluate to true. If `ALL` is used, all conditions in the
     * group must be true for the group to evaluate to true.
     */
    operation?: 'ANY' | 'ALL' | string;
}

/** The payload for creating rules in a workflow */
interface RulePayload {
    /** The parameters of the rule */
    parameters?: {};
    /**
     * The key of the rule. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/#api-rest-api-3-workflows-capabilities-get
     */
    ruleKey?: string;
}

/** The payload for creating a condition group in a workflow */
interface ConditionGroupPayload {
    /** The nested conditions of the condition group. */
    conditionGroup?: ConditionGroupPayload[];
    /** The rules for this condition. */
    conditions?: RulePayload[];
    /**
     * Determines how the conditions in the group are evaluated. Accepts either `ANY` or `ALL`. If `ANY` is used, at least
     * one condition in the group must be true for the group to evaluate to true. If `ALL` is used, all conditions in the
     * group must be true for the group to evaluate to true.
     */
    operation?: 'ANY' | 'ALL' | string;
}

/** Details of the time tracking configuration. */
interface TimeTrackingConfiguration {
    /** The number of hours in a working day. */
    workingHoursPerDay: number;
    /** The number of days in a working week. */
    workingDaysPerWeek: number;
    /** The format that will appear on an issue's _Time Spent_ field. */
    timeFormat: string;
    /** The default unit of time applied to logged time. */
    defaultUnit: string;
}

/** Details about the configuration of Jira. */
interface Configuration {
    /**
     * Whether the ability for users to vote on issues is enabled. See [Configuring Jira application
     * options](https://confluence.atlassian.com/x/uYXKM) for details.
     */
    votingEnabled?: boolean;
    /**
     * Whether the ability for users to watch issues is enabled. See [Configuring Jira application
     * options](https://confluence.atlassian.com/x/uYXKM) for details.
     */
    watchingEnabled?: boolean;
    /**
     * Whether the ability to create unassigned issues is enabled. See [Configuring Jira application
     * options](https://confluence.atlassian.com/x/uYXKM) for details.
     */
    unassignedIssuesAllowed?: boolean;
    /** Whether the ability to create subtasks for issues is enabled. */
    subTasksEnabled?: boolean;
    /** Whether the ability to link issues is enabled. */
    issueLinkingEnabled?: boolean;
    /** Whether the ability to add attachments to issues is enabled. */
    attachmentsEnabled?: boolean;
    timeTrackingConfiguration?: TimeTrackingConfiguration;
}

/** List of custom fields identifiers which will be used to filter configurations */
interface ConfigurationsListParameters {
    /** List of IDs or keys of the custom fields. It can be a mix of IDs and keys in the same query. */
    fieldIdsOrKeys: string[];
}

/** A list of custom field details. */
interface ConnectCustomFieldValue {
    /** The type of custom field. */
    Type: string;
    /** The issue ID. */
    issueID: number;
    /** The custom field ID. */
    fieldID: number;
    /** The value of string type custom field when `_type` is `StringIssueField`. */
    string?: string;
    /** The value of number type custom field when `_type` is `NumberIssueField`. */
    number?: number;
    /** The value of richText type custom field when `_type` is `RichTextIssueField`. */
    richText?: string;
    /**
     * The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or
     * `MultiSelectIssueField`.
     */
    optionID?: string;
    /** The value of of text custom field type when `_type` is `TextIssueField`. */
    text?: string;
}

/** Details of updates for a custom field. */
interface ConnectCustomFieldValues {
    /** The list of custom field update details. */
    updateValueList?: ConnectCustomFieldValue[];
}

/**
 * A [Connect module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/) in the same format as in
 * the [app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).
 */
interface ConnectModule {
}

interface ConnectModules {
    /**
     * A list of app modules in the same format as the `modules` property in the [app
     * descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).
     */
    modules: ConnectModule[];
}

/** A rule configuration. */
interface RuleConfiguration {
    /** Configuration of the rule, as it is stored by the Connect app on the rule configuration page. */
    value: string;
    /** EXPERIMENTAL: Whether the rule is disabled. */
    disabled?: boolean;
    /**
     * EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule
     * configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).
     */
    tag?: string;
}

/** A workflow transition. */
interface WorkflowTransition {
    /** The transition ID. */
    id: number;
    /** The transition name. */
    name: string;
}

/** A workflow transition rule. */
interface ConnectWorkflowTransitionRule {
    /** The ID of the transition rule. */
    id: string;
    /** The key of the rule, as defined in the Connect app descriptor. */
    key: string;
    configuration: RuleConfiguration;
    transition?: WorkflowTransition;
}

/** Details of a project feature. */
interface ProjectFeature {
    /** The ID of the project. */
    projectId?: number;
    /**
     * The state of the feature. When updating the state of a feature, only ENABLED and DISABLED are supported. Responses
     * can contain all values
     */
    state?: string;
    /** Whether the state of the feature can be updated. */
    toggleLocked?: boolean;
    /** The key of the feature. */
    feature?: string;
    /** List of keys of the features required to enable the feature. */
    prerequisites?: string[];
    /** Localized display name for the feature. */
    localisedName?: string;
    /** Localized display description for the feature. */
    localisedDescription?: string;
    /** URI for the image representing the feature. */
    imageUri?: string;
}

/** The list of features on a project. */
interface ContainerForProjectFeatures {
    /** The project features. */
    features?: ProjectFeature[];
}

/** ID of a registered webhook or error messages explaining why a webhook wasn't registered. */
interface RegisteredWebhook {
    /** The ID of the webhook. Returned if the webhook is created. */
    createdWebhookId?: number;
    /** Error messages specifying why the webhook creation failed. */
    errors?: string[];
}

/** Container for a list of registered webhooks. Webhook details are returned in the same order as the request. */
interface ContainerForRegisteredWebhooks {
    /** A list of registered webhooks. */
    webhookRegistrationResult?: RegisteredWebhook[];
}

/** Container for a list of webhook IDs. */
interface ContainerForWebhookIDs {
    /** A list of webhook IDs. */
    webhookIds: number[];
}

/** Details about a workflow scheme. */
interface WorkflowScheme {
    /** The ID of the workflow scheme. */
    id?: number;
    /**
     * The name of the workflow scheme. The name must be unique. The maximum length is 255 characters. Required when
     * creating a workflow scheme.
     */
    name?: string;
    /** The description of the workflow scheme. */
    description?: string;
    /**
     * The name of the default workflow for the workflow scheme. The default workflow has _All Unassigned Issue Types_
     * assigned to it in Jira. If `defaultWorkflow` is not specified when creating a workflow scheme, it is set to _Jira
     * Workflow (jira)_.
     */
    defaultWorkflow?: string;
    /**
     * The issue type to workflow mappings, where each mapping is an issue type ID and workflow name pair. Note that an
     * issue type can only be mapped to one workflow in a workflow scheme.
     */
    issueTypeMappings?: unknown;
    /**
     * For draft workflow schemes, this property is the name of the default workflow for the original workflow scheme. The
     * default workflow has _All Unassigned Issue Types_ assigned to it in Jira.
     */
    originalDefaultWorkflow?: string;
    /**
     * For draft workflow schemes, this property is the issue type to workflow mappings for the original workflow scheme,
     * where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one
     * workflow in a workflow scheme.
     */
    originalIssueTypeMappings?: unknown;
    /** Whether the workflow scheme is a draft or not. */
    draft?: boolean;
    lastModifiedUser?: User$2;
    /**
     * The date-time that the draft workflow scheme was last modified. A modification is a change to the issue
     * type-project mappings only. This property does not apply to non-draft workflows.
     */
    lastModified?: string;
    self?: string;
    /**
     * Whether to create or update a draft workflow scheme when updating an active workflow scheme. An active workflow
     * scheme is a workflow scheme that is used by at least one project. The following examples show how this property
     * works:
     *
     * Update an active workflow scheme with `updateDraftIfNeeded` set to `true`: If a draft workflow scheme exists, it is
     * updated. Otherwise, a draft workflow scheme is created. Update an active workflow scheme with `updateDraftIfNeeded`
     * set to `false`: An error is returned, as active workflow schemes cannot be updated. Update an inactive workflow
     * scheme with `updateDraftIfNeeded` set to `true`: The workflow scheme is updated, as inactive workflow schemes do
     * not require drafts to update.
     *
     * Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
    /** The issue types available in Jira. */
    issueTypes?: unknown;
}

/** A workflow scheme along with a list of projects that use it. */
interface WorkflowSchemeAssociations {
    /** The list of projects that use the workflow scheme. */
    projectIds: string[];
    workflowScheme?: WorkflowScheme;
}

/** A container for a list of workflow schemes together with the projects they are associated with. */
interface ContainerOfWorkflowSchemeAssociations {
    /** A list of workflow schemes together with projects they are associated with. */
    values: WorkflowSchemeAssociations[];
}

/** The project and issue type mapping with a matching custom field context. */
interface ContextForProjectAndIssueType {
    /** The ID of the project. */
    projectId: string;
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The ID of the custom field context. */
    contextId: string;
}

/** Details of the contextual configuration for a custom field. */
interface ContextualConfiguration {
    /** The ID of the configuration. */
    id: string;
    /** The ID of the field context the configuration is associated with. */
    fieldContextId: string;
    /** The field configuration. */
    configuration?: unknown;
    /** The field value schema. */
    schema?: unknown;
}

/** JQL queries that contained users that could not be found */
interface JQLQueryWithUnknownUsers {
    /** The original query, for reference */
    originalQuery?: string;
    /** The converted query, with accountIDs instead of user identifiers, or 'unknown' for users that could not be found */
    convertedQuery?: string;
}

/** The converted JQL queries. */
interface ConvertedJQLQueries {
    /** The list of converted query strings with account IDs in place of user identifiers. */
    queryStrings?: string[];
    /** List of queries containing user information that could not be mapped to an existing user */
    queriesWithUnknownUsers?: JQLQueryWithUnknownUsers[];
}

interface CreateCrossProjectReleaseRequest {
    /** The cross-project release name. */
    name: string;
    /** The IDs of the releases to include in the cross-project release. */
    releaseIds?: number[];
}

/** The details of a created custom field context. */
interface CreateCustomFieldContext$1 {
    /** The ID of the context. */
    id?: string;
    /** The name of the context. */
    name: string;
    /** The description of the context. */
    description?: string;
    /** The list of project IDs associated with the context. If the list is empty, the context is global. */
    projectIds?: string[];
    /** The list of issue types IDs for the context. If the list is empty, the context refers to all issue types. */
    issueTypeIds?: string[];
}

interface CreateCustomFieldRequest {
    /** The custom field ID. */
    customFieldId: number;
    /** Allows filtering issues based on their values for the custom field. */
    filter?: boolean;
}

interface CreateDateFieldRequest {
    /** A date custom field ID. This is required if the type is "DateCustomField". */
    dateCustomFieldId?: number;
    /** The date field type. This must be "DueDate", "TargetStartDate", "TargetEndDate" or "DateCustomField". */
    type: 'DueDate' | 'TargetStartDate' | 'TargetEndDate' | 'DateCustomField' | string;
}

interface NestedResponse {
    status?: number;
    errorCollection?: ErrorCollection;
}

/** Details about a created issue or subtask. */
interface CreatedIssue {
    /** The ID of the created issue or subtask. */
    id: string;
    /** The key of the created issue or subtask. */
    key: string;
    /** The URL of the created issue or subtask. */
    self: string;
    transition?: NestedResponse;
}

/** Details about the issues created and the errors for requests that failed. */
interface CreatedIssues {
    /** Details of the issues created. */
    issues?: CreatedIssue[];
    /** Error details for failed issue creation requests. */
    errors?: BulkOperationErrorResult[];
}

interface CreateExclusionRulesRequest {
    /** The IDs of the issues to exclude from the plan. */
    issueIds?: number[];
    /** The IDs of the issue types to exclude from the plan. */
    issueTypeIds?: number[];
    /** Issues completed this number of days ago will be excluded from the plan. */
    numberOfDaysToShowCompletedIssues?: number;
    /** The IDs of the releases to exclude from the plan. */
    releaseIds?: number[];
    /** The IDs of the work status categories to exclude from the plan. */
    workStatusCategoryIds?: number[];
    /** The IDs of the work statuses to exclude from the plan. */
    workStatusIds?: number[];
}

/** Issue security scheme and it's details */
interface CreateIssueSecuritySchemeDetails {
    /** The description of the issue security scheme. */
    description?: string;
    /** The list of scheme levels which should be added to the security scheme. */
    levels?: SecuritySchemeLevel[];
    /** The name of the issue security scheme. Must be unique (case-insensitive). */
    name: string;
}

interface CreateIssueSourceRequest {
    /** The issue source type. This must be "Board", "Project" or "Filter". */
    type: 'Board' | 'Project' | 'Filter' | string;
    /**
     * The issue source value. This must be a board ID if the type is "Board", a project ID if the type is "Project" or a
     * filter ID if the type is "Filter".
     */
    value: number;
}

/** The ID of an event that is being mapped to notifications. */
interface NotificationSchemeEventTypeId {
    /** The ID of the notification scheme event. */
    id: string;
}

/** Details of a notification within a notification scheme. */
interface NotificationSchemeNotificationDetails {
    /** The notification type, e.g `CurrentAssignee`, `Group`, `EmailAddress`. */
    notificationType: string;
    /** The value corresponding to the specified notification type. */
    parameter?: string;
}

/** Details of a notification scheme event. */
interface NotificationSchemeEventDetails {
    event?: NotificationSchemeEventTypeId;
    /** The list of notifications mapped to a specified event. */
    notifications: NotificationSchemeNotificationDetails[];
}

/** Details of a notification scheme. */
interface CreateNotificationSchemeDetails {
    /** The description of the notification scheme. */
    description?: string;
    /** The name of the notification scheme. Must be unique (case-insensitive). */
    name: string;
    /** The list of notifications which should be added to the notification scheme. */
    notificationSchemeEvents?: NotificationSchemeEventDetails[];
}

interface CreatePermissionHolderRequest {
    /** The permission holder type. This must be "Group" or "AccountId". */
    type: 'Group' | 'AccountId' | string;
    /**
     * The permission holder value. This must be a group name if the type is "Group" or an account ID if the type is
     * "AccountId".
     */
    value: string;
}

interface CreatePermissionRequest {
    holder?: CreatePermissionHolderRequest;
    /** The permission type. This must be "View" or "Edit". */
    type: 'View' | 'Edit' | string;
}

/** Details of an issue priority. */
interface CreatePriorityDetails {
    /**
     * The ID for the avatar for the priority. Either the iconUrl or avatarId must be defined, but not both. This
     * parameter is nullable and will become mandatory once the iconUrl parameter is deprecated.
     */
    avatarId?: number;
    /** The description of the priority. */
    description?: string;
    /**
     * The URL of an icon for the priority. Accepted protocols are HTTP and HTTPS. Built in icons can also be used. Either
     * the iconUrl or avatarId must be defined, but not both.
     *
     * @deprecated This property is deprecated and will be removed in a future version. Use `avatarId` instead.
     */
    iconUrl?: '/images/icons/priorities/blocker.png' | '/images/icons/priorities/critical.png' | '/images/icons/priorities/high.png' | '/images/icons/priorities/highest.png' | '/images/icons/priorities/low.png' | '/images/icons/priorities/lowest.png' | '/images/icons/priorities/major.png' | '/images/icons/priorities/medium.png' | '/images/icons/priorities/minor.png' | '/images/icons/priorities/trivial.png' | '/images/icons/priorities/blocker_new.png' | '/images/icons/priorities/critical_new.png' | '/images/icons/priorities/high_new.png' | '/images/icons/priorities/highest_new.png' | '/images/icons/priorities/low_new.png' | '/images/icons/priorities/lowest_new.png' | '/images/icons/priorities/major_new.png' | '/images/icons/priorities/medium_new.png' | '/images/icons/priorities/minor_new.png' | '/images/icons/priorities/trivial_new.png' | string;
    /** The name of the priority. Must be unique. */
    name: string;
    /** The status color of the priority in 3-digit or 6-digit hexadecimal format. */
    statusColor: string;
}

/** Details about the project. */
interface CreateProjectDetails {
    /**
     * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric
     * characters. The maximum length is 10 characters.
     */
    key: string;
    /** The name of the project. */
    name: string;
    /** A brief description of the project. */
    description?: string;
    /**
     * The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be
     * provided with `lead`.
     */
    leadAccountId: string;
    /** A link to information about this project, such as project documentation */
    url?: string;
    /** The default assignee when creating issues for this project. */
    assigneeType?: string;
    /** An integer value for the project's avatar. */
    avatarId?: number;
    /**
     * The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues.
     * Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security
     * scheme IDs.
     */
    issueSecurityScheme?: number;
    /**
     * The ID of the permission scheme for the project. Use the [Get all permission
     * schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.
     */
    permissionScheme?: number;
    /**
     * The ID of the notification scheme for the project. Use the [Get notification
     * schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.
     */
    notificationScheme?: number;
    /**
     * The ID of the project's category. A complete list of category IDs is found using the [Get all project
     * categories](#api-rest-api-3-projectCategory-get) operation.
     */
    categoryId?: number;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which
     * defines the application-specific feature set. If you don't specify the project template you have to specify the
     * project type.
     */
    projectTypeKey: 'business' | 'service_desk' | 'software' | string;
    /**
     * A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the
     * `projectTypeKey`.
     */
    projectTemplateKey?: 'com.atlassian.jira-core-project-templates:jira-core-simplified-content-management' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-process-control' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-procurement' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-project-management' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment' | 'com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking' | 'com.atlassian.servicedesk:simplified-it-service-management' | 'com.atlassian.servicedesk:simplified-general-service-desk-it' | 'com.atlassian.servicedesk:simplified-general-service-desk-business' | 'com.atlassian.servicedesk:simplified-external-service-desk' | 'com.atlassian.servicedesk:simplified-hr-service-desk' | 'com.atlassian.servicedesk:simplified-facilities-service-desk' | 'com.atlassian.servicedesk:simplified-legal-service-desk' | 'com.atlassian.servicedesk:simplified-analytics-service-desk' | 'com.atlassian.servicedesk:simplified-marketing-service-desk' | 'com.atlassian.servicedesk:simplified-design-service-desk' | 'com.atlassian.servicedesk:simplified-sales-service-desk' | 'com.atlassian.servicedesk:simplified-blank-project-business' | 'com.atlassian.servicedesk:simplified-blank-project-it' | 'com.atlassian.servicedesk:simplified-finance-service-desk' | 'com.atlassian.servicedesk:next-gen-it-service-desk' | 'com.atlassian.servicedesk:next-gen-hr-service-desk' | 'com.atlassian.servicedesk:next-gen-legal-service-desk' | 'com.atlassian.servicedesk:next-gen-marketing-service-desk' | 'com.atlassian.servicedesk:next-gen-facilities-service-desk' | 'com.atlassian.servicedesk:next-gen-general-it-service-desk' | 'com.atlassian.servicedesk:next-gen-general-business-service-desk' | 'com.atlassian.servicedesk:next-gen-analytics-service-desk' | 'com.atlassian.servicedesk:next-gen-finance-service-desk' | 'com.atlassian.servicedesk:next-gen-design-service-desk' | 'com.atlassian.servicedesk:next-gen-sales-service-desk' | 'com.pyxis.greenhopper.jira:gh-simplified-agility-kanban' | 'com.pyxis.greenhopper.jira:gh-simplified-agility-scrum' | 'com.pyxis.greenhopper.jira:gh-simplified-basic' | 'com.pyxis.greenhopper.jira:gh-simplified-kanban-classic' | 'com.pyxis.greenhopper.jira:gh-simplified-scrum-classic' | string;
    /**
     * The ID of the workflow scheme for the project. Use the [Get all workflow
     * schemes](#api-rest-api-3-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the
     * workflow scheme you cannot specify the project template key.
     */
    workflowScheme?: number;
    /**
     * The ID of the issue type screen scheme for the project. Use the [Get all issue type screen
     * schemes](#api-rest-api-3-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you
     * specify the issue type screen scheme you cannot specify the project template key.
     */
    issueTypeScreenScheme?: number;
    /**
     * The ID of the issue type scheme for the project. Use the [Get all issue type
     * schemes](#api-rest-api-3-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the
     * issue type scheme you cannot specify the project template key.
     */
    issueTypeScheme?: number;
    /**
     * The ID of the field configuration scheme for the project. Use the [Get all field configuration
     * schemes](#api-rest-api-3-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs.
     * If you specify the field configuration scheme you cannot specify the project template key.
     */
    fieldConfigurationScheme?: number;
}

/** Details of an issue resolution. */
interface CreateResolutionDetails {
    /** The name of the resolution. Must be unique (case-insensitive). */
    name: string;
    /** The description of the resolution. */
    description?: string;
}

interface CreateSchedulingRequest {
    /** The dependencies for the plan. This must be "Sequential" or "Concurrent". */
    dependencies?: 'Sequential' | 'Concurrent' | string;
    endDate?: CreateDateFieldRequest;
    /** The estimation unit for the plan. This must be "StoryPoints", "Days" or "Hours". */
    estimation: 'StoryPoints' | 'Days' | 'Hours' | string;
    /** The inferred dates for the plan. This must be "None", "SprintDates" or "ReleaseDates". */
    inferredDates?: 'None' | 'SprintDates' | 'ReleaseDates' | string;
    startDate?: CreateDateFieldRequest;
}

/** The details of a UI modification's context, which define where to activate the UI modification. */
interface UiModificationContextDetails {
    /** The ID of the UI modification context. */
    id?: string;
    /** The project ID of the context. */
    projectId: string;
    /** The issue type ID of the context. */
    issueTypeId: string;
    /** The view type of the context. Only `GIC` (Global Issue Create) is supported. */
    viewType: string;
    /** Whether a context is available. For example, when a project is deleted the context becomes unavailable. */
    isAvailable?: boolean;
}

/** The details of a UI modification. */
interface CreateUiModificationDetails {
    /** The name of the UI modification. The maximum length is 255 characters. */
    name: string;
    /** The description of the UI modification. The maximum length is 255 characters. */
    description?: string;
    /** The data of the UI modification. The maximum size of the data is 50000 characters. */
    data?: string;
    /** List of contexts of the UI modification. The maximum number of contexts is 1000. */
    contexts?: UiModificationContextDetails[];
}

interface CreateUpdateRoleRequest {
    /**
     * The name of the project role. Must be unique. Cannot begin or end with whitespace. The maximum length is 255
     * characters. Required when creating a project role. Optional when partially updating a project role.
     */
    name?: string;
    /**
     * A description of the project role. Required when fully updating a project role. Optional when creating or partially
     * updating a project role.
     */
    description?: string;
}

/** A workflow transition condition. */
interface CreateWorkflowCondition {
    /** The compound condition operator. */
    operator?: string;
    /** The list of workflow conditions. */
    conditions?: CreateWorkflowCondition[];
    /** The type of the transition rule. */
    type?: string;
    /** EXPERIMENTAL. The configuration of the transition rule. */
    configuration?: unknown;
}

/** The details of a transition status. */
interface CreateWorkflowStatusDetails {
    /** The ID of the status. */
    id: string;
    /** The properties of the status. */
    properties?: unknown;
}

/** A workflow transition rule. */
interface CreateWorkflowTransitionRule {
    /** The type of the transition rule. */
    type: string;
    /** EXPERIMENTAL. The configuration of the transition rule. */
    configuration?: unknown;
}

/** The details of a workflow transition rules. */
interface CreateWorkflowTransitionRulesDetails {
    conditions?: CreateWorkflowCondition;
    /**
     * The workflow validators.
     *
     * _Note:_* The default permission validator is always added to the _initial_ transition, as in:
     *
     * "validators": [ { "type": "PermissionValidator", "configuration": { "permissionKey": "CREATE_ISSUES" } } ]
     */
    validators?: CreateWorkflowTransitionRule[];
    /**
     * The workflow post functions.
     *
     * _Note:_* The default post functions are always added to the _initial_ transition, as in:
     *
     * "postFunctions": [ { "type": "IssueCreateFunction" }, { "type": "IssueReindexFunction" }, { "type":
     * "FireIssueEventFunction", "configuration": { "event": { "id": "1", "name": "issue_created" } } } ]
     *
     * _Note:_* The default post functions are always added to the _global_ and _directed_ transitions, as in:
     *
     * "postFunctions": [ { "type": "UpdateIssueStatusFunction" }, { "type": "CreateCommentFunction" }, { "type":
     * "GenerateChangeHistoryFunction" }, { "type": "IssueReindexFunction" }, { "type": "FireIssueEventFunction",
     * "configuration": { "event": { "id": "13", "name": "issue_generic" } } } ]
     */
    postFunctions?: CreateWorkflowTransitionRule[];
}

/** The details of a transition screen. */
interface CreateWorkflowTransitionScreenDetails {
    /** The ID of the screen. */
    id: string;
}

/** The details of a workflow transition. */
interface CreateWorkflowTransitionDetails {
    /** The name of the transition. The maximum length is 60 characters. */
    name: string;
    /** The description of the transition. The maximum length is 1000 characters. */
    description?: string;
    /** The statuses the transition can start from. */
    from?: string[];
    /** The status the transition goes to. */
    to: string;
    /** The type of the transition. */
    type: string;
    rules?: CreateWorkflowTransitionRulesDetails;
    screen?: CreateWorkflowTransitionScreenDetails;
    /** The properties of the transition. */
    properties?: unknown;
}

/** The details of a workflow. */
interface CreateWorkflowDetails {
    /**
     * The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be
     * separated by a whitespace but the name cannot start or end with a whitespace.
     */
    name: string;
    /** The description of the workflow. The maximum length is 1000 characters. */
    description?: string;
    /**
     * The transitions of the workflow. For the request to be valid, these transitions must:
     *
     * Include one _initial_ transition. not use the same name for a _global_ and _directed_ transition. have a unique
     * name for each _global_ transition. have a unique 'to' status for each _global_ transition. have unique names for
     * each transition from a status. not have a 'from' status on _initial_ and _global_ transitions. have a 'from' status
     * on _directed_ transitions.
     *
     * All the transition statuses must be included in `statuses`.
     */
    transitions: CreateWorkflowTransitionDetails[];
    /**
     * The statuses of the workflow. Any status that does not include a transition is added to the workflow without a
     * transition.
     */
    statuses: CreateWorkflowStatusDetails[];
}

interface CustomContextVariable {
    /** Type of custom context variable. */
    type: string;
}

/** Details of configurations for a custom field. */
interface CustomFieldConfigurations {
    /** The list of custom field configuration details. */
    configurations: ContextualConfiguration[];
}

/** The details of a custom field context. */
interface CustomFieldContext {
    /** The ID of the context. */
    id: string;
    /** The name of the context. */
    name: string;
    /** The description of the context. */
    description: string;
    /** Whether the context is global. */
    isGlobalContext: boolean;
    /** Whether the context apply to all issue types. */
    isAnyIssueType: boolean;
}

interface CustomFieldContextDefaultValue {
}

/** Default values to update. */
interface CustomFieldContextDefaultValueUpdate {
    defaultValues?: CustomFieldContextDefaultValue[];
}

/** Details of the custom field options for a context. */
interface CustomFieldContextOption {
    /** The ID of the custom field option. */
    id: string;
    /** The value of the custom field option. */
    value: string;
    /** For cascading options, the ID of the custom field option containing the cascading option. */
    optionId?: string;
    /** Whether the option is disabled. */
    disabled: boolean;
}

/** Details of a context to project association. */
interface CustomFieldContextProjectMapping {
    /** The ID of the context. */
    contextId: string;
    /** The ID of the project. */
    projectId?: string;
    /** Whether context is global. */
    isGlobalContext?: boolean;
}

/** Details of a custom field context. */
interface CustomFieldContextUpdateDetails {
    /** The name of the custom field context. The name must be unique. The maximum length is 255 characters. */
    name?: string;
    /** The description of the custom field context. The maximum length is 255 characters. */
    description?: string;
}

/** A list of custom field options for a context. */
interface CustomFieldCreatedContextOptionsList {
    /** The created custom field options. */
    options?: CustomFieldContextOption[];
}

interface CustomFieldDefinitionJson {
    /** The name of the custom field, which is displayed in Jira. This is not the unique identifier. */
    name: string;
    /** The description of the custom field, which is displayed in Jira. */
    description?: string;
    /**
     * The type of the custom field. These built-in custom field types are available:
     *
     * `cascadingselect`: Enables values to be selected from two levels of select lists (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`) `datepicker`: Stores a date using a picker
     * control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`) `datetime`: Stores a date with a
     * time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`) `float`: Stores and validates
     * a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`) `grouppicker`:
     * Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`)
     * `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:importid`) `labels`: Stores labels (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:labels`) `multicheckboxes`: Stores multiple values using
     * checkboxes (value: `) `multigrouppicker`: Stores multiple user groups using a picker control (value: `)
     * `multiselect`: Stores multiple values using a select list (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`) `multiuserpicker`: Stores multiple users using
     * a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`) `multiversion`:
     * Stores multiple versions from the versions available in a project using a picker control (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`) `project`: Stores a project from a list of
     * projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`)
     * `radiobuttons`: Stores a value using radio buttons (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`) `readonlyfield`: Stores a read-only text value,
     * which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`)
     * `select`: Stores a value from a configurable list of options (value:
     * `com.atlassian.jira.plugin.system.customfieldtypes:select`) `textarea`: Stores a long text string using a multiline
     * text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`) `textfield`: Stores a text string
     * using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`) `url`: Stores a
     * URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`) `userpicker`: Stores a user using a picker
     * control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`) `version`: Stores a version using a
     * picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`)
     *
     * To create a field based on a [Forge custom field
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-),
     * use the ID of the Forge custom field type as the value. For example,
     * `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`.
     */
    type: string;
    /**
     * The searcher defines the way the field is searched in Jira. For example,
     * _com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher_. The search UI (basic search and JQL
     * search) will display different operations and values for the field, based on the field searcher. You must specify a
     * searcher that is valid for the field type, as listed below (abbreviated values shown):
     *
     * `cascadingselect`: `cascadingselectsearcher` `datepicker`: `daterange` `datetime`: `datetimerange` `float`:
     * `exactnumber` or `numberrange` `grouppicker`: `grouppickersearcher` `importid`: `exactnumber` or `numberrange`
     * `labels`: `labelsearcher` `multicheckboxes`: `multiselectsearcher` `multigrouppicker`: `multiselectsearcher`
     * `multiselect`: `multiselectsearcher` `multiuserpicker`: `userpickergroupsearcher` `multiversion`: `versionsearcher`
     * `project`: `projectsearcher` `radiobuttons`: `multiselectsearcher` `readonlyfield`: `textsearcher` `select`:
     * `multiselectsearcher` `textarea`: `textsearcher` `textfield`: `textsearcher` `url`: `exacttextsearcher`
     * `userpicker`: `userpickergroupsearcher` `version`: `versionsearcher`
     *
     * If no searcher is provided, the field isn't searchable. However, [Forge custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-)
     * have a searcher set automatically, so are always searchable.
     */
    searcherKey?: string;
}

/** Details of a custom option for a field. */
interface CustomFieldOption {
    /** The URL of these custom field option details. */
    self?: string;
    /** The value of the custom field option. */
    value?: string;
}

/**
 * Defines the payload for the custom field definitions. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/#api-rest-api-3-field-post
 */
interface CustomFieldPayload {
    /** The type of the custom field */
    cfType?: string;
    /** The description of the custom field */
    description?: string;
    /** The name of the custom field */
    name?: string;
    /**
     * The strategy to use when there is a conflict with an existing custom field. FAIL - Fail execution, this always
     * needs to be unique; USE - Use the existing entity and ignore new entity parameters
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier;
    /** The searcher key of the custom field */
    searcherKey?: string;
}

/** Details about the replacement for a deleted version. */
interface CustomFieldReplacement {
    /** The ID of the custom field in which to replace the version number. */
    customFieldId?: number;
    /** The version number to use as a replacement for the deleted version. */
    moveTo?: number;
}

/** A list of custom field options for a context. */
interface CustomFieldUpdatedContextOptionsList {
    /** The updated custom field options. */
    options?: CustomFieldOptionUpdate[];
}

/** A list of issue IDs and the value to update a custom field to. */
interface CustomFieldValueUpdate {
    /** The list of issue IDs. */
    issueIds: number[];
    /**
     * The value for the custom field. The value must be compatible with the [custom field
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#data-types) as
     * follows:
     *
     * - `string` the value must be a string.
     * - `number` the value must be a number.
     * - `datetime` the value must be a string that represents a date in the ISO format or the simplified extended ISO
     *   format. For example, `"2023-01-18T12:00:00-03:00"` or `"2023-01-18T12:00:00.000Z"`. However, the milliseconds
     *   part is ignored.
     * - `user` the value must be an object that contains the `accountId` field.
     * - `group` the value must be an object that contains the group `name` or `groupId` field. Because group names can
     *   change, we recommend using `groupId`.
     *
     * A list of appropriate values must be provided if the field is of the `list` [collection
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#collection-types).
     */
    value: any;
}

/** Details of updates for a custom field. */
interface CustomFieldValueUpdateRequest {
    /** The list of custom field update details. */
    updates?: CustomFieldValueUpdate[];
}

/**
 * Defines the payload for the field layout schemes. See "Field Configuration Scheme" -
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/#api-rest-api-3-fieldconfigurationscheme-post
 * https://support.atlassian.com/jira-cloud-administration/docs/configure-a-field-configuration-scheme/
 */
interface FieldLayoutSchemePayload {
    defaultFieldLayout?: ProjectCreateResourceIdentifier;
    /** The description of the field layout scheme */
    description?: string;
    /**
     * There is a default configuration "fieldlayout" that is applied to all issue types using this scheme that don't have
     * an explicit mapping users can create (or re-use existing) configurations for other issue types and map them to this
     * scheme
     */
    explicitMappings?: {};
    /** The name of the field layout scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
}

/**
 * Defines the payload for the field layout configuration. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/#api-rest-api-3-fieldconfiguration-post
 */
interface FieldLayoutConfiguration {
    /** Whether to show the field */
    field?: boolean;
    pcri?: ProjectCreateResourceIdentifier;
    /** Whether the field is required */
    required?: boolean;
}

/**
 * Defines the payload for the field layouts. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/#api-group-issue-field-configurations"
 *
 * - Fieldlayout is what users would see as "Field Configuration" in Jira's UI -
 *   https://support.atlassian.com/jira-cloud-administration/docs/manage-issue-field-configurations/
 */
interface FieldLayoutPayload {
    /**
     * The field layout configuration. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-field-configurations/#api-rest-api-3-fieldconfiguration-post
     */
    configuration?: FieldLayoutConfiguration[];
    /** The description of the field layout */
    description?: string;
    /** The name of the field layout */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
}

/** Defines the payload to configure the issue layout item for a project. */
interface IssueLayoutItemPayload {
    itemKey?: ProjectCreateResourceIdentifier;
    /** The item section type */
    sectionType?: 'content' | 'primaryContext' | 'secondaryContext' | string;
    /** The item type. Currently only support FIELD */
    type?: 'FIELD' | string;
}

/** Defines the payload to configure the issue layouts for a project. */
interface IssueLayoutPayload {
    containerId?: ProjectCreateResourceIdentifier;
    /** The issue layout type */
    issueLayoutType?: 'ISSUE_VIEW' | 'ISSUE_CREATE' | 'REQUEST_FORM' | string;
    /** The configuration of items in the issue layout */
    items?: IssueLayoutItemPayload[];
    pcri?: ProjectCreateResourceIdentifier;
}

/**
 * Defines the payload for the issue type screen schemes. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-type-screen-schemes/#api-rest-api-3-issuetypescreenscheme-post
 */
interface IssueTypeScreenSchemePayload {
    defaultScreenScheme?: ProjectCreateResourceIdentifier;
    /** The description of the issue type screen scheme */
    description?: string;
    /**
     * The IDs of the screen schemes for the issue type IDs and default. A default entry is required to create an issue
     * type screen scheme, it defines the mapping for all issue types without a screen scheme.
     */
    explicitMappings?: {};
    /** The name of the issue type screen scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
}

/**
 * Defines the payload for the screen schemes. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-schemes/#api-rest-api-3-screenscheme-post
 */
interface ScreenSchemePayload {
    defaultScreen?: ProjectCreateResourceIdentifier;
    /** The description of the screen scheme */
    description?: string;
    /** The name of the screen scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
    /**
     * Similar to the field layout scheme those mappings allow users to set different screens for different operations:
     * default - always there, applied to all operations that don't have an explicit mapping `create`, `view`, `edit` -
     * specific operations that are available and users can assign a different screen for each one of them
     * https://support.atlassian.com/jira-cloud-administration/docs/manage-screen-schemes/#Associating-a-screen-with-an-issue-operation
     */
    screens?: {};
}

/**
 * Defines the payload for the tabs of the screen. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-tab-fields/#api-rest-api-3-screens-screenid-tabs-tabid-fields-post
 */
interface TabPayload {
    /**
     * The list of resource identifier of the field associated to the tab. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-tab-fields/#api-rest-api-3-screens-screenid-tabs-tabid-fields-post
     */
    fields?: ProjectCreateResourceIdentifier[];
    /** The name of the tab */
    name?: string;
}

/**
 * Defines the payload for the field screens. See
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screens/#api-rest-api-3-screens-post
 */
interface ScreenPayload {
    /** The description of the screen */
    description?: string;
    /** The name of the screen */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
    /**
     * The tabs of the screen. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-tab-fields/#api-rest-api-3-screens-screenid-tabs-tabid-fields-post
     */
    tabs?: TabPayload[];
}

/**
 * Defines the payload for the fields, screens, screen schemes, issue type screen schemes, field layouts, and field
 * layout schemes
 */
interface FieldCapabilityPayload {
    /**
     * The custom field definitions. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-fields/#api-rest-api-3-field-post
     */
    customFieldDefinitions?: CustomFieldPayload[];
    fieldLayoutScheme?: FieldLayoutSchemePayload;
    /** The field layouts configuration. */
    fieldLayouts?: FieldLayoutPayload[];
    /** The issue layouts configuration */
    issueLayouts?: IssueLayoutPayload[];
    issueTypeScreenScheme?: IssueTypeScreenSchemePayload;
    /**
     * The screen schemes See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screen-schemes/#api-rest-api-3-screenscheme-post
     */
    screenScheme?: ScreenSchemePayload[];
    /**
     * The screens. See
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-screens/#api-rest-api-3-screens-post
     */
    screens?: ScreenPayload[];
}

/** The payload for creating an issue type hierarchy */
interface IssueTypeHierarchyPayload {
    /** The hierarchy level of the issue type. 0, 1, 2, 3 .. n; Negative values for subtasks */
    hierarchyLevel?: number;
    /** The name of the issue type */
    name?: string;
    /**
     * The conflict strategy to use when the issue type already exists. FAIL - Fail execution, this always needs to be
     * unique; USE - Use the existing entity and ignore new entity parameters
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier;
}

/** The payload for creating issue type schemes */
interface IssueTypeSchemePayload {
    defaultIssueTypeId?: ProjectCreateResourceIdentifier;
    /** The description of the issue type scheme */
    description?: string;
    /** The issue type IDs for the issue type scheme */
    issueTypeIds?: ProjectCreateResourceIdentifier[];
    /** The name of the issue type scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
}

/** The payload for creating an issue type */
interface IssueTypePayload {
    /**
     * The avatar ID of the issue type. Go to
     * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-avatars/#api-rest-api-3-avatar-type-system-get
     * to choose an avatarId existing in Jira
     */
    avatarId?: number;
    /** The description of the issue type */
    description?: string;
    /** The hierarchy level of the issue type. 0, 1, 2, 3 .. n; Negative values for subtasks */
    hierarchyLevel?: number;
    /** The name of the issue type */
    name?: string;
    /**
     * The conflict strategy to use when the issue type already exists. FAIL - Fail execution, this always needs to be
     * unique; USE - Use the existing entity and ignore new entity parameters
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier;
}

/** The payload for creating issue types in a project */
interface IssueTypeProjectCreatePayload {
    /**
     * Defines the issue type hierarhy to be created and used during this project creation. This will only add new levels
     * if there isn't an existing level
     */
    issueTypeHierarchy?: IssueTypeHierarchyPayload[];
    issueTypeScheme?: IssueTypeSchemePayload;
    /**
     * Only needed if you want to create issue types, you can otherwise use the ids of issue types in the scheme
     * configuration
     */
    issueTypes?: IssueTypePayload[];
}

/** The event ID to use for reference in the payload */
interface NotificationSchemeEventIDPayload {
    /** The event ID to use for reference in the payload */
    id?: string;
}

/** The configuration for notification recipents */
interface NotificationSchemeNotificationDetailsPayload {
    /** The type of notification. */
    notificationType?: string;
    /** The parameter of the notification, should be eiither null if not required, or PCRI. */
    parameter?: string;
}

/** The payload for creating a notification scheme event. Defines which notifications should be sent for a specific event */
interface NotificationSchemeEventPayload {
    event?: NotificationSchemeEventIDPayload;
    /** The configuration for notification recipents */
    notifications?: NotificationSchemeNotificationDetailsPayload[];
}

/**
 * The payload for creating a notification scheme. The user has to supply the ID for the default notification scheme.
 * For CMP this is provided in the project payload and should be left empty, for TMP it's provided using this payload
 */
interface NotificationSchemePayload {
    /** The description of the notification scheme */
    description?: string;
    /** The name of the notification scheme */
    name?: string;
    /** The events and notifications for the notification scheme */
    notificationSchemeEvents?: NotificationSchemeEventPayload[];
    /** The strategy to use when there is a conflict with an existing entity */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier;
}

/** List of permission grants */
interface PermissionGrantDTO {
    applicationAccess?: string[];
    groupCustomFields?: ProjectCreateResourceIdentifier[];
    groups?: ProjectCreateResourceIdentifier[];
    permissionKeys?: string[];
    projectRoles?: ProjectCreateResourceIdentifier[];
    specialGrants?: string[];
    userCustomFields?: ProjectCreateResourceIdentifier[];
    users?: ProjectCreateResourceIdentifier[];
}

/** The payload to create a permission scheme */
interface PermissionPayload {
    /** Configuration to generate addon role. Default is false if null */
    addAddonRole?: boolean;
    /** The description of the permission scheme */
    description?: string;
    /** List of permission grants */
    grants?: PermissionGrantDTO[];
    /** The name of the permission scheme */
    name?: string;
    /**
     * The strategy to use when there is a conflict with an existing permission scheme. FAIL - Fail execution, this always
     * needs to be unique; USE - Use the existing entity and ignore new entity parameters; NEW - If the entity exist, try
     * and create a new one with a different name
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier;
}

/** The payload for creating a project */
interface ProjectPayload {
    fieldLayoutSchemeId?: ProjectCreateResourceIdentifier;
    issueSecuritySchemeId?: ProjectCreateResourceIdentifier;
    issueTypeSchemeId?: ProjectCreateResourceIdentifier;
    issueTypeScreenSchemeId?: ProjectCreateResourceIdentifier;
    notificationSchemeId?: ProjectCreateResourceIdentifier;
    pcri?: ProjectCreateResourceIdentifier;
    permissionSchemeId?: ProjectCreateResourceIdentifier;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which
     * defines the application-specific feature set. If you don't specify the project template you have to specify the
     * project type.
     */
    projectTypeKey?: 'software' | 'business' | 'service_desk' | 'product_discovery' | string;
    workflowSchemeId?: ProjectCreateResourceIdentifier;
}

/**
 * The payload used to create a project role. It is optional for CMP projects, as a default role actor will be provided.
 * TMP will add new role actors to the table.
 */
interface RolePayload {
    /** The default actors for the role. By adding default actors, the role will be added to any future projects created */
    defaultActors?: ProjectCreateResourceIdentifier[];
    /** The description of the role */
    description?: string;
    /** The name of the role */
    name?: string;
    /**
     * The strategy to use when there is a conflict with an existing project role. FAIL - Fail execution, this always
     * needs to be unique; USE - Use the existing entity and ignore new entity parameters
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier;
    /** The type of the role. Only used by project-scoped project */
    type?: 'HIDDEN' | 'VIEWABLE' | 'EDITABLE' | string;
}

interface RolesCapabilityPayload {
    /** A map of role PCRI (can be ID or REF) to a list of user or group PCRI IDs to associate with the role and project. */
    roleToProjectActors?: {};
    /** The list of roles to create. */
    roles?: RolePayload[];
}

/** The payload for creating a scope. Defines if a project is team-managed project or company-managed project */
interface ScopePayload {
    /** The type of the scope. Use `GLOBAL` or empty for company-managed project, and `PROJECT` for team-managed project */
    type?: 'GLOBAL' | 'PROJECT' | string;
}

/**
 * The payload for creating a security level member. See
 * https://support.atlassian.com/jira-cloud-administration/docs/configure-issue-security-schemes/
 */
interface SecurityLevelMemberPayload {
    /**
     * Defines the value associated with the type. For reporter this would be {"null"}; for users this would be the names
     * of specific users); for group this would be group names like {"administrators", "jira-administrators",
     * "jira-users"}
     */
    parameter?: string;
    /** The type of the security level member */
    type?: 'group' | 'reporter' | 'users' | string;
}

/**
 * The payload for creating a security level. See
 * https://support.atlassian.com/jira-cloud-administration/docs/configure-issue-security-schemes/
 */
interface SecurityLevelPayload {
    /** The description of the security level */
    description?: string;
    /** Whether the security level is default for the security scheme */
    isDefault?: boolean;
    /** The name of the security level */
    name?: string;
    /** The members of the security level */
    securityLevelMembers?: SecurityLevelMemberPayload[];
}

/**
 * The payload for creating a security scheme. See
 * https://support.atlassian.com/jira-cloud-administration/docs/configure-issue-security-schemes/
 */
interface SecuritySchemePayload {
    /** The description of the security scheme */
    description?: string;
    /** The name of the security scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
    /** The security levels for the security scheme */
    securityLevels?: SecurityLevelPayload[];
}

/** The payload for creating a status */
interface StatusPayload {
    /** The description of the status */
    description?: string;
    /** The name of the status */
    name?: string;
    /**
     * The conflict strategy for the status already exists. FAIL - Fail execution, this always needs to be unique; USE -
     * Use the existing entity and ignore new entity parameters; NEW - Create a new entity
     */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier;
    /** The status category of the status. The value is case-sensitive. */
    statusCategory?: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
}

/**
 * The payload for creating a workflow scheme. See
 * https://www.atlassian.com/software/jira/guides/workflows/overview#what-is-a-jira-workflow-scheme
 */
interface WorkflowSchemePayload {
    defaultWorkflow?: ProjectCreateResourceIdentifier;
    /** The description of the workflow scheme */
    description?: string;
    /** Association between issuetypes and workflows */
    explicitMappings?: {};
    /** The name of the workflow scheme */
    name?: string;
    pcri?: ProjectCreateResourceIdentifier;
}

/** The layout of the workflow status. */
interface WorkflowStatusLayoutPayload {
    /** The x coordinate of the status. */
    x?: number;
    /** The y coordinate of the status. */
    y?: number;
}

/** The statuses to be used in the workflow */
interface WorkflowStatusPayload {
    layout?: WorkflowStatusLayoutPayload;
    pcri?: ProjectCreateResourceIdentifier;
    /** The properties of the workflow status. */
    properties?: {};
}

/** The payload for the layout details for the start end of a transition */
interface FromLayoutPayload {
    /** The port that the transition can be made from */
    fromPort?: number;
    status?: ProjectCreateResourceIdentifier;
    /** The port that the transition goes to */
    toPortOverride?: number;
}

/** The payload for the layout details for the destination end of a transition */
interface ToLayoutPayload {
    /** Defines where the transition line will be connected to a status. Port 0 to 7 are acceptable values. */
    port?: number;
    status?: ProjectCreateResourceIdentifier;
}

/** The payload for creating a transition in a workflow. Can be DIRECTED, GLOBAL, SELF-LOOPED, GLOBAL LOOPED */
interface TransitionPayload {
    /** The actions that are performed when the transition is made */
    actions?: RulePayload[];
    conditions?: ConditionGroupPayload;
    /**
     * Mechanism in Jira for triggering certain actions, like notifications, automations, etc. Unless a custom
     * notification scheme is configure, it's better not to provide any value here
     */
    customIssueEventId?: string;
    /** The description of the transition */
    description?: string;
    /** The statuses that the transition can be made from */
    from?: FromLayoutPayload[];
    /** The id of the transition */
    id?: number;
    /** The name of the transition */
    name?: string;
    /** The properties of the transition */
    properties?: {};
    to?: ToLayoutPayload;
    transitionScreen?: RulePayload;
    /** The triggers that are performed when the transition is made */
    triggers?: RulePayload[];
    /** The type of the transition */
    type?: 'global' | 'initial' | 'directed' | string;
    /** The validators that are performed when the transition is made */
    validators?: RulePayload[];
}

/**
 * The payload for creating workflow, see
 * https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/#api-rest-api-3-workflows-create-post
 */
interface WorkflowPayload {
    /** The description of the workflow */
    description?: string;
    loopedTransitionContainerLayout?: WorkflowStatusLayoutPayload;
    /** The name of the workflow */
    name?: string;
    /** The strategy to use if there is a conflict with another workflow */
    onConflict?: 'FAIL' | 'USE' | 'NEW' | string;
    pcri?: ProjectCreateResourceIdentifier;
    startPointLayout?: WorkflowStatusLayoutPayload;
    /** The statuses to be used in the workflow */
    statuses?: WorkflowStatusPayload[];
    /** The transitions for the workflow */
    transitions?: TransitionPayload[];
}

/**
 * The payload for creating a workflows. See
 * https://www.atlassian.com/software/jira/guides/workflows/overview#what-is-a-jira-workflow
 */
interface WorkflowCapabilityPayload {
    /** The statuses for the workflow */
    statuses?: StatusPayload[];
    workflowScheme?: WorkflowSchemePayload;
    /** The transitions for the workflow */
    workflows?: WorkflowPayload[];
}

/** The specific request object for creating a project with template. */
interface CustomTemplateRequest {
    boards?: BoardsPayload;
    field?: FieldCapabilityPayload;
    issueType?: IssueTypeProjectCreatePayload;
    notification?: NotificationSchemePayload;
    permissionScheme?: PermissionPayload;
    project?: ProjectPayload;
    role?: RolesCapabilityPayload;
    scope?: ScopePayload;
    security?: SecuritySchemePayload;
    workflow?: WorkflowCapabilityPayload;
}

/** Project Details */
interface CustomTemplatesProjectDetails {
    /** The access level of the project. Only used by team-managed project */
    accessLevel?: 'open' | 'limited' | 'private' | 'free' | string;
    /** Additional properties of the project */
    additionalProperties?: {};
    /** The default assignee when creating issues in the project */
    assigneeType?: 'PROJECT_DEFAULT' | 'COMPONENT_LEAD' | 'PROJECT_LEAD' | 'UNASSIGNED' | string;
    /**
     * The ID of the project's avatar. Use the [Get project avatars](#api-rest-api-3-project-projectIdOrKey-avatar-get)
     * operation to list the available avatars in a project.
     */
    avatarId?: number;
    /**
     * The ID of the project's category. A complete list of category IDs is found using the [Get all project
     * categories](#api-rest-api-3-projectCategory-get) operation.
     */
    categoryId?: number;
    /** Brief description of the project */
    description?: string;
    /** Whether components are enabled for the project. Only used by company-managed project */
    enableComponents?: boolean;
    /**
     * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric
     * characters. The maximum length is 10 characters.
     */
    key?: string;
    /** The default language for the project */
    language?: string;
    /**
     * The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be
     * provided with `lead`.
     */
    leadAccountId?: string;
    /** Name of the project */
    name?: string;
    /** A link to information about this project, such as project documentation */
    url?: string;
}

interface UserAvatarUrls {
    /** The URL of the user's 16x16 pixel avatar. */
    '16x16'?: string;
    /** The URL of the user's 24x24 pixel avatar. */
    '24x24'?: string;
    /** The URL of the user's 32x32 pixel avatar. */
    '32x32'?: string;
    /** The URL of the user's 48x48 pixel avatar. */
    '48x48'?: string;
}

interface DashboardUser {
    /** The URL of the user. */
    self?: string;
    /** The display name of the user. Depending on the user’s privacy setting, this may return an alternative value. */
    displayName?: string;
    /** Whether the user is active. */
    active?: boolean;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    avatarUrls?: UserAvatarUrls;
}

interface HierarchyLevel {
    /** The name of this hierarchy level. */
    name?: string;
    /** The level of this item in the hierarchy. */
    level?: number;
    /** The issue types available in this hierarchy level. */
    issueTypeIds?: number[];
    globalHierarchyLevel?: string;
}

/** The project issue type hierarchy. */
interface Hierarchy {
    /** Details about the hierarchy level. */
    levels?: HierarchyLevel[];
}

/** A project category. */
interface ProjectCategory {
    /** The URL of the project category. */
    self?: string;
    /** The ID of the project category. */
    id?: string;
    /** The name of the project category. Required on create, optional on update. */
    name?: string;
    /** The description of the project category. */
    description?: string;
}

/** Additional details about a project. */
interface ProjectInsight {
    /** Total issue count. */
    totalIssueCount?: number;
    /** The last issue update time. */
    lastIssueUpdateTime?: string;
}

interface ProjectLandingPageInfo {
    url?: string;
    projectKey?: string;
    projectType?: string;
    boardName?: string;
    simpleBoard?: boolean;
    queueId?: number;
    queueName?: string;
    queueCategory?: string;
    boardId?: number;
    simplified?: boolean;
    attributes?: unknown;
}

/** Permissions which a user has on a project. */
interface ProjectPermissions {
    /** Whether the logged user can edit the project. */
    canEdit?: boolean;
}

/** Contains details about a version approver. */
interface VersionApprover {
    /** The Atlassian account ID of the approver. */
    accountId?: string;
    /** A description of why the user is declining the approval. */
    declineReason?: string;
    /** A description of what the user is approving within the specified version. */
    description?: string;
    /** The status of the approval, which can be _PENDING_, _APPROVED_, or _DECLINED_ */
    status?: 'PENDING' | 'APPROVED' | 'DECLINED' | string;
}

/** Counts of the number of issues in various statuses. */
interface VersionIssuesStatus {
    /** Count of issues with a status other than _to do_, _in progress_, and _done_. */
    unmapped?: number;
    /** Count of issues with status _to do_. */
    toDo?: number;
    /** Count of issues with status _in progress_. */
    inProgress?: number;
    /** Count of issues with status _done_. */
    done?: number;
}

/** Details about a project version. */
interface Version$1 {
    /** If the expand option `approvers` is used, returns a list containing the approvers for this version. */
    approvers?: VersionApprover[];
    /** Indicates that the version is archived. Optional when creating or updating a version. */
    archived?: boolean;
    /** The description of the version. Optional when creating or updating a version. The maximum size is 16,384 bytes. */
    description?: string;
    /** If the expand option `driver` is used, returns the Atlassian account ID of the driver. */
    driver?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about version in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `operations` Returns the list of operations available for this version.
     * - `issuesstatus` Returns the count of issues in this version for each of the status categories _to do_, _in
     *   progress_, _done_, and _unmapped_. The _unmapped_ property contains a count of issues with a status other than
     *   _to do_, _in progress_, and _done_.
     * - `driver` Returns the Atlassian account ID of the version driver.
     * - `approvers` Returns a list containing approvers for this version.
     *
     * Optional for create and update.
     */
    expand?: 'operations' | 'issuesstatus' | 'driver' | 'approvers' | ('operations' | 'issuesstatus' | 'driver' | 'approvers')[] | string | string[];
    /** The ID of the version. */
    id?: string;
    issuesStatusForFixVersion?: VersionIssuesStatus;
    /**
     * The URL of the self link to the version to which all unfixed issues are moved when a version is released. Not
     * applicable when creating a version. Optional when updating a version.
     */
    moveUnfixedIssuesTo?: string;
    /**
     * The unique name of the version. Required when creating a version. Optional when updating a version. The maximum
     * length is 255 characters.
     */
    name?: string;
    /** If the expand option `operations` is used, returns the list of operations available for this version. */
    operations?: SimpleLink[];
    /** Indicates that the version is overdue. */
    overdue?: boolean;
    /**
     * The ID of the project to which this version is attached. Required when creating a version. Not applicable when
     * updating a version.
     */
    projectId?: string | number;
    /**
     * The release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a
     * version.
     */
    releaseDate?: string;
    /**
     * Indicates that the version is released. If the version is released a request to release again is ignored. Not
     * applicable when creating a version. Optional when updating a version.
     */
    released?: boolean;
    /** The URL of the version. */
    self?: string;
    /**
     * The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a
     * version.
     */
    startDate?: string;
    /**
     * The date on which work on this version is expected to finish, expressed in the instance's _Day/Month/Year Format_
     * date format.
     */
    userReleaseDate?: string;
    /**
     * The date on which work on this version is expected to start, expressed in the instance's _Day/Month/Year Format_
     * date format.
     */
    userStartDate?: string;
}

/** Details about a project. */
interface Project$1 {
    /** Expand options that include additional project details in the response. */
    expand?: 'description' | 'issueTypes' | 'lead' | 'projectKeys' | 'issueTypeHierarchy' | ('description' | 'issueTypes' | 'lead' | 'projectKeys' | 'issueTypeHierarchy')[] | string | string[];
    /** The URL of the project details. */
    self?: string;
    /** The ID of the project. */
    id: string;
    /** The key of the project. */
    key: string;
    /** A brief description of the project. */
    description?: string;
    lead: User$2;
    /** List of the components contained in the project. */
    components?: ProjectComponent[];
    /** List of the issue types available in the project. */
    issueTypes?: IssueTypeDetails[];
    /** A link to information about this project, such as project documentation. */
    url?: string;
    /** An email address associated with the project. */
    email?: string;
    /** The default assignee when creating issues for this project. */
    assigneeType?: string;
    /** The versions defined in the project. For more information, see [Create version](#api-rest-api-3-version-post). */
    versions?: Version$1[];
    /** The name of the project. */
    name: string;
    /**
     * The name and self URL for each role defined in the project. For more information, see [Create project
     * role](#api-rest-api-3-role-post).
     */
    roles?: unknown;
    avatarUrls?: AvatarUrls$2;
    projectCategory?: ProjectCategory;
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the
     * project.
     */
    projectTypeKey?: string;
    /** Whether the project is simplified. */
    simplified?: boolean;
    /** The type of the project. */
    style?: string;
    /** Whether the project is selected as a favorite. */
    favourite?: boolean;
    /** Whether the project is private. */
    isPrivate?: boolean;
    issueTypeHierarchy?: Hierarchy;
    permissions?: ProjectPermissions;
    /** Map of project properties */
    properties?: unknown;
    /** Unique ID for next-gen projects. */
    uuid?: string;
    insight?: ProjectInsight;
    /** Whether the project is marked as deleted. */
    deleted?: boolean;
    /** The date when the project is deleted permanently. */
    retentionTillDate?: string;
    /** The date when the project was marked as deleted. */
    deletedDate?: string;
    deletedBy?: User$2;
    /** Whether the project is archived. */
    archived?: boolean;
    /** The date when the project was archived. */
    archivedDate?: string;
    archivedBy?: User$2;
    landingPageInfo?: ProjectLandingPageInfo;
}

/** Details of the group associated with the role. */
interface ProjectRoleGroup {
    /** The display name of the group. */
    displayName?: string;
    /** The name of the group. As a group's name can change, use of `groupId` is recommended to identify the group. */
    name?: string;
    /** The ID of the group. */
    groupId?: string;
}

/** Details of the user associated with the role. */
interface ProjectRoleUser {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Returns _unknown_ if the record is deleted and corrupted, for example, as the result of
     * a server import.
     */
    accountId?: string;
}

/** Details about a user assigned to a project role. */
interface RoleActor {
    /** The ID of the role actor. */
    id?: number;
    /**
     * The display name of the role actor. For users, depending on the user’s privacy setting, this may return an
     * alternative value for the user's name.
     */
    displayName?: string;
    /** The type of role actor. */
    type?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /** The avatar of the role actor. */
    avatarUrl?: string;
    actorUser?: ProjectRoleUser;
    actorGroup?: ProjectRoleGroup;
}

/** Details about the roles in a project. */
interface ProjectRole {
    /** The URL the project role details. */
    self?: string;
    /** The name of the project role. */
    name?: string;
    /** The ID of the project role. */
    id?: number;
    /** The description of the project role. */
    description?: string;
    /** The list of users who act in this role. */
    actors?: RoleActor[];
    scope?: Scope$1;
    /** The translated name of the project role. */
    translatedName?: string;
    /** Whether the calling user is part of this role. */
    currentUserRole?: boolean;
    /** Whether this role is the admin role for the project. */
    admin?: boolean;
    /** Whether the roles are configurable for this project. */
    roleConfigurable?: boolean;
    /** Whether this role is the default role for the project */
    default?: boolean;
}

/** Details of a share permission for the filter. */
interface SharePermission {
    /** The unique identifier of the share permission. */
    id?: number;
    /**
     * The type of share permission:
     *
     * - `user` Shared with a user.
     * - `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.
     * - `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.
     * - `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in
     *   requests, where it needs to be specify with `projectId` and `projectRoleId`.
     * - `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.
     * - `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as
     *   the `type`.
     * - `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.
     */
    type: 'user' | 'group' | 'project' | 'projectRole' | 'global' | 'loggedin' | 'project-unknown' | string;
    project?: Project$1;
    role?: ProjectRole;
    group?: GroupName;
    user?: DashboardUser;
}

/** Details of a dashboard. */
interface Dashboard {
    description?: string;
    /** The ID of the dashboard. */
    id: string;
    /** Whether the dashboard is selected as a favorite by the user. */
    isFavourite?: boolean;
    /** The name of the dashboard. */
    name?: string;
    owner?: DashboardUser;
    /** The number of users who have this dashboard as a favorite. */
    popularity?: number;
    /** The rank of this dashboard. */
    rank?: number;
    /** The URL of these dashboard details. */
    self?: string;
    /** The details of any view share permissions for the dashboard. */
    sharePermissions?: SharePermission[];
    /** The details of any edit share permissions for the dashboard. */
    editPermissions?: SharePermission[];
    /** The automatic refresh interval for the dashboard in milliseconds. */
    automaticRefreshMs?: number;
    /** The URL of the dashboard. */
    view?: string;
    /** Whether the current user has permission to edit the dashboard. */
    isWritable?: boolean;
    /** Whether the current dashboard is system dashboard. */
    systemDashboard?: boolean;
}

/** Details of a dashboard. */
interface DashboardDetails {
    /** The name of the dashboard. */
    name: string;
    /** The description of the dashboard. */
    description?: string;
    /** The share permissions for the dashboard. */
    sharePermissions: SharePermission[];
    /** The edit permissions for the dashboard. */
    editPermissions: SharePermission[];
}

/** Details of a gadget position. */
interface DashboardGadgetPosition {
    'The row position of the gadget.': number;
    'The column position of the gadget.': number;
}

/** Details of a gadget. */
interface DashboardGadget {
    /** The ID of the gadget instance. */
    id: number;
    /** The module key of the gadget type. */
    moduleKey?: string;
    /** The URI of the gadget type. */
    uri?: string;
    /** The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`. */
    color: string;
    position?: DashboardGadgetPosition;
    /** The title of the gadget. */
    title: string;
}

/** The list of gadgets on the dashboard. */
interface DashboardGadgetResponse {
    /** The list of gadgets. */
    gadgets: DashboardGadget[];
}

/** Details of the settings for a dashboard gadget. */
interface DashboardGadgetSettings {
    /** The module key of the gadget type. Can't be provided with `uri`. */
    moduleKey?: string;
    /** The URI of the gadget type. Can't be provided with `moduleKey`. */
    uri?: string;
    /** The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`. */
    color?: string;
    position?: DashboardGadgetPosition;
    /** The title of the gadget. */
    title?: string;
    /**
     * Whether to ignore the validation of module key and URI. For example, when a gadget is created that is a part of an
     * application that isn't installed.
     */
    ignoreUriAndModuleKeyValidation?: boolean;
}

/** The details of the gadget to update. */
interface DashboardGadgetUpdateRequest {
    /** The title of the gadget. */
    title?: string;
    /** The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`. */
    color?: string;
    position?: DashboardGadgetPosition;
}

/** The data classification. */
interface DataClassificationTag {
    /** The color of the data classification object. */
    color?: string;
    /** The description of the data classification object. */
    description?: string;
    /** The guideline of the data classification object. */
    guideline?: string;
    /** The ID of the data classification object. */
    id: string;
    /** The name of the data classification object. */
    name?: string;
    /** The rank of the data classification object. */
    rank?: number;
    /** The status of the data classification object. */
    status: string;
}

/** The data classification. */
interface DataClassificationLevels {
    /** The data classifications. */
    classifications?: DataClassificationTag[];
}

/** List issues archived within a specified date range. */
interface DateRangeFilter {
    /** List issues archived after a specified date, passed in the YYYY-MM-DD format. */
    dateAfter: string;
    /** List issues archived before a specified date provided in the YYYY-MM-DD format. */
    dateBefore: string;
}

/** Details of scheme and new default level. */
interface DefaultLevelValue {
    /**
     * The ID of the issue security level to set as default for the specified scheme. Providing null will reset the
     * default level.
     */
    defaultLevelId: string;
    /** The ID of the issue security scheme to set default level for. */
    issueSecuritySchemeId: string;
}

/** Details of the scope of the default sharing for new filters and dashboards. */
interface DefaultShareScope {
    /**
     * The scope of the default sharing for new filters and dashboards:
     *
     * `AUTHENTICATED` Shared with all logged-in users. `GLOBAL` Shared with all logged-in users. This shows as
     * `AUTHENTICATED` in the response. `PRIVATE` Not shared with any users.
     */
    scope: string;
}

/** Details about the default workflow. */
interface DefaultWorkflow {
    /** The name of the workflow to set as the default workflow. */
    workflow: string;
    /**
     * Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated
     * with the new default workflow. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

interface DeleteAndReplaceVersion$1 {
    /** The ID of the version to update `fixVersion` to when the field contains the deleted version. */
    moveFixIssuesTo?: number;
    /** The ID of the version to update `affectedVersion` to when the field contains the deleted version. */
    moveAffectedIssuesTo?: number;
    /**
     * An array of custom field IDs (`customFieldId`) and version IDs (`moveTo`) to update when the fields contain the
     * deleted version.
     */
    customFieldReplacementList?: CustomFieldReplacement[];
}

/** The current version details of this workflow scheme. */
interface DocumentVersion {
    /** The version UUID. */
    id?: string;
    /** The version number. */
    versionNumber?: number;
}

interface EnhancedSearchRequest {
    /**
     * The [JQL](https://confluence.atlassian.com/x/egORLQ) expression. For performance reasons, this parameter requires a
     * bounded query. A bounded query is a query with a search restriction.
     *
     * - Example of an unbounded query: `order by key desc`.
     * - Example of a bounded query: `assignee = currentUser() order by key`.
     *
     * Additionally, `orderBy` clause can contain a maximum of 7 fields.
     */
    jql?: string;
    /**
     * The token for a page to fetch that is not the first page. The first page has a `nextPageToken` of `null`. Use the
     * `nextPageToken` to fetch the next page of issues.
     */
    nextPageToken?: string;
    /**
     * The maximum number of items to return per page. To manage page size, API may return fewer items per page where a
     * large number of fields are requested. The greatest number of items returned per page is achieved when requesting
     * `id` or `key` only.
     *
     * It returns max 5000 issues.
     *
     * Default: `50`
     *
     * Format: `int32`
     */
    maxResults?: number;
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * - `*all` Returns all fields.
     * - `*navigable` Returns navigable fields.
     * - `id` Returns only issue IDs.
     * - Any issue field, prefixed with a minus to exclude.
     *
     * The default is `id`.
     *
     * Examples:
     *
     * - `summary,comment` Returns only the summary and comments fields.
     * - `-description` Returns all navigable (default) fields except description.
     * - `*all,-comment` Returns all fields except comments.
     *
     * Multiple `fields` parameters can be included in a request.
     *
     * Note: By default, this resource returns IDs only. This differs from [GET
     * issue](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-get)
     * where the default is all fields.
     */
    fields?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about issues in the response. Note that, unlike the majority of instances where `expand` is specified,
     * `expand` is defined as a comma-delimited string of values. The expand options are:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     *
     * Examples: `names,changelog` Returns the display name of each field as well as a list of recent updates to an issue.
     */
    expand?: OneOrMany<'renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | string>;
    /** A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list. */
    properties?: string[];
    /** Reference fields by their key (rather than ID). The default is `false`. */
    fieldsByKeys?: boolean;
    /** @deprecated Fail this request early if we can't retrieve all field data. The default is `false`. */
    failFast?: boolean;
    /** Strong consistency issue ids to be reconciled with search results. Accepts max 50 ids. All issues must exist. */
    reconcileIssues?: number[];
}

interface EntityPropertyDetails {
    /** The entity property ID. */
    entityId: number;
    /** The entity property key. */
    key: string;
    /** The new value of the entity property. */
    value: string;
}

interface Error$1 {
    count?: number;
    issueIdsOrKeys?: string[];
    message?: string;
}

interface Errors {
    issueIsSubtask?: Error$1;
    issuesInArchivedProjects?: Error$1;
    issuesInUnlicensedProjects?: Error$1;
    issuesNotFound?: Error$1;
}

interface JiraExpressionsComplexityValue {
    /** The complexity value of the current expression. */
    value: number;
    /** The maximum allowed complexity. The evaluation will fail if this value is exceeded. */
    limit: number;
}

interface JiraExpressionsComplexity {
    steps?: JiraExpressionsComplexityValue;
    expensiveOperations?: JiraExpressionsComplexityValue;
    beans?: JiraExpressionsComplexityValue;
    primitiveValues?: JiraExpressionsComplexityValue;
}

/**
 * The description of the page of issues loaded by the provided JQL query.This bean will be replacing
 * IssuesJqlMetaDataBean bean as part of new `evaluate` endpoint
 */
interface JExpEvaluateIssuesJqlMetaData {
    /** Next Page token for the next page of issues. */
    nextPageToken: string;
}

/**
 * Meta data describing the `issues` context variable.This bean will be replacing IssuesMetaBean bean as part of new
 * `evaluate` endpoint
 */
interface JExpEvaluateIssuesMeta {
    jql?: JExpEvaluateIssuesJqlMetaData;
}

/** Contains information about the expression evaluation. */
interface EvaluateMetaData {
    complexity?: JiraExpressionsComplexity;
    issues?: JExpEvaluateIssuesMeta;
}

/**
 * The result of evaluating a Jira expression.This bean will be replacing `JiraExpressionResultBean` bean as part of new
 * evaluate endpoint
 */
interface EvaluatedJiraExpression {
    meta?: EvaluateMetaData;
    /**
     * The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some
     * expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if
     * that's the case a simple string representation is returned. These string representations should not be relied upon
     * and may change without notice.)
     */
    value: unknown;
}

/** The schema of a field. */
interface JsonType$2 {
    /** The data type of the field. */
    type: string;
    /** When the data type is an array, the name of the field items within the array. */
    items?: string;
    /** If the field is a system field, the name of the field. */
    system?: string;
    /** If the field is a custom field, the URI of the field. */
    custom?: string;
    /** If the field is a custom field, the custom ID of the field. */
    customId?: number;
    /** If the field is a custom field, the configuration of the field. */
    configuration?: unknown;
}

/** Details about a field. */
interface FieldDetails {
    /** The ID of the field. */
    id?: string;
    /** The key of the field. */
    key?: string;
    /** The name of the field. */
    name?: string;
    /** Whether the field is a custom field. */
    custom?: boolean;
    /** Whether the content of the field can be used to order lists. */
    orderable?: boolean;
    /** Whether the field can be used as a column on the issue navigator. */
    navigable?: boolean;
    /** Whether the content of the field can be searched. */
    searchable?: boolean;
    /**
     * The names that can be used to reference the field in an advanced search. For more information, see [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ).
     */
    clauseNames?: string[];
    scope?: Scope$1;
    schema?: JsonType$2;
}

/** Details about a notification associated with an event. */
interface EventNotification {
    /** Expand options that include additional event notification details in the response. */
    expand?: string;
    /** The ID of the notification. */
    id?: number;
    /** Identifies the recipients of the notification. */
    notificationType?: string;
    /**
     * As a group's name can change, use of `recipient` is recommended. The identifier associated with the
     * `notificationType` value that defines the receiver of the notification, where the receiver isn't implied by
     * `notificationType` value. So, when `notificationType` is:
     *
     * `User` The `parameter` is the user account ID. `Group` The `parameter` is the group name. `ProjectRole` The
     * `parameter` is the project role ID. `UserCustomField` The `parameter` is the ID of the custom field.
     * `GroupCustomField` The `parameter` is the ID of the custom field.
     */
    parameter?: string;
    /**
     * The identifier associated with the `notificationType` value that defines the receiver of the notification, where
     * the receiver isn't implied by the `notificationType` value. So, when `notificationType` is:
     *
     * `User`, `recipient` is the user account ID. `Group`, `recipient` is the group ID. `ProjectRole`, `recipient` is the
     * project role ID. `UserCustomField`, `recipient` is the ID of the custom field. `GroupCustomField`, `recipient` is
     * the ID of the custom field.
     */
    recipient?: string;
    group?: GroupName;
    field?: FieldDetails;
    /** The email address. */
    emailAddress?: string;
    projectRole?: ProjectRole;
    user?: UserDetails$1;
}

/** The response for status request for a running/completed export task. */
interface ExportArchivedIssuesTaskProgress {
    fileUrl?: string;
    payload?: string;
    progress?: number;
    status?: string;
    submittedTime?: string;
    taskId?: string;
}

/** Details about a failed webhook. */
interface FailedWebhook {
    /** The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier` header with the webhook. */
    id: string;
    /** The webhook body. */
    body?: string;
    /** The original webhook destination. */
    url: string;
    /** The time the webhook was added to the list of failed webhooks (that is, the time of the last failed retry). */
    failureTime: number;
}

/** A page of failed webhooks. */
interface FailedWebhooks {
    /** The list of webhooks. */
    values: FailedWebhook[];
    /**
     * The maximum number of items on the page. If the list of values is shorter than this number, then there are no more
     * pages.
     */
    maxResults: number;
    /**
     * The URL to the next page of results. Present only if the request returned at least one result.The next page may be
     * empty at the time of receiving the response, but new failed webhooks may appear in time. You can save the URL to
     * the next page and query for new results periodically (for example, every hour).
     */
    next?: string;
}

/** Information about the most recent use of a field. */
interface FieldLastUsed {
    /**
     * Last used value type:
     *
     * _TRACKED_: field is tracked and a last used date is available. _NOT_TRACKED_: field is not tracked, last used date
     * is not available. _NO_INFORMATION_: field is tracked, but no last used date is available.
     */
    type?: string;
    /** The date when the value of the field last changed. */
    value?: string;
}

/** Details of a field. */
interface Field {
    /** The ID of the field. */
    id: string;
    /** The name of the field. */
    name: string;
    schema: JsonType$2;
    /** The description of the field. */
    description?: string;
    /** The key of the field. */
    key?: string;
    /** Whether the field is locked. */
    isLocked?: boolean;
    /** Whether the field is shown on screen or not. */
    isUnscreenable?: boolean;
    /** The searcher key of the field. Returned for custom fields. */
    searcherKey?: string;
    /** Number of screens where the field is used. */
    screensCount?: number;
    /** Number of contexts where the field is used. */
    contextsCount?: number;
    lastUsed?: FieldLastUsed;
}

/** Identifier for a field for example FIELD_ID. */
interface FieldIdentifierObject {
    identifier?: {};
    type: string;
}

/** Details of field associations with projects. */
interface FieldAssociationsRequest {
    /** Contexts to associate/unassociate the fields with. */
    associationContexts: AssociationContextObject[];
    /** Fields to associate/unassociate with projects. */
    fields: FieldIdentifierObject[];
}

/** Details of a field configuration. */
interface FieldConfiguration {
    /** The ID of the field configuration. */
    id: number;
    /** The name of the field configuration. */
    name: string;
    /** The description of the field configuration. */
    description: string;
    /** Whether the field configuration is the default. */
    isDefault?: boolean;
}

/** Details of a field configuration. */
interface FieldConfigurationDetails {
    /** The name of the field configuration. Must be unique. */
    name: string;
    /** The description of the field configuration. */
    description?: string;
}

/** The field configuration for an issue type. */
interface FieldConfigurationIssueTypeItem {
    /** The ID of the field configuration scheme. */
    fieldConfigurationSchemeId: string;
    /**
     * The ID of the issue type or _default_. When set to _default_ this field configuration issue type item applies to
     * all issue types without a field configuration.
     */
    issueTypeId: string;
    /** The ID of the field configuration. */
    fieldConfigurationId: string;
}

/** A field within a field configuration. */
interface FieldConfigurationItem {
    /** The ID of the field within the field configuration. */
    id: string;
    /** The description of the field within the field configuration. */
    description?: string;
    /** Whether the field is hidden in the field configuration. */
    isHidden?: boolean;
    /** Whether the field is required in the field configuration. */
    isRequired?: boolean;
    /** The renderer type for the field within the field configuration. */
    renderer?: string;
}

/** Details of field configuration items. */
interface FieldConfigurationItemsDetails {
    /** Details of fields in a field configuration. */
    fieldConfigurationItems: FieldConfigurationItem[];
}

/** Details of a field configuration scheme. */
interface FieldConfigurationScheme {
    /** The ID of the field configuration scheme. */
    id: string;
    /** The name of the field configuration scheme. */
    name: string;
    /** The description of the field configuration scheme. */
    description?: string;
}

/** Associated field configuration scheme and project. */
interface FieldConfigurationSchemeProjectAssociation {
    /**
     * The ID of the field configuration scheme. If the field configuration scheme ID is `null`, the operation assigns the
     * default field configuration scheme.
     */
    fieldConfigurationSchemeId?: string;
    /** The ID of the project. */
    projectId: string;
}

/** Project list with assigned field configuration schema. */
interface FieldConfigurationSchemeProjects {
    fieldConfigurationScheme?: FieldConfigurationScheme;
    /** The IDs of projects using the field configuration scheme. */
    projectIds: string[];
}

/** The metadata describing an issue field for createmeta. */
interface FieldCreateMetadata {
    /** The list of values allowed in the field. */
    allowedValues?: unknown[];
    /** The URL that can be used to automatically complete the field. */
    autoCompleteUrl?: string;
    /** The configuration properties. */
    configuration?: unknown;
    /** The default value of the field. */
    defaultValue?: unknown;
    /** The field id. */
    fieldId: string;
    /** Whether the field has a default value. */
    hasDefaultValue?: boolean;
    /** The key of the field. */
    key: string;
    /** The name of the field. */
    name: string;
    /** The list of operations that can be performed on the field. */
    operations: string[];
    /** Whether the field is required. */
    required: boolean;
    schema?: JsonType$2;
}

/** Details of a field that can be used in advanced searches. */
interface FieldReferenceData {
    /** The field identifier. */
    value?: string;
    /**
     * The display name contains the following:
     *
     * For system fields, the field name. For example, `Summary`. for collapsed custom fields, the field name followed by
     * a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`. for other custom
     * fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`.
     */
    displayName?: string;
    /** Whether the field can be used in a query's `ORDER BY` clause. */
    orderable?: string;
    /** Whether the content of this field can be searched. */
    searchable?: string;
    /** Whether this field has been deprecated. */
    deprecated?: string;
    /** The searcher key of the field, only passed when the field is deprecated. */
    deprecatedSearcherKey?: string;
    /** Whether the field provide auto-complete suggestions. */
    auto?: string;
    /** If the item is a custom field, the ID of the custom field. */
    cfid?: string;
    /** The valid search operators for the field. */
    operators?: string[];
    /** The data types of items in the field. */
    types?: string[];
}

/**
 * A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the
 * projects that the filter is shared with.
 */
interface UserList {
    /** The number of items on the page. */
    size?: number;
    /** The list of items. */
    items?: User$2[];
    /** The maximum number of results that could be on the page. */
    'max-results'?: number;
    /** The index of the first item returned on the page. */
    'start-index'?: number;
    /** The index of the last item returned on the page. */
    'end-index'?: number;
}

/** Details of a user or group subscribing to a filter. */
interface FilterSubscription {
    /** The ID of the filter subscription. */
    id?: number;
    user?: User$2;
    group?: GroupName;
}

/** A paginated list of subscriptions to a filter. */
interface FilterSubscriptionsList {
    /** The number of items on the page. */
    size?: number;
    /** The list of items. */
    items?: FilterSubscription[];
    /** The maximum number of results that could be on the page. */
    'max-results'?: number;
    /** The index of the first item returned on the page. */
    'start-index'?: number;
    /** The index of the last item returned on the page. */
    'end-index'?: number;
}

/** Details about a filter. */
interface Filter {
    /**
     * @experimental [Experimental] Approximate last used time. Returns the date and time when the filter was last used. Returns `null`
     * if the filter hasn't been used after tracking was enabled. For performance reasons, timestamps aren't updated in
     * real time and therefore may not be exactly accurate.
     */
    approximateLastUsed?: string;
    /** A description of the filter. */
    description?: string;
    /** The groups and projects that can edit the filter. */
    editPermissions?: SharePermission[];
    /** Whether the filter is selected as a favorite. */
    favourite?: boolean;
    /** The count of how many users have selected this filter as a favorite, including the filter owner. */
    favouritedCount?: number;
    /** The unique identifier for the filter. */
    id?: string;
    /** The JQL query for the filter. For example, _project = SSP AND issuetype = Bug_. */
    jql?: string;
    /** The name of the filter. Must be unique. */
    name: string;
    owner?: User$2;
    /**
     * A URL to view the filter results in Jira, using the [Search for issues using
     * JQL](#api-rest-api-3-filter-search-get) operation with the filter's JQL string to return the filter results. For
     * example, _https://your-domain.atlassian.net/rest/api/3/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug_.
     */
    searchUrl?: string;
    /** The URL of the filter. */
    self?: string;
    /** The groups and projects that the filter is shared with. */
    sharePermissions?: SharePermission[];
    sharedUsers?: UserList;
    subscriptions?: FilterSubscriptionsList;
    /**
     * A URL to view the filter results in Jira, using the ID of the filter. For example,
     * _https://your-domain.atlassian.net/issues/?filter=10100_.
     */
    viewUrl?: string;
}

/** Details of a filter. */
interface FilterDetails {
    /** Expand options that include additional filter details in the response. */
    expand?: string;
    /** The URL of the filter. */
    self?: string;
    /** The unique identifier for the filter. */
    id?: string;
    /** The name of the filter. */
    name: string;
    /** The description of the filter. */
    description?: string;
    owner?: User$2;
    /** The JQL query for the filter. For example, _project = SSP AND issuetype = Bug_. */
    jql?: string;
    /**
     * A URL to view the filter results in Jira, using the ID of the filter. For example,
     * _https://your-domain.atlassian.net/issues/?filter=10100_.
     */
    viewUrl?: string;
    /**
     * A URL to view the filter results in Jira, using the [Search for issues using
     * JQL](#api-rest-api-3-filter-search-get) operation with the filter's JQL string to return the filter results. For
     * example, _https://your-domain.atlassian.net/rest/api/3/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug_.
     */
    searchUrl?: string;
    /** Whether the filter is selected as a favorite by any users, not including the filter owner. */
    favourite?: boolean;
    /** The count of how many users have selected this filter as a favorite, including the filter owner. */
    favouritedCount?: number;
    /**
     * The groups and projects that the filter is shared with. This can be specified when updating a filter, but not when
     * creating a filter.
     */
    sharePermissions?: SharePermission[];
    /**
     * The groups and projects that can edit the filter. This can be specified when updating a filter, but not when
     * creating a filter.
     */
    editPermissions?: SharePermission[];
    /** The users that are subscribed to the filter. */
    subscriptions?: FilterSubscription[];
}

/** A group label. */
interface GroupLabel {
    /** The group label name. */
    text?: string;
    /** The title of the group label. */
    title?: string;
    /** The type of the group label. */
    type?: string;
}

/** A group found in a search. */
interface FoundGroup {
    /** The name of the group. The name of a group is mutable, to reliably identify a group use ``groupId`.` */
    name?: string;
    /** The group name with the matched query string highlighted with the HTML bold tag. */
    html?: string;
    labels?: GroupLabel[];
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products. For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_.
     */
    groupId?: string;
}

/**
 * The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched
 * groups.
 */
interface FoundGroups {
    /** Header text indicating the number of groups in the response and the total number of groups found in the search. */
    header?: string;
    /** The total number of groups found in the search. */
    total?: number;
    groups?: FoundGroup[];
}

/** A user found in a search. */
interface UserPickerUser {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This property is no longer available . See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /**
     * This property is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /**
     * The display name, email address, and key of the user with the matched query string highlighted with the HTML bold
     * tag.
     */
    html?: string;
    /** The display name of the user. Depending on the user’s privacy setting, this may be returned as null. */
    displayName?: string;
    /** The avatar URL of the user. */
    avatarUrl?: string;
}

/**
 * The list of users found in a search, including header text (Showing X of Y matching users) and total of matched
 * users.
 */
interface FoundUsers {
    users?: UserPickerUser[];
    /** The total number of users found in the search. */
    total?: number;
    /** Header text indicating the number of users in the response and the total number of users found in the search. */
    header?: string;
}

/** List of users and groups found in a search. */
interface FoundUsersAndGroups {
    users?: FoundUsers;
    groups?: FoundGroups;
}

/** Details of functions that can be used in advanced searches. */
interface FunctionReferenceData {
    /** The function identifier. */
    value?: string;
    /** The display name of the function. */
    displayName?: string;
    /** Whether the function can take a list of arguments. */
    isList?: string;
    /** The data types returned by the function. */
    types?: string[];
}

interface GetAtlassianTeamResponse {
    /** The capacity for the Atlassian team. */
    capacity?: number;
    /** The Atlassian team ID. */
    id: string;
    /** The ID of the issue source for the Atlassian team. */
    issueSourceId?: number;
    /** The planning style for the Atlassian team. This is "Scrum" or "Kanban". */
    planningStyle: 'Scrum' | 'Kanban' | string;
    /** The sprint length for the Atlassian team. */
    sprintLength?: number;
}

interface GetCrossProjectReleaseResponse {
    /** The cross-project release name. */
    name?: string;
    /** The IDs of the releases included in the cross-project release. */
    releaseIds?: number[];
}

interface GetCustomFieldResponse {
    /** The custom field ID. */
    customFieldId: number;
    /** Allows filtering issues based on their values for the custom field. */
    filter?: boolean;
}

interface GetDateFieldResponse {
    /** A date custom field ID. This is returned if the type is "DateCustomField". */
    dateCustomFieldId?: number;
    /** The date field type. This is "DueDate", "TargetStartDate", "TargetEndDate" or "DateCustomField". */
    type: 'DueDate' | 'TargetStartDate' | 'TargetEndDate' | 'DateCustomField' | string;
}

interface GetExclusionRulesResponse {
    /** The IDs of the issues excluded from the plan. */
    issueIds?: number[];
    /** The IDs of the issue types excluded from the plan. */
    issueTypeIds?: number[];
    /** Issues completed this number of days ago are excluded from the plan. */
    numberOfDaysToShowCompletedIssues: number;
    /** The IDs of the releases excluded from the plan. */
    releaseIds?: number[];
    /** The IDs of the work status categories excluded from the plan. */
    workStatusCategoryIds?: number[];
    /** The IDs of the work statuses excluded from the plan. */
    workStatusIds?: number[];
}

interface GetIssueSourceResponse {
    /** The issue source type. This is "Board", "Project" or "Filter". */
    type: 'Board' | 'Project' | 'Filter' | 'Custom' | string;
    /**
     * The issue source value. This is a board ID if the type is "Board", a project ID if the type is "Project" or a
     * filter ID if the type is "Filter".
     */
    value: number;
}

interface GetPermissionHolderResponse {
    /** The permission holder type. This is "Group" or "AccountId". */
    type: 'Group' | 'AccountId' | string;
    /**
     * The permission holder value. This is a group name if the type is "Group" or an account ID if the type is
     * "AccountId".
     */
    value: string;
}

interface GetPermissionResponse {
    holder?: GetPermissionHolderResponse;
    /** The permission type. This is "View" or "Edit". */
    type: 'View' | 'Edit' | string;
}

interface GetPlanOnlyTeamResponse {
    /** The capacity for the plan-only team. */
    capacity?: number;
    /** The plan-only team ID. */
    id: number;
    /** The ID of the issue source for the plan-only team. */
    issueSourceId?: number;
    /** The account IDs of the plan-only team members. */
    memberAccountIds?: string[];
    /** The plan-only team name. */
    name: string;
    /** The planning style for the plan-only team. This is "Scrum" or "Kanban". */
    planningStyle: 'Scrum' | 'Kanban' | string;
    /** The sprint length for the plan-only team. */
    sprintLength?: number;
}

interface GetPlanResponseForPage {
    /** The plan ID. */
    id: string;
    /** The issue sources included in the plan. */
    issueSources?: GetIssueSourceResponse[];
    /** The plan name. */
    name: string;
    /** The plan status. This is "Active", "Trashed" or "Archived". */
    status: 'Active' | 'Trashed' | 'Archived' | string;
}

interface GetSchedulingResponse {
    /** The dependencies for the plan. This is "Sequential" or "Concurrent". */
    dependencies: 'Sequential' | 'Concurrent' | string;
    endDate?: GetDateFieldResponse;
    /** The estimation unit for the plan. This is "StoryPoints", "Days" or "Hours". */
    estimation: 'StoryPoints' | 'Days' | 'Hours' | string;
    /** The inferred dates for the plan. This is "None", "SprintDates" or "ReleaseDates". */
    inferredDates: 'None' | 'SprintDates' | 'ReleaseDates' | string;
    startDate?: GetDateFieldResponse;
}

interface GetTeamResponseForPage {
    /** The team ID. */
    id: string;
    /** The team name. This is returned if the type is "PlanOnly". */
    name?: string;
    /** The team type. This is "PlanOnly" or "Atlassian". */
    type: 'PlanOnly' | 'Atlassian' | string;
}

interface GlobalScope {
    /**
     * Defines the behavior of the option in the global context.If notSelectable is set, the option cannot be set as the
     * field's value. This is useful for archiving an option that has previously been selected but shouldn't be used
     * anymore.If defaultValue is set, the option is selected by default.
     */
    attributes?: string[];
}

/**
 * A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example,
 * `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40.
 */
interface PagedListUserDetailsApplicationUser {
    /** The number of items on the page. */
    size?: number;
    /** The list of items. */
    items?: UserDetails$1[];
    /** The maximum number of results that could be on the page. */
    'max-results'?: number;
    /** The index of the first item returned on the page. */
    'start-index'?: number;
    /** The index of the last item returned on the page. */
    'end-index'?: number;
}

interface Group$1 {
    /** The name of group. */
    name?: string;
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products. For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_.
     */
    groupId?: string;
    /** The URL for these group details. */
    self?: string;
    users?: PagedListUserDetailsApplicationUser;
    /** Expand options that include additional group details in the response. */
    expand?: string;
}

/** Details about a group. */
interface GroupDetails {
    /** The name of the group. */
    name?: string;
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products. For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_.
     */
    groupId?: string;
}

/**
 * An icon. If no icon is defined:*
 *
 * - For a status icon, no status icon displays in Jira.
 * - For the remote object icon, the default link icon displays in Jira.
 */
interface Icon {
    /** The URL of an icon that displays at 16x16 pixel in Jira. */
    url16x16?: string;
    /**
     * The title of the icon. This is used as follows:
     *
     * For a status icon it is used as a tooltip on the icon. If not set, the status icon doesn't display a tooltip in
     * Jira. For the remote object icon it is used in conjunction with the application name to display a tooltip for the
     * link's icon. The tooltip takes the format "[application name] icon title". Blank itemsare excluded from the tooltip
     * title. If both items are blank, the icon tooltop displays as "Web Link".
     */
    title?: string;
    /** The URL of the tooltip, used only for a status icon. If not set, the status icon in Jira is not clickable. */
    link?: string;
}

interface Id {
    /**
     * The ID of the permission scheme to associate with the project. Use the [Get all permission
     * schemes](#api-rest-api-3-permissionscheme-get) resource to get a list of permission scheme IDs.
     */
    id: number;
}

interface IdOrKey {
    /** The ID of the referenced item. */
    id?: number;
    /** The key of the referenced item. */
    key?: string;
}

interface IdSearchRequest {
    /** A [JQL](https://confluence.atlassian.com/x/egORLQ) expression. Order by clauses are not allowed. */
    jql?: string;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The continuation token to fetch the next page. This token is provided by the response of this endpoint. */
    nextPageToken?: string;
}

/** Result of your JQL search. Returns a list of issue IDs and a token to fetch the next page if one exists. */
interface IdSearchResults {
    /** The list of issue IDs found by the search. */
    issueIds?: number[];
    /**
     * Continuation token to fetch the next page. If this result represents the last or the only page this token will be
     * null.
     */
    nextPageToken?: string;
}

/** Number of archived/unarchived issues and list of errors that occurred during the action, if any. */
interface IssueArchivalSync {
    errors?: Errors;
    numberOfIssuesUpdated?: number;
}

/** List of Issue Ids Or Keys that are to be archived or unarchived */
interface IssueArchivalSyncRequest {
    issueIdsOrKeys: string[];
}

/** Issue Bulk Delete Payload */
interface IssueBulkDeletePayload {
    /**
     * List of issue IDs or keys which are to be bulk deleted. These IDs or keys can be from different projects and issue
     * types.
     */
    selectedIssueIdsOrKeys: string[];
    /**
     * A boolean value that indicates whether to send a bulk change notification when the issues are being deleted.
     *
     * If `true`, dispatches a bulk notification email to users about the updates.
     */
    sendBulkNotification?: boolean;
}

interface JiraSelectedOptionField {
    optionId?: number;
}

interface JiraCascadingSelectField {
    childOptionValue?: JiraSelectedOptionField;
    fieldId: string;
    parentOptionValue: JiraSelectedOptionField;
}

interface JiraNumberField {
    fieldId: string;
    value?: number;
}

interface JiraColorInput {
    name: string;
}

interface JiraColorField {
    color: JiraColorInput;
    fieldId: string;
}

interface JiraDateInput {
    formattedDate: string;
}

interface JiraDateField {
    date?: JiraDateInput;
    fieldId: string;
}

interface JiraDateTimeInput {
    formattedDateTime: string;
}

interface JiraDateTimeField {
    dateTime: JiraDateTimeInput;
    fieldId: string;
}

interface JiraIssueTypeField {
    issueTypeId: string;
}

interface JiraLabelsInput {
    name: string;
}

interface JiraLabelsField {
    bulkEditMultiSelectFieldOption: 'ADD' | 'REMOVE' | 'REPLACE' | 'REMOVE_ALL' | string;
    fieldId: string;
    labels: JiraLabelsInput[];
}

interface JiraGroupInput {
    groupName: string;
}

interface JiraMultipleGroupPickerField {
    fieldId: string;
    groups: JiraGroupInput[];
}

interface JiraUserField {
    accountId: string;
}

interface JiraMultipleSelectUserPickerField {
    fieldId: string;
    users?: JiraUserField[];
}

interface JiraMultipleSelectField {
    fieldId: string;
    options: JiraSelectedOptionField[];
}

interface JiraVersionField {
    versionId?: string;
}

interface JiraMultipleVersionPickerField {
    bulkEditMultiSelectFieldOption: 'ADD' | 'REMOVE' | 'REPLACE' | 'REMOVE_ALL' | string;
    fieldId: string;
    versions: JiraVersionField[];
}

interface JiraComponentField {
    componentId: number;
}

interface JiraMultiSelectComponentField {
    bulkEditMultiSelectFieldOption: 'ADD' | 'REMOVE' | 'REPLACE' | 'REMOVE_ALL' | string;
    components: JiraComponentField[];
    fieldId: string;
}

interface JiraDurationField {
    originalEstimateField: string;
}

interface JiraPriorityField {
    priorityId: string;
}

interface JiraRichTextInput {
    adfValue?: unknown;
}

interface JiraRichTextField {
    fieldId: string;
    richText: JiraRichTextInput;
}

interface JiraSingleGroupPickerField {
    fieldId: string;
    group: JiraGroupInput;
}

interface JiraSingleLineTextField {
    fieldId: string;
    text: string;
}

interface JiraSingleSelectUserPickerField {
    fieldId: string;
    user?: JiraUserField;
}

/**
 * Add or clear a single select field:*
 *
 * - To add, specify the option with an `optionId`.
 * - To clear, pass an option with `optionId` as `-1`.
 */
interface JiraSingleSelectField {
    fieldId: string;
    option: JiraSelectedOptionField;
}

interface JiraSingleVersionPickerField {
    fieldId: string;
    version: JiraVersionField;
}

interface JiraTimeTrackingField {
    timeRemaining: string;
}

interface JiraUrlField {
    fieldId: string;
    url: string;
}

interface JiraIssueFields {
    /**
     * Add or clear a cascading select field:
     *
     * - To add, specify `optionId` for both parent and child.
     * - To clear the child, set its `optionId` to null.
     * - To clear both, set the parent's `optionId` to null.
     */
    cascadingSelectFields?: JiraCascadingSelectField[];
    /**
     * Add or clear a number field:
     *
     * - To add, specify a numeric `value`.
     * - To clear, set `value` to `null`.
     */
    clearableNumberFields?: JiraNumberField[];
    /**
     * Add or clear a color field:
     *
     * - To add, specify the color `name`. Available colors are: `purple`, `blue`, `green`, `teal`, `yellow`, `orange`,
     *   `grey`, `dark purple`, `dark blue`, `dark green`, `dark teal`, `dark yellow`, `dark orange`, `dark grey`.
     * - To clear, set the color `name` to an empty string.
     */
    colorFields?: JiraColorField[];
    /**
     * Add or clear a date picker field:
     *
     * - To add, specify the date in `d/mmm/yy` format or ISO format `dd-mm-yyyy`.
     * - To clear, set `formattedDate` to an empty string.
     */
    datePickerFields?: JiraDateField[];
    /**
     * Add or clear the planned start date and time:
     *
     * - To add, specify the date and time in ISO format for `formattedDateTime`.
     * - To clear, provide an empty string for `formattedDateTime`.
     */
    dateTimePickerFields?: JiraDateTimeField[];
    issueType?: JiraIssueTypeField;
    /**
     * Edit a labels field:
     *
     * - Options include `ADD`, `REPLACE`, `REMOVE`, or `REMOVE_ALL` for bulk edits.
     * - To clear labels, use the `REMOVE_ALL` option with an empty `labels` array.
     */
    labelsFields?: JiraLabelsField[];
    /**
     * Add or clear a multi-group picker field:
     *
     * - To add groups, provide an array of groups with `groupName`s.
     * - To clear all groups, use an empty `groups` array.
     */
    multipleGroupPickerFields?: JiraMultipleGroupPickerField[];
    /**
     * Assign or unassign multiple users to/from a field:
     *
     * - To assign, provide an array of user `accountId`s.
     * - To clear, set `users` to `null`.
     */
    multipleSelectClearableUserPickerFields?: JiraMultipleSelectUserPickerField[];
    /**
     * Add or clear a multi-select field:
     *
     * - To add, provide an array of options with `optionId`s.
     * - To clear, use an empty `options` array.
     */
    multipleSelectFields?: JiraMultipleSelectField[];
    /**
     * Edit a multi-version picker field like Fix Versions/Affects Versions:
     *
     * - Options include `ADD`, `REPLACE`, `REMOVE`, or `REMOVE_ALL` for bulk edits.
     * - To clear the field, use the `REMOVE_ALL` option with an empty `versions` array.
     */
    multipleVersionPickerFields?: JiraMultipleVersionPickerField[];
    multiselectComponents?: JiraMultiSelectComponentField;
    originalEstimateField?: JiraDurationField;
    priority?: JiraPriorityField;
    /**
     * Add or clear a rich text field:
     *
     * - To add, provide `adfValue`. Note that rich text fields only support ADF values.
     * - To clear, use an empty `richText` object.
     *
     *   For ADF format details, refer to: [Atlassian Document
     *   Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure).
     */
    richTextFields?: JiraRichTextField[];
    /**
     * Add or clear a single group picker field:
     *
     * - To add, specify the group with `groupName`.
     * - To clear, set `groupName` to an empty string.
     */
    singleGroupPickerFields?: JiraSingleGroupPickerField[];
    /**
     * Add or clear a single line text field:
     *
     * - To add, provide the `text` value.
     * - To clear, set `text` to an empty string.
     */
    singleLineTextFields?: JiraSingleLineTextField[];
    /**
     * Edit assignment for single select user picker fields like Assignee/Reporter:
     *
     * - To assign an issue, specify the user's `accountId`.
     * - To unassign an issue, set `user` to `null`.
     * - For automatic assignment, set `accountId` to `-1`.
     */
    singleSelectClearableUserPickerFields?: JiraSingleSelectUserPickerField[];
    /**
     * Add or clear a single select field:
     *
     * - To add, specify the option with an `optionId`.
     * - To clear, pass an option with `optionId` as `-1`.
     */
    singleSelectFields?: JiraSingleSelectField[];
    /**
     * Add or clear a single version picker field:
     *
     * - To add, specify the version with a `versionId`.
     * - To clear, set `versionId` to `-1`.
     */
    singleVersionPickerFields?: JiraSingleVersionPickerField[];
    timeTrackingField?: JiraTimeTrackingField;
    /**
     * Add or clear a URL field:
     *
     * - To add, provide the `url` with the desired URL value.
     * - To clear, set `url` to an empty string.
     */
    urlFields?: JiraUrlField[];
}

/** Issue Bulk Edit Payload */
interface IssueBulkEditPayload {
    editedFieldsInput?: JiraIssueFields;
    /**
     * List of all the field IDs that are to be bulk edited. Each field ID in this list corresponds to a specific
     * attribute of an issue that is set to be modified in the bulk edit operation. The relevant field ID can be obtained
     * by calling the Bulk Edit Get Fields REST API (documentation available on this page itself).
     */
    selectedActions: string[];
    /**
     * List of issue IDs or keys which are to be bulk edited. These IDs or keys can be from different projects and issue
     * types.
     */
    selectedIssueIdsOrKeys: string[];
    /**
     * A boolean value that indicates whether to send a bulk change notification when the issues are being edited.
     *
     * If `true`, dispatches a bulk notification email to users about the updates.
     */
    sendBulkNotification?: boolean;
}

/** Issue Bulk Move Payload */
interface IssueBulkMovePayload {
    /**
     * A boolean value that indicates whether to send a bulk change notification when the issues are being moved.
     *
     * If `true`, dispatches a bulk notification email to users about the updates.
     */
    sendBulkNotification?: boolean;
    /**
     * An object representing the mapping of issues and data related to destination entities, like fields and statuses,
     * that are required during a bulk move.
     *
     * The key is a string that is created by concatenating the following three entities in order, separated by commas.
     * The format is `<project ID or key>,<issueType ID>,<parent ID or key>`. It should be unique across mappings provided
     * in the payload. If you provide multiple mappings for the same key, only one will be processed. However, the
     * operation won't fail, so the error may be hard to track down.
     *
     * _**Destination project**_ (Required): ID or key of the project to which the issues are being moved. _**Destination
     * issueType**_ (Required): ID of the issueType to which the issues are being moved. _**Destination parent ID or
     * key**_ (Optional): ID or key of the issue which will become the parent of the issues being moved. Only required
     * when the destination issueType is a subtask.
     */
    targetToSourcesMapping?: unknown;
}

/** Issue Bulk Transition Payload */
interface IssueBulkTransitionPayload {
    /**
     * List of objects and each object has two properties:
     *
     * Issues that will be bulk transitioned. TransitionId that corresponds to a specific transition of issues that share
     * the same workflow.
     */
    bulkTransitionInputs: BulkTransitionSubmitInput[];
    /**
     * A boolean value that indicates whether to send a bulk change notification when the issues are being transitioned.
     *
     * If `true`, dispatches a bulk notification email to users about the updates.
     */
    sendBulkNotification?: boolean;
}

/** Issue Bulk Watch Or Unwatch Payload */
interface IssueBulkWatchOrUnwatchPayload {
    /**
     * List of issue IDs or keys which are to be bulk watched or unwatched. These IDs or keys can be from different
     * projects and issue types.
     */
    selectedIssueIdsOrKeys: string[];
}

/** A list of changelog IDs. */
interface IssueChangelogIds {
    /** The list of changelog IDs. */
    changelogIds: number[];
}

interface IssueCommentListRequest {
    /** The list of comment IDs. A maximum of 1000 IDs can be specified. */
    ids: number[];
}

/** Details of the issue creation metadata for an issue type. */
interface IssueTypeIssueCreateMetadata {
    /** The URL of these issue type details. */
    self?: string;
    /** The ID of the issue type. */
    id?: string;
    /** The description of the issue type. */
    description?: string;
    /** The URL of the issue type's avatar. */
    iconUrl?: string;
    /** The name of the issue type. */
    name?: string;
    /** Whether this issue type is used to create subtasks. */
    subtask?: boolean;
    /** The ID of the issue type's avatar. */
    avatarId?: number;
    /** Unique ID for next-gen projects. */
    entityId?: string;
    /** Hierarchy level of the issue type. */
    hierarchyLevel?: number;
    scope?: Scope$1;
    /** Expand options that include additional issue type metadata details in the response. */
    expand?: string;
    /** List of the fields available when creating an issue for the issue type. */
    fields?: unknown;
}

/** Details of the issue creation metadata for a project. */
interface ProjectIssueCreateMetadata {
    /** Expand options that include additional project issue create metadata details in the response. */
    expand?: string;
    /** The URL of the project. */
    self?: string;
    /** The ID of the project. */
    id?: string;
    /** The key of the project. */
    key?: string;
    /** The name of the project. */
    name?: string;
    avatarUrls?: AvatarUrls$2;
    /** List of the issue types supported by the project. */
    issuetypes?: IssueTypeIssueCreateMetadata[];
}

/** The wrapper for the issue creation metadata for a list of projects. */
interface IssueCreateMetadata {
    /** Expand options that include additional project details in the response. */
    expand?: string;
    /** List of projects and their issue creation metadata. */
    projects?: ProjectIssueCreateMetadata[];
}

/**
 * Lists of issues and entity properties. See [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
 */
interface IssueEntityProperties {
    /** A list of entity property IDs. */
    entitiesIds?: number[];
    /** A list of entity property keys and values. */
    properties?: unknown;
}

/**
 * An issue ID with entity property values. See [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
 */
interface IssueEntityPropertiesForMultiUpdate {
    /** The ID of the issue. */
    issueID?: number;
    /** Entity properties to set on the issue. The maximum length of an issue property value is 32768 characters. */
    properties?: unknown;
}

/** Details about an issue event. */
interface IssueEvent {
    /** The ID of the event. */
    id: number;
    /** The name of the event. */
    name: string;
}

interface ProjectScope {
    /** The ID of the project that the option's behavior applies to. */
    id?: number;
    /**
     * Defines the behavior of the option in the project.If notSelectable is set, the option cannot be set as the field's
     * value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If
     * defaultValue is set, the option is selected by default.
     */
    attributes?: string[];
}

interface IssueFieldOptionScope {
    /**
     * Defines the projects in which the option is available and the behavior of the option within each project. Specify
     * one object per project. The behavior of the option in a project context overrides the behavior in the global
     * context.
     */
    projects2?: ProjectScope[];
    global?: GlobalScope;
}

/** Details of the projects the option is available in. */
interface IssueFieldOptionConfiguration {
    scope?: IssueFieldOptionScope;
}

/** Details of the options for a select list issue field. */
interface IssueFieldOption {
    /** The unique identifier for the option. This is only unique within the select field's set of options. */
    id: number;
    /** The option's name, which is displayed in Jira. */
    value: string;
    /**
     * The properties of the object, as arbitrary key-value pairs. These properties can be searched using JQL, if the
     * extractions (see [Issue Field Option Property
     * Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)) are defined
     * in the descriptor for the issue field module.
     */
    properties?: unknown;
    config?: IssueFieldOptionConfiguration;
}

interface IssueFieldOptionCreate {
    /** The option's name, which is displayed in Jira. */
    value: string;
    /**
     * The properties of the option as arbitrary key-value pairs. These properties can be searched using JQL, if the
     * extractions (see https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)
     * are defined in the descriptor for the issue field module.
     */
    properties?: unknown;
    config?: IssueFieldOptionConfiguration;
}

/** Bulk operation filter details. */
interface IssueFilterForBulkPropertyDelete {
    /** List of issues to perform the bulk delete operation on. */
    entityIds?: number[];
    /** The value of properties to perform the bulk operation on. */
    currentValue?: any;
}

interface IssueLimitReport {
    /** A list of ids of issues approaching the limit and their field count */
    issuesApproachingLimit?: unknown;
    /** A list of ids of issues breaching the limit and their field count */
    issuesBreachingLimit?: unknown;
    /** The fields and their defined limits */
    limits?: unknown;
}

/** A list of issue link type beans. */
interface IssueLinkTypes$1 {
    /** The issue link type bean. */
    issueLinkTypes?: IssueLinkType[];
}

/** A list of issue IDs. */
interface IssueList {
    /** The list of issue IDs. */
    issueIds: string[];
}

/** A list of the issues matched to a JQL query or details of errors encountered during matching. */
interface IssueMatchesForJQL {
    /** A list of issue IDs. */
    matchedIssues: number[];
    /** A list of errors. */
    errors: string[];
}

/** A list of matched issues or errors for each JQL query, in the order the JQL queries were passed. */
interface IssueMatches {
    matches: IssueMatchesForJQL[];
}

/** An issue suggested for use in the issue picker auto-completion. */
interface SuggestedIssue {
    /** The ID of the issue. */
    id?: number;
    /** The key of the issue. */
    key?: string;
    /** The key of the issue in HTML format. */
    keyHtml?: string;
    /** The URL of the issue type's avatar. */
    img?: string;
    /** The phrase containing the query string in HTML format, with the string highlighted with HTML bold tags. */
    summary?: string;
    /** The phrase containing the query string, as plain text. */
    summaryText?: string;
}

/** A type of issue suggested for use in auto-completion. */
interface IssuePickerSuggestionsIssueType {
    /** The label of the type of issues suggested for use in auto-completion. */
    label?: string;
    /** If issue suggestions are found, returns a message indicating the number of issues suggestions found and returned. */
    sub?: string;
    /** The ID of the type of issues suggested for use in auto-completion. */
    id?: string;
    /** If no issue suggestions are found, returns a message indicating no suggestions were found, */
    msg?: string;
    /** A list of issues suggested for use in auto-completion. */
    issues?: SuggestedIssue[];
}

/** A list of issues suggested for use in auto-completion. */
interface IssuePickerSuggestions {
    /** A list of issues for an issue type suggested for use in auto-completion. */
    sections?: IssuePickerSuggestionsIssueType[];
}

/** List of issues and JQL queries. */
interface IssuesAndJQLQueries {
    /** A list of JQL queries. */
    jqls: string[];
    /** A list of issue IDs. */
    issueIds: number[];
}

/**
 * Details of a user, group, field, or project role that holds a permission. See [Holder
 * object](../api-group-permission-schemes/#holder-object) in _Get all permission schemes_ for more information.
 */
interface PermissionHolder {
    /** The type of permission holder. */
    type: string;
    /**
     * As a group's name can change, use of `value` is recommended. The identifier associated withthe `type` value that
     * defines the holder of the permission.
     */
    parameter?: string;
    /** The identifier associated with the `type` value that defines the holder of the permission. */
    value?: string;
    /** Expand options that include additional permission holder details in the response. */
    expand?: string;
}

/** Issue security level member. */
interface IssueSecurityLevelMember {
    /** The ID of the issue security level member. */
    id: number;
    /** The ID of the issue security level. */
    issueSecurityLevelId: number;
    holder?: PermissionHolder;
}

/** Details about a project using security scheme mapping. */
interface IssueSecuritySchemeToProjectMapping {
    issueSecuritySchemeId?: string;
    projectId?: string;
}

/** The description of the page of issues loaded by the provided JQL query. */
interface IssuesJqlMetaData {
    /** The index of the first issue. */
    startAt: number;
    /** The maximum number of issues that could be loaded in this evaluation. */
    maxResults: number;
    /** The number of issues that were loaded in this evaluation. */
    count: number;
    /** The total number of issues the JQL returned. */
    totalCount: number;
    /** Any warnings related to the JQL query. Present only if the validation mode was set to `warn`. */
    validationWarnings?: string[];
}

/** Meta data describing the `issues` context variable. */
interface IssuesMeta {
    jql?: IssuesJqlMetaData;
}

/** Details of an issue update request. */
interface IssueUpdateDetails {
    transition?: IssueTransition$2;
    /**
     * List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field
     * provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are
     * required, use `update`. Fields included in here cannot be included in `update`.
     */
    fields?: Partial<Omit<Fields$1, 'description'> & {
        description: string | Document;
    }> | any;
    /**
     * A Map containing the field field name and a list of operations to perform on the issue screen field. Note that
     * fields included in here cannot be included in `fields`.
     */
    update?: unknown;
    historyMetadata?: HistoryMetadata;
    /** Details of issue properties to be add or update. */
    properties?: EntityProperty$1[];
}

interface IssuesUpdate {
    issueUpdates?: IssueUpdateDetails[];
}

interface IssueTypeCreate {
    /** The unique name for the issue type. The maximum length is 60 characters. */
    name: string;
    /** The description of the issue type. */
    description?: string;
    /**
     * The hierarchy level of the issue type. Use:
     *
     * - `-1` for Subtask.
     * - `0` for Base.
     *
     * @default 0
     */
    hierarchyLevel?: number;
}

/** The list of issue type IDs. */
interface IssueTypeIds {
    /** The list of issue type IDs. */
    issueTypeIds: string[];
}

/** The list of issue type IDs to be removed from the field configuration scheme. */
interface IssueTypeIdsToRemove {
    /**
     * The list of issue type IDs. Must contain unique values not longer than 255 characters and not be empty. Maximum of
     * 100 IDs.
     */
    issueTypeIds: string[];
}

/** Details of an issue type. */
interface IssueTypeInfo {
    /** The ID of the issue type. */
    id?: number;
    /** The name of the issue type. */
    name?: string;
    /** The avatar of the issue type. */
    avatarId?: number;
}

/** Details of an issue type scheme. */
interface IssueTypeScheme {
    /** The ID of the issue type scheme. */
    id: string;
    /** The name of the issue type scheme. */
    name: string;
    /** The description of the issue type scheme. */
    description?: string;
    /** The ID of the default issue type of the issue type scheme. */
    defaultIssueTypeId?: string;
    /** Whether the issue type scheme is the default. */
    isDefault?: boolean;
}

/** Details of an issue type scheme and its associated issue types. */
interface IssueTypeSchemeDetails {
    /** The name of the issue type scheme. The name must be unique. The maximum length is 255 characters. */
    name: string;
    /** The description of the issue type scheme. The maximum length is 4000 characters. */
    description?: string;
    /** The ID of the default issue type of the issue type scheme. This ID must be included in `issueTypeIds`. */
    defaultIssueTypeId?: string;
    /** The list of issue types IDs of the issue type scheme. At least one standard issue type ID is required. */
    issueTypeIds: string[];
}

/** The ID of an issue type scheme. */
interface IssueTypeSchemeID {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: string;
}

/** Issue type scheme item. */
interface IssueTypeSchemeMapping {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: string;
    /** The ID of the issue type. */
    issueTypeId: string;
}

/** Details of the association between an issue type scheme and project. */
interface IssueTypeSchemeProjectAssociation {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: string;
    /** The ID of the project. */
    projectId: string;
}

/** Issue type scheme with a list of the projects that use it. */
interface IssueTypeSchemeProjects {
    issueTypeScheme?: IssueTypeScheme;
    /** The IDs of the projects using the issue type scheme. */
    projectIds: string[];
}

/** Details of the name, description, and default issue type for an issue type scheme. */
interface IssueTypeSchemeUpdateDetails {
    /** The name of the issue type scheme. The name must be unique. The maximum length is 255 characters. */
    name?: string;
    /** The description of the issue type scheme. The maximum length is 4000 characters. */
    description?: string;
    /** The ID of the default issue type of the issue type scheme. */
    defaultIssueTypeId?: string;
}

/** Details of an issue type screen scheme. */
interface IssueTypeScreenScheme {
    /** The ID of the issue type screen scheme. */
    id: string;
    /** The name of the issue type screen scheme. */
    name: string;
    /** The description of the issue type screen scheme. */
    description?: string;
}

/** The IDs of the screen schemes for the issue type IDs. */
interface IssueTypeScreenSchemeMapping {
    /**
     * The ID of the issue type or _default_. Only issue types used in classic projects are accepted. An entry for
     * _default_ must be provided and defines the mapping for all issue types without a screen scheme.
     */
    issueTypeId: string;
    /** The ID of the screen scheme. Only screen schemes used in classic projects are accepted. */
    screenSchemeId: string;
}

/** The details of an issue type screen scheme. */
interface IssueTypeScreenSchemeDetails {
    /** The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters. */
    name: string;
    /** The description of the issue type screen scheme. The maximum length is 255 characters. */
    description?: string;
    /**
     * The IDs of the screen schemes for the issue type IDs and _default_. A _default_ entry is required to create an
     * issue type screen scheme, it defines the mapping for all issue types without a screen scheme.
     */
    issueTypeMappings: IssueTypeScreenSchemeMapping[];
}

/** The ID of an issue type screen scheme. */
interface IssueTypeScreenSchemeId {
    /** The ID of the issue type screen scheme. */
    id: string;
}

/** The screen scheme for an issue type. */
interface IssueTypeScreenSchemeItem {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
    /**
     * The ID of the issue type or _default_. Only issue types used in classic projects are accepted. When creating an
     * issue screen scheme, an entry for _default_ must be provided and defines the mapping for all issue types without a
     * screen scheme. Otherwise, a _default_ entry can't be provided.
     */
    issueTypeId: string;
    /** The ID of the screen scheme. */
    screenSchemeId: string;
}

/** A list of issue type screen scheme mappings. */
interface IssueTypeScreenSchemeMappingDetails {
    /**
     * The list of issue type to screen scheme mappings. A _default_ entry cannot be specified because a default entry is
     * added when an issue type screen scheme is created.
     */
    issueTypeMappings: IssueTypeScreenSchemeMapping[];
}

/** Associated issue type screen scheme and project. */
interface IssueTypeScreenSchemeProjectAssociation {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId?: string;
    /** The ID of the project. */
    projectId?: string;
}

/** Issue type screen scheme with a list of the projects that use it. */
interface IssueTypeScreenSchemesProjects {
    issueTypeScreenScheme?: IssueTypeScreenScheme;
    /** The IDs of the projects using the issue type screen scheme. */
    projectIds: string[];
}

/** Details of an issue type screen scheme. */
interface IssueTypeScreenSchemeUpdateDetails {
    /** The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters. */
    name?: string;
    /** The description of the issue type screen scheme. The maximum length is 255 characters. */
    description?: string;
}

/** Details about the mapping between issue types and a workflow. */
interface IssueTypesWorkflowMapping {
    /** The name of the workflow. Optional if updating the workflow-issue types mapping. */
    workflow?: string;
    /** The list of issue type IDs. */
    issueTypes?: string[];
    /** Whether the workflow is the default workflow for the workflow scheme. */
    defaultMapping?: boolean;
    /**
     * Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated
     * with the new workflow-issue types mapping. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

/** Mapping of an issue type to a context. */
interface IssueTypeToContextMapping {
    /** The ID of the context. */
    contextId: string;
    /** The ID of the issue type. */
    issueTypeId?: string;
    /** Whether the context is mapped to any issue type. */
    isAnyIssueType?: boolean;
}

interface IssueTypeUpdate {
    /** The unique name for the issue type. The maximum length is 60 characters. */
    name?: string;
    /** The description of the issue type. */
    description?: string;
    /** The ID of an issue type avatar. */
    avatarId?: number;
}

/** Status details for an issue type. */
interface IssueTypeWithStatus {
    /** The URL of the issue type's status details. */
    self: string;
    /** The ID of the issue type. */
    id: string;
    /** The name of the issue type. */
    name: string;
    /** Whether this issue type represents subtasks. */
    subtask: boolean;
    /** List of status details for the issue type. */
    statuses: StatusDetails$1[];
}

/** Details about the mapping between an issue type and a workflow. */
interface IssueTypeWorkflowMapping {
    /** The ID of the issue type. Not required if updating the issue type-workflow mapping. */
    issueType?: string;
    /** The name of the workflow. */
    workflow?: string;
    /**
     * Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the
     * workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types
     * mapping.
     */
    updateDraftIfNeeded?: boolean;
}

/**
 * The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all
 * issues returned by the JQL query are loaded, only those described by the `nextPageToken` and `maxResults` properties.
 * This bean will be replacing JexpJqlIssues bean as part of new `evaluate` endpoint
 */
interface JexpEvaluateCtxJqlIssues {
    /**
     * The maximum number of issues to return from the JQL query. max results value considered may be lower than the
     * number specific here.
     */
    maxResults?: number;
    /**
     * The token for a page to fetch that is not the first page. The first page has a `nextPageToken` of `null`. Use the
     * `nextPageToken` to fetch the next page of issues.
     */
    nextPageToken?: string;
    /** The JQL query, required to be bounded. Additionally, `orderBy` clause can contain a maximum of 7 fields */
    query?: string;
}

/**
 * The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. This
 * bean will be replacing `JexpIssues` bean as part of new `evaluate` endpoint
 */
interface JexpEvaluateCtxIssues {
    jql?: JexpEvaluateCtxJqlIssues;
}

/**
 * The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all
 * issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To
 * determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated,
 * inspect `meta.issues.jql.count` in the response.
 */
interface JexpJqlIssues {
    /** The JQL query. */
    query?: string;
    /** The index of the first issue to return from the JQL query. */
    startAt?: number;
    /**
     * The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to
     * ensure the maximum value has not been exceeded.
     */
    maxResults?: number;
    /** Determines how to validate the JQL query and treat the validation results. */
    validation?: string;
}

/** The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. */
interface JexpIssues {
    jql?: JexpJqlIssues;
}

/** Details about the complexity of the analysed Jira expression. */
interface JiraExpressionComplexity {
    /**
     * Information that can be used to determine how many [expensive
     * operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) the
     * evaluation of the expression will perform. This information may be a formula or number. For example:
     *
     * `issues.map(i => i.comments)` performs as many expensive operations as there are issues on the issues list. So this
     * parameter returns `N`, where `N` is the size of issue list. `new Issue(10010).comments` gets comments for one
     * issue, so its complexity is `2` (`1` to retrieve issue 10010 from the database plus `1` to get its comments).
     */
    expensiveOperations: string;
    /** Variables used in the formula, mapped to the parts of the expression they refer to. */
    variables?: unknown;
}

/**
 * Details about syntax and type errors. The error details apply to the entire expression, unless the object includes:*
 *
 * - `line` and `column`
 * - `expression`
 */
interface JiraExpressionValidationError {
    /** The text line in which the error occurred. */
    line?: number;
    /** The text column in which the error occurred. */
    column?: number;
    /** The part of the expression in which the error occurred. */
    expression?: string;
    /** Details about the error. */
    message: string;
    /** The error type. */
    type: string;
}

/** Details about the analysed Jira expression. */
interface JiraExpressionAnalysis {
    /** The analysed expression. */
    expression: string;
    /** A list of validation errors. Not included if the expression is valid. */
    errors?: JiraExpressionValidationError[];
    /**
     * Whether the expression is valid and the interpreter will evaluate it. Note that the expression may fail at runtime
     * (for example, if it executes too many expensive operations).
     */
    valid: boolean;
    /** EXPERIMENTAL. The inferred type of the expression. */
    type?: string;
    complexity?: JiraExpressionComplexity;
}

interface JiraExpressionEvalContext {
    issue?: IdOrKey;
    issues?: JexpIssues;
    project?: IdOrKey;
    /** The ID of the sprint that is available under the `sprint` variable when evaluating the expression. */
    sprint?: number;
    /** The ID of the board that is available under the `board` variable when evaluating the expression. */
    board?: number;
    /** The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression. */
    serviceDesk?: number;
    /**
     * The ID of the customer request that is available under the `customerRequest` variable when evaluating the
     * expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will
     * have a different type.
     */
    customerRequest?: number;
    /**
     * Custom context variables and their types. These variable types are available for use in a custom context:
     *
     * `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     * specified as an Atlassian account ID. `issue`: An
     * [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID
     * or key. All the fields of the issue object are available in the Jira expression. `json`: A JSON object containing
     * custom content. `list`: A JSON list of `user`, `issue`, or `json` variable types.
     */
    custom?: CustomContextVariable[];
}

interface JiraExpressionEvalRequest {
    /** The Jira expression to evaluate. */
    expression: string;
    context?: JiraExpressionEvalContext;
}

interface JiraExpressionEvaluateContext {
    /** The ID of the board that is available under the `board` variable when evaluating the expression. */
    board?: number;
    /**
     * Custom context variables and their types. These variable types are available for use in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     */
    custom?: CustomContextVariable[];
    /**
     * The ID of the customer request that is available under the `customerRequest` variable when evaluating the
     * expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will
     * have a different type.
     */
    customerRequest?: number;
    issue?: IdOrKey;
    issues?: JexpEvaluateCtxIssues;
    project?: IdOrKey;
    /** The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression. */
    serviceDesk?: number;
    /** The ID of the sprint that is available under the `sprint` variable when evaluating the expression. */
    sprint?: number;
}
/**
 * @deprecated Use {@link JiraExpressionEvaluateContext} instead. This type is retained for backward compatibility and
 *   will be removed in a future version.
 */
type JiraExpressionEvaluateContextBean = JiraExpressionEvaluateContext;

interface JiraExpressionEvaluationMetaData {
    complexity?: JiraExpressionsComplexity;
    issues?: IssuesMeta;
}

interface JiraExpressionEvalUsingEnhancedSearchRequest {
    /** The Jira expression to evaluate. */
    expression: string;
    /** The context in which the Jira expression is evaluated. */
    context?: JiraExpressionEvaluateContext;
}

/** Details of Jira expressions for analysis. */
interface JiraExpressionForAnalysis {
    /** The list of Jira expressions to analyse. */
    expressions: string[];
    /**
     * Context variables and their types. The type checker assumes that [common context
     * variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables), such as
     * `issue` or `project`, are available in context and sets their type. Use this property to override the default types
     * or provide details of new variables.
     */
    contextVariables?: unknown;
}

/** The result of evaluating a Jira expression. */
interface JiraExpressionResult {
    /**
     * The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some
     * expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if
     * that's the case a simple string representation is returned. These string representations should not be relied upon
     * and may change without notice.)
     */
    value: any;
    meta?: JiraExpressionEvaluationMetaData;
}

/** Details about the analysed Jira expression. */
interface JiraExpressionsAnalysis {
    /** The results of Jira expressions analysis. */
    results: JiraExpressionAnalysis[];
}

/** Project ID details. */
interface ProjectId {
    /** The ID of the project. */
    id: string;
}

/**
 * @deprecated See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298)
 *   for details.*
 *
 *   Use the optional `workflows.usages` expand to get additional information about the projects and issue types
 *   associated with the requested workflows.
 */
interface ProjectIssueTypes {
    project?: ProjectId;
    /** IDs of the issue types */
    issueTypes?: string[];
}

/** The scope of the status. */
interface StatusScope {
    /** The scope of the status. `GLOBAL` for company-managed projects and `PROJECT` for team-managed projects. */
    type: string;
    project?: ProjectId;
}

/** Details of a status. */
interface JiraStatus {
    /** The description of the status. */
    description?: string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name?: string;
    scope?: StatusScope;
    /** The category of the status. */
    statusCategory?: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
    /**
     * @deprecated See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298) for details.
     *
     *   Projects and issue types where the status is used. Only available if the `usages` expand is requested.
     */
    usages?: ProjectIssueTypes[];
}

/** The scope of the workflow. */
interface WorkflowScope {
    project?: ProjectId;
    /** The scope of the workflow. `GLOBAL` for company-managed projects and `PROJECT` for team-managed projects. */
    type: 'PROJECT' | 'GLOBAL' | string;
}

/** The starting point for the statuses in the workflow. */
interface WorkflowLayout {
    /** The x axis location. */
    x?: number;
    /** The y axis location. */
    y?: number;
}

/** The x and y location of the status in the workflow. */
interface WorkflowStatusLayout {
    /** The x axis location. */
    x?: number;
    /** The y axis location. */
    y?: number;
}

/** The statuses referenced in the workflow. */
interface WorkflowReferenceStatus {
    approvalConfiguration?: ApprovalConfiguration;
    /** Indicates if the status is deprecated. */
    deprecated?: boolean;
    layout?: WorkflowStatusLayout;
    /** The properties associated with the status. */
    properties?: unknown;
    /** The reference of the status. */
    statusReference?: string;
}

/** The status reference and port that a transition is connected to. */
interface WorkflowStatusAndPort {
    /** The port the transition is connected to this status. */
    port?: number;
    /** The reference of this status. */
    statusReference?: string;
}

/** The statuses the transition can start from, and the mapping of ports between the statuses. */
interface WorkflowTransitionLinks {
    /** The port that the transition starts from. */
    fromPort?: number;
    /** The status that the transition starts from. */
    fromStatusReference?: string;
    /** The port that the transition goes to. */
    toPort?: number;
}

/** The trigger configuration associated with a workflow. */
interface WorkflowTrigger {
    /** The ID of the trigger. */
    id?: string;
    /** The parameters of the trigger. */
    parameters: unknown;
    /** The rule key of the trigger. */
    ruleKey: string;
}

/**
 * The transitions of the workflow. Note that a transition can have either the deprecated `to`/`from` fields or the
 * `toStatusReference`/`links` fields, but never both nor a combination.
 */
interface WorkflowTransitions {
    /** The post-functions of the transition. */
    actions?: WorkflowRuleConfiguration[];
    conditions?: ConditionGroupConfiguration;
    /** The custom event ID of the transition. */
    customIssueEventId?: string;
    /** The description of the transition. */
    description?: string;
    /**
     * The statuses and ports that the transition can start from. This field is deprecated - use
     * `toStatusReference`/`links` instead.
     */
    from?: WorkflowStatusAndPort[];
    /** The ID of the transition. */
    id?: string;
    /** The statuses the transition can start from, and the mapping of ports between the statuses. */
    links?: WorkflowTransitionLinks[];
    /** The name of the transition. */
    name?: string;
    /** The properties of the transition. */
    properties?: unknown;
    to?: WorkflowStatusAndPort;
    /** The status the transition goes to. */
    toStatusReference?: string;
    transitionScreen?: WorkflowRuleConfiguration;
    /** The triggers of the transition. */
    triggers?: WorkflowTrigger[];
    /** The transition type. */
    type?: 'INITIAL' | 'GLOBAL' | 'DIRECTED' | string;
    /** The validators of the transition. */
    validators?: WorkflowRuleConfiguration[];
}

/** Details of a workflow. */
interface JiraWorkflow {
    /** The creation date of the workflow. */
    created?: string;
    /** The description of the workflow. */
    description?: string;
    /** The ID of the workflow. */
    id?: string;
    /** Indicates if the workflow can be edited. */
    isEditable?: boolean;
    /** The name of the workflow. */
    name?: string;
    scope?: WorkflowScope;
    startPointLayout?: WorkflowLayout;
    /** The statuses referenced in this workflow. */
    statuses?: WorkflowReferenceStatus[];
    /** If there is a current [asynchronous task](#async-operations) operation for this workflow. */
    taskId?: string;
    /**
     * The transitions of the workflow. Note that a transition can have either the deprecated `to`/`from` fields or the
     * `toStatusReference`/`links` fields, but never both nor a combination.
     */
    transitions?: WorkflowTransitions[];
    /** The last edited date of the workflow. */
    updated?: string;
    /**
     * @deprecated See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298) for details.
     *
     *   Use the optional `workflows.usages` expand to get additional information about the projects and issue types
     *   associated with the requested workflows.
     */
    usages?: ProjectIssueTypes[];
    version?: DocumentVersion;
}

/** Details of a status. */
interface JiraWorkflowStatus {
    /** The description of the status. */
    description?: string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name?: string;
    scope?: WorkflowScope;
    /** The category of the status. */
    statusCategory?: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
    /** The reference of the status. */
    statusReference?: string;
}

interface JQLCount {
    /** Number of issues matching JQL query. */
    count?: number;
}

interface JQLCountRequest {
    /**
     * A [JQL](https://confluence.atlassian.com/x/egORLQ) expression. For performance reasons, this parameter requires a
     * bounded query. A bounded query is a query with a search restriction.
     */
    jql: string;
}

/** Jql function precomputation. */
interface JqlFunctionPrecomputation {
    /** The list of arguments function was invoked with. */
    arguments?: string[];
    /** The timestamp of the precomputation creation. */
    created?: string;
    /** The error message to be displayed to the user. */
    error?: string;
    /** The field the function was executed against. */
    field?: string;
    /** The function key. */
    functionKey?: string;
    /** The name of the function. */
    functionName?: string;
    /** The id of the precomputation. */
    id?: string;
    /** The operator in context of which function was executed. */
    operator?: string;
    /** The timestamp of the precomputation last update. */
    updated?: string;
    /** The timestamp of the precomputation last usage. */
    used?: string;
    /** The JQL fragment stored as the precomputation. */
    value?: string;
}

/** Request to fetch precomputations by ID. */
interface JqlFunctionPrecomputationGetByIdRequest {
    precomputationIDs?: string[];
}

/** Get precomputations by ID response. */
interface JqlFunctionPrecomputationGetByIdResponse {
    /** List of precomputations that were not found. */
    notFoundPrecomputationIDs?: string[];
    /** The list of precomputations. */
    precomputations?: JqlFunctionPrecomputation[];
}

/** Precomputation id and its new value. */
interface JqlFunctionPrecomputationUpdate {
    id: number;
    value: string;
}

/** List of pairs (id and value) for precomputation updates. */
interface JqlFunctionPrecomputationUpdateRequest {
    values?: JqlFunctionPrecomputationUpdate[];
}

/** The JQL queries to be converted. */
interface JQLPersonalDataMigrationRequest {
    /** A list of queries with user identifiers. Maximum of 100 queries. */
    queryStrings?: string[];
}

/** A list of JQL queries to parse. */
interface JqlQueriesToParse {
    /** A list of queries to parse. */
    queries: string[];
}

/**
 * The JQL query to sanitize for the account ID. If the account ID is null, sanitizing is performed for an anonymous
 * user.
 */
interface JqlQueryToSanitize {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The query to sanitize. */
    query: string;
}

/** The list of JQL queries to sanitize for the given account IDs. */
interface JqlQueriesToSanitize {
    /** The list of JQL queries to sanitize. Must contain unique values. Maximum of 20 queries. */
    queries: JqlQueryToSanitize[];
}

/** A JQL query clause. */
interface JqlQueryClause {
}

/** Details of an entity property. */
interface JqlQueryFieldEntityProperty {
    /** The object on which the property is set. */
    entity: string;
    /** The key of the property. */
    key: string;
    /** The path in the property value to query. */
    path: string;
    /**
     * The type of the property value extraction. Not available if the extraction for the property is not registered on
     * the instance with the [Entity
     * property](https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/) module.
     */
    type?: string;
}

/**
 * A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ)
 * for more information about fields in JQL queries.
 */
interface JqlQueryField {
    /** The name of the field. */
    name: string;
    /** When the field refers to a value in an entity property, details of the entity property value. */
    property?: JqlQueryFieldEntityProperty[];
}

/** An element of the order-by JQL clause. */
interface JqlQueryOrderByClauseElement {
    field: JqlQueryField;
    /** The direction in which to order the results. */
    direction?: string;
}

/** Details of the order-by JQL clause. */
interface JqlQueryOrderByClause {
    /** The list of order-by clause fields and their ordering directives. */
    fields: JqlQueryOrderByClauseElement[];
}

/** A parsed JQL query. */
interface JqlQuery {
    where?: JqlQueryClause;
    orderBy?: JqlQueryOrderByClause;
}

/** Lists of JQL reference data. */
interface JQLReferenceData {
    /** List of fields usable in JQL queries. */
    visibleFieldNames?: FieldReferenceData[];
    /** List of functions usable in JQL queries. */
    visibleFunctionNames?: FunctionReferenceData[];
    /** List of JQL query reserved words. */
    jqlReservedWords?: string[];
}

interface JsonNode {
    array?: boolean;
    bigDecimal?: boolean;
    bigInteger?: boolean;
    bigIntegerValue?: number;
    binary?: boolean;
    binaryValue?: string[];
    boolean?: boolean;
    booleanValue?: boolean;
    containerNode?: boolean;
    decimalValue?: number;
    double?: boolean;
    doubleValue?: number;
    elements?: unknown;
    fieldNames?: unknown;
    fields?: unknown;
    floatingPointNumber?: boolean;
    int?: boolean;
    intValue?: number;
    integralNumber?: boolean;
    long?: boolean;
    longValue?: number;
    missingNode?: boolean;
    null?: boolean;
    number?: boolean;
    numberType?: 'INT' | 'LONG' | 'BIG_INTEGER' | 'FLOAT' | 'DOUBLE' | 'BIG_DECIMAL' | string;
    numberValue?: number;
    object?: boolean;
    pojo?: boolean;
    textValue?: string;
    textual?: boolean;
    valueAsBoolean?: boolean;
    valueAsDouble?: number;
    valueAsInt?: number;
    valueAsLong?: number;
    valueAsText?: string;
    valueNode?: boolean;
}

/** Details about a licensed Jira application. */
interface LicensedApplication {
    /** The ID of the application. */
    id: string;
    /** The licensing plan. */
    plan: string;
}

/** Details about a license for the Jira instance. */
interface License {
    /** The applications under this license. */
    applications: LicensedApplication[];
}

/** A license metric */
interface LicenseMetric {
    /** The key of the license metric. */
    key?: string;
    /** The value for the license metric. */
    value?: string;
}

interface LinkIssueRequestJson {
    type: IssueLinkType;
    inwardIssue: LinkedIssue;
    outwardIssue: LinkedIssue;
    comment?: Comment$1;
}

/** Details of a locale. */
interface Locale {
    /**
     * The locale code. The Java the locale format is used: a two character language code (ISO 639), an underscore, and
     * two letter country code (ISO 3166). For example, en_US represents a locale of English (United States). Required on
     * create.
     */
    locale?: string;
}

/** The list of status mappings. */
interface WorkflowAssociationStatusMapping {
    /** The ID of the status in the new workflow. */
    newStatusId: string;
    /** The ID of the status in the old workflow that isn't present in the new workflow. */
    oldStatusId: string;
}

/**
 * Overrides, for the selected issue types, any status mappings provided in `statusMappingsByWorkflows`. Status mappings
 * are required when the new workflow for an issue type doesn't contain all statuses that the old workflow has. Status
 * mappings can be provided by a combination of `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`.
 */
interface MappingsByIssueTypeOverride {
    /** The ID of the issue type for this mapping. */
    issueTypeId: string;
    /** The list of status mappings. */
    statusMappings: WorkflowAssociationStatusMapping[];
}

/**
 * The status mappings by workflows. Status mappings are required when the new workflow for an issue type doesn't
 * contain all statuses that the old workflow has. Status mappings can be provided by a combination of
 * `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`.
 */
interface MappingsByWorkflow {
    /** The ID of the new workflow. */
    newWorkflowId: string;
    /** The ID of the old workflow. */
    oldWorkflowId: string;
    /** The list of status mappings. */
    statusMappings: WorkflowAssociationStatusMapping[];
}

interface MoveField {
    /**
     * The ID of the screen tab field after which to place the moved screen tab field. Required if `position` isn't
     * provided.
     */
    after?: string;
    /** The named position to which the screen tab field should be moved. Required if `after` isn't provided. */
    position?: string;
}

/**
 * A list of issues and their respective properties to set or update. See [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
 */
interface MultiIssueEntityProperties {
    /** A list of issue IDs and their respective properties. */
    issues?: IssueEntityPropertiesForMultiUpdate[];
}

/** A custom field and its new value with a list of issue to update. */
interface MultipleCustomFieldValuesUpdate {
    /** The ID or key of the custom field. For example, `customfield_10010`. */
    customField: string;
    /** The list of issue IDs. */
    issueIds: number[];
    /**
     * The value for the custom field. The value must be compatible with the [custom field
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#data-types) as
     * follows:
     *
     * `string` the value must be a string. `number` the value must be a number. `datetime` the value must be a string
     * that represents a date in the ISO format or the simplified extended ISO format. For example,
     * `"2023-01-18T12:00:00-03:00"` or `"2023-01-18T12:00:00.000Z"`. However, the milliseconds part is ignored. `user`
     * the value must be an object that contains the `accountId` field. `group` the value must be an object that contains
     * the group `name` or `groupId` field. Because group names can change, we recommend using `groupId`.
     *
     * A list of appropriate values must be provided if the field is of the `list` [collection
     * type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#collection-types).
     */
    value: unknown;
}

/** List of updates for a custom fields. */
interface MultipleCustomFieldValuesUpdateDetails {
    updates?: MultipleCustomFieldValuesUpdate[];
}

/** The user details. */
interface NewUserDetails {
    /** The URL of the user. */
    self?: string;
    /** The email address for the user. */
    emailAddress: string;
    /**
     * Products the new user has access to. Valid products are: jira-core, jira-servicedesk, jira-product-discovery,
     * jira-software. To create a user without product access, set this field to be an empty array. Defaults to
     * ['jira-core', 'jira-servicedesk', 'jira-product-discovery', 'jira-software'].
     */
    products?: ('jira-core' | 'jira-servicedesk' | 'jira-product-discovery' | 'jira-software' | string)[];
}

/** Details of the users and groups to receive the notification. */
interface NotificationRecipients {
    /** Whether the notification should be sent to the issue's reporter. */
    reporter?: boolean;
    /** Whether the notification should be sent to the issue's assignees. */
    assignee?: boolean;
    /** Whether the notification should be sent to the issue's watchers. */
    watchers?: boolean;
    /** Whether the notification should be sent to the issue's voters. */
    voters?: boolean;
    /** List of users to receive the notification. */
    users?: UserDetails$1[];
    /** List of groups to receive the notification. */
    groups?: GroupName[];
    /** List of groupIds to receive the notification. */
    groupIds?: string[];
}

/** Details of the permission. */
interface RestrictedPermission {
    /**
     * The ID of the permission. Either `id` or `key` must be specified. Use [Get all
     * permissions](#api-rest-api-3-permissions-get) to get the list of permissions.
     */
    id?: string;
    /**
     * The key of the permission. Either `id` or `key` must be specified. Use [Get all
     * permissions](#api-rest-api-3-permissions-get) to get the list of permissions.
     */
    key?: string;
}

/** Details of the group membership or permissions needed to receive the notification. */
interface NotificationRecipientsRestrictions {
    /** List of group memberships required to receive the notification. */
    groups?: GroupName[];
    /** List of groupId memberships required to receive the notification. */
    groupIds?: string[];
    /** List of permissions required to receive the notification. */
    permissions?: RestrictedPermission[];
}

/** Details about a notification. */
interface Notification {
    /**
     * The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue
     * key and summary.
     */
    subject?: string;
    /** The plain text body of the email notification for the issue. */
    textBody?: string;
    /** The HTML body of the email notification for the issue. */
    htmlBody?: string;
    to?: NotificationRecipients;
    restrict?: NotificationRecipientsRestrictions;
}

/** Details about a notification event. */
interface NotificationEvent {
    /**
     * The ID of the event. The event can be a [Jira system
     * event](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or a [custom
     * event](https://confluence.atlassian.com/x/AIlKLg).
     */
    id?: number;
    /** The name of the event. */
    name?: string;
    /** The description of the event. */
    description?: string;
    templateEvent?: NotificationEvent;
}

/** Details about a notification scheme event. */
interface NotificationSchemeEvent {
    event?: NotificationEvent;
    notifications?: EventNotification[];
}

/** Details about a notification scheme. */
interface NotificationScheme {
    /** Expand options that include additional notification scheme details in the response. */
    expand?: string;
    /** The ID of the notification scheme. */
    id?: number;
    self?: string;
    /** The name of the notification scheme. */
    name?: string;
    /** The description of the notification scheme. */
    description?: string;
    /** The notification events and associated recipients. */
    notificationSchemeEvents?: NotificationSchemeEvent[];
    scope?: Scope$1;
}

interface NotificationSchemeAndProjectMapping {
    notificationSchemeId?: string;
    projectId?: string;
}

/** A page of items. */
interface NotificationSchemeAndProjectMappingPage {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: NotificationSchemeAndProjectMapping[];
}

/** The ID of a notification scheme. */
interface NotificationSchemeId {
    /** The ID of a notification scheme. */
    id: string;
}

interface OldToNewSecurityLevelMappings {
    /** The new issue security level ID. Providing null will clear the assigned old level from issues. */
    newLevelId: string;
    /** The old issue security level ID. Providing null will remap all issues without any assigned levels. */
    oldLevelId: string;
}

interface OperationMessage {
    /** The human-readable message that describes the result. */
    message: string;
    /** The status code of the response. */
    statusCode: number;
}

/** An ordered list of custom field option IDs and information on where to move them. */
interface OrderOfCustomFieldOptions {
    /**
     * A list of IDs of custom field options to move. The order of the custom field option IDs in the list is the order
     * they are given after the move. The list must contain custom field options or cascading options, but not both.
     */
    customFieldOptionIds: string[];
    /**
     * The ID of the custom field option or cascading option to place the moved options after. Required if `position`
     * isn't provided.
     */
    after?: string;
    /** The position the custom field options should be moved to. Required if `after` isn't provided. */
    position?: string;
}

/** An ordered list of issue type IDs and information about where to move them. */
interface OrderOfIssueTypes {
    /**
     * A list of the issue type IDs to move. The order of the issue type IDs in the list is the order they are given after
     * the move.
     */
    issueTypeIds: string[];
    /** The ID of the issue type to place the moved issue types after. Required if `position` isn't provided. */
    after?: string;
    /** The position the issue types should be moved to. Required if `after` isn't provided. */
    position?: string;
}

/** A page of items. */
interface PageBulkContextualConfiguration {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: BulkContextualConfiguration[];
}

/** A page of items. */
interface PageChangelog {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Changelog[];
}

/** A page of items. */
interface PageComment {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Comment$1[];
}

/** A page of items. */
interface PageComponentWithIssueCount {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: ComponentWithIssueCount[];
}

/** A page of items. */
interface PageContextForProjectAndIssueType {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: ContextForProjectAndIssueType[];
}

/** A page of items. */
interface PageContextualConfiguration {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: ContextualConfiguration[];
}

/** A page of items. */
interface PageCustomFieldContext {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: CustomFieldContext[];
}

/** A page of items. */
interface PageCustomFieldContextDefaultValue {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: CustomFieldContextDefaultValue[];
}

/** A page of items. */
interface PageCustomFieldContextOption {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: CustomFieldContextOption[];
}

/** A page of items. */
interface PageCustomFieldContextProjectMapping {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: CustomFieldContextProjectMapping[];
}

/** A page of items. */
interface PageDashboard {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Dashboard[];
}

/** A page of items. */
interface PageField {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Field[];
}

/** A page of items. */
interface PageFieldConfigurationIssueTypeItem {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: FieldConfigurationIssueTypeItem[];
}

/** A page of items. */
interface PageFieldConfigurationItem {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: FieldConfigurationItem[];
}

/** A page of items. */
interface PageFieldConfigurationScheme {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: FieldConfigurationScheme[];
}

/** A page of items. */
interface PageFieldConfigurationSchemeProjects {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: FieldConfigurationSchemeProjects[];
}

/** A page of items. */
interface PageFilterDetails {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: FilterDetails[];
}

/** A page of items. */
interface PageGroupDetails {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: GroupDetails[];
}

/** A page of items. */
interface PageIssueFieldOption {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueFieldOption[];
}

/** A page of items. */
interface PageIssueSecurityLevelMember {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueSecurityLevelMember[];
}

/** A page of items. */
interface PageIssueSecuritySchemeToProjectMapping {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: IssueSecuritySchemeToProjectMapping[];
}

/** A page of items. */
interface PageIssueTypeScheme {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueTypeScheme[];
}

/** A page of items. */
interface PageIssueTypeSchemeMapping {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueTypeSchemeMapping[];
}

/** A page of items. */
interface PageIssueTypeSchemeProjects {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueTypeSchemeProjects[];
}

/** A page of items. */
interface PageIssueTypeScreenScheme {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueTypeScreenScheme[];
}

/** A page of items. */
interface PageIssueTypeScreenSchemeItem {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueTypeScreenSchemeItem[];
}

/** A page of items. */
interface PageIssueTypeScreenSchemesProjects {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueTypeScreenSchemesProjects[];
}

/** A page of items. */
interface PageIssueTypeToContextMapping {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: IssueTypeToContextMapping[];
}

/** A page of items. */
interface PageJqlFunctionPrecomputation {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: JqlFunctionPrecomputation[];
}

/** A page of items. */
interface PageNotificationScheme {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: NotificationScheme[];
}

/** A page of comments. */
interface PageOfComments {
    /** The index of the first item returned. */
    startAt?: number;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of comments. */
    comments?: Comment$1[];
}

/** A page of CreateMetaIssueTypes. */
interface PageOfCreateMetaIssueTypes {
    createMetaIssueType?: IssueTypeIssueCreateMetadata[];
    /** The list of CreateMetaIssueType. */
    issueTypes?: IssueTypeIssueCreateMetadata[];
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The total number of items in all pages. */
    total?: number;
}

/** A page of CreateMetaIssueType with Field. */
interface PageOfCreateMetaIssueTypeWithField {
    /** The collection of FieldCreateMetaBeans. */
    fields?: FieldCreateMetadata[];
    /** The maximum number of items to return per page. */
    maxResults?: number;
    results?: FieldCreateMetadata[];
    /** The index of the first item returned. */
    startAt?: number;
    /** The total number of items in all pages. */
    total?: number;
}

/** A page containing dashboard details. */
interface PageOfDashboards {
    /** The index of the first item returned on the page. */
    startAt?: number;
    /** The maximum number of results that could be on the page. */
    maxResults?: number;
    /** The number of results on the page. */
    total?: number;
    /** The URL of the previous page of results, if any. */
    prev?: string;
    /** The URL of the next page of results, if any. */
    next?: string;
    /** List of dashboards. */
    dashboards?: Dashboard[];
}

interface PageOfStatuses {
    /** The index of the first item returned on the page. */
    startAt?: number;
    /** Number of items that satisfy the search. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The list of items. */
    values?: JiraStatus[];
    /** The URL of this page. */
    self?: string;
    /** The URL of the next page of results, if any. */
    nextPage?: string;
}

/** Paginated list of worklog details */
interface PageOfWorklogs {
    /** The index of the first item returned on the page. */
    startAt: number;
    /** The maximum number of results that could be on the page. */
    maxResults: number;
    /** The number of results on the page. */
    total: number;
    /** List of worklogs. */
    worklogs: Worklog[];
}

/** A page of items. */
interface PagePriority {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Priority[];
}

/** A page of items. */
interface PageProject {
    /** The URL of the page. */
    self: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults: number;
    /** The index of the first item returned. */
    startAt: number;
    /** The number of items returned. */
    total: number;
    /** Whether this is the last page. */
    isLast: boolean;
    /** The list of items. */
    values: Project$1[];
}

/** A page of items. */
interface PageProjectDetails {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: ProjectDetails[];
}

/** A page of items. */
interface PageResolution {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Resolution[];
}

/** A screen. */
interface Screen {
    /** The ID of the screen. */
    id?: number;
    /** The name of the screen. */
    name?: string;
    /** The description of the screen. */
    description?: string;
    scope?: Scope$1;
}

/** A page of items. */
interface PageScreen {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Screen[];
}

/** The IDs of the screens for the screen types of the screen scheme. */
interface ScreenTypes {
    /** The ID of the edit screen. */
    edit?: number;
    /** The ID of the create screen. */
    create?: number;
    /** The ID of the view screen. */
    view?: number;
    /** The ID of the default screen. Required when creating a screen scheme. */
    default?: number;
}

/** A screen scheme. */
interface ScreenScheme {
    /** The ID of the screen scheme. */
    id?: number;
    /** The name of the screen scheme. */
    name?: string;
    /** The description of the screen scheme. */
    description?: string;
    screens?: ScreenTypes;
    issueTypeScreenSchemes?: PageIssueTypeScreenScheme;
}

/** A page of items. */
interface PageScreenScheme {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: ScreenScheme[];
}

/** A screen tab. */
interface ScreenableTab {
    /** The ID of the screen tab. */
    id?: number;
    /** The name of the screen tab. The maximum length is 255 characters. */
    name: string;
}

/** A screen with tab details. */
interface ScreenWithTab {
    /** The ID of the screen. */
    id?: number;
    /** The name of the screen. */
    name?: string;
    /** The description of the screen. */
    description?: string;
    scope?: Scope$1;
    tab?: ScreenableTab;
}

/** A page of items. */
interface PageScreenWithTab {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: ScreenWithTab[];
}

/** Details of an issue level security item. */
interface SecurityLevel {
    /** The URL of the issue level security item. */
    self?: string;
    /** The ID of the issue level security item. */
    id?: string;
    /** The description of the issue level security item. */
    description?: string;
    /** The name of the issue level security item. */
    name?: string;
}

/** A page of items. */
interface PageSecurityLevel {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: SecurityLevel[];
}

/** Issue security level member. */
interface SecurityLevelMember {
    holder?: PermissionHolder;
    /** The ID of the issue security level member. */
    id: string;
    /** The ID of the issue security level. */
    issueSecurityLevelId: string;
    /** The ID of the issue security scheme. */
    issueSecuritySchemeId: string;
}

/** A page of items. */
interface PageSecurityLevelMember {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: SecurityLevelMember[];
}

/** Details about an issue security scheme. */
interface SecuritySchemeWithProjects {
    /** The default level ID of the issue security scheme. */
    defaultLevel?: number;
    /** The description of the issue security scheme. */
    description?: string;
    /** The ID of the issue security scheme. */
    id: number;
    /** The name of the issue security scheme. */
    name: string;
    /** The list of project IDs associated with the issue security scheme. */
    projectIds?: number[];
    /** The URL of the issue security scheme. */
    self: string;
}

/** A page of items. */
interface PageSecuritySchemeWithProjects {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** The list of items. */
    values?: SecuritySchemeWithProjects[];
}

/** A page of items. */
interface PageString {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: string[];
}

/** The details of a UI modification. */
interface UiModificationDetails {
    /** The ID of the UI modification. */
    id: string;
    /** The name of the UI modification. The maximum length is 255 characters. */
    name: string;
    /** The description of the UI modification. The maximum length is 255 characters. */
    description?: string;
    /** The URL of the UI modification. */
    self: string;
    /** The data of the UI modification. The maximum size of the data is 50000 characters. */
    data?: string;
    /** List of contexts of the UI modification. The maximum number of contexts is 1000. */
    contexts?: UiModificationContextDetails[];
}

/** A page of items. */
interface PageUiModificationDetails {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: UiModificationDetails[];
}

/** A page of items. */
interface PageUser {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: User$2[];
}

/** A page of items. */
interface PageUserDetails {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: UserDetails$1[];
}

/** List of user account IDs. */
interface UserKey {
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Returns _unknown_ if the record is deleted and corrupted, for example, as the result of
     * a server import.
     */
    accountId?: string;
}

/** A page of items. */
interface PageUserKey {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: UserKey[];
}

/** A page of items. */
interface PageVersion {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Version$1[];
}

/** A webhook. */
interface Webhook {
    /** The ID of the webhook. */
    id: number;
    /** The JQL filter that specifies which issues the webhook is sent for. */
    jqlFilter: string;
    /**
     * A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent.
     * If this parameter is not present, the app is notified about all field updates.
     */
    fieldIdsFilter?: string[];
    /**
     * A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or
     * `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property
     * updates.
     */
    issuePropertyKeysFilter?: string[];
    /** The Jira events that trigger the webhook. */
    events: string[];
    /**
     * The date after which the webhook is no longer sent. Use [Extend webhook
     * life](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put)
     * to extend the date.
     */
    expirationDate?: number;
}

/** A page of items. */
interface PageWebhook {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Webhook[];
}

interface PageWithCursorGetPlanResponseForPage {
    cursor?: string;
    last?: boolean;
    nextPageCursor?: string;
    size?: number;
    total?: number;
    values?: GetPlanResponseForPage[];
}

interface PageWithCursorGetTeamResponseForPage {
    cursor?: string;
    last?: boolean;
    nextPageCursor?: string;
    size?: number;
    total?: number;
    values?: GetTeamResponseForPage[];
}

/** Properties that identify a published workflow. */
interface PublishedWorkflowId {
    /** The name of the workflow. */
    name: string;
    /** The entity ID of the workflow. */
    entityId?: string;
}

/** ID of a screen. */
interface ScreenID {
    /** The ID of the screen. */
    id: string;
}

/** The workflow transition rule conditions tree. */
interface WorkflowCondition {
}

/** A workflow transition rule. */
interface WorkflowTransitionRule {
    /** The type of the transition rule. */
    type: string;
    /** EXPERIMENTAL. The configuration of the transition rule. */
    configuration?: any;
}

/** A collection of transition rules. */
interface WorkflowRules {
    conditionsTree?: WorkflowCondition;
    /** The workflow validators. */
    validators?: WorkflowTransitionRule[];
    /** The workflow post functions. */
    postFunctions?: WorkflowTransitionRule[];
}

/** Details of a workflow transition. */
interface Transition {
    /** The ID of the transition. */
    id: string;
    /** The name of the transition. */
    name: string;
    /** The description of the transition. */
    description: string;
    /** The statuses the transition can start from. */
    from: string[];
    /** The status the transition goes to. */
    to: string;
    /** The type of the transition. */
    type: string;
    screen?: ScreenID;
    rules?: WorkflowRules;
    /** The properties of the transition. */
    properties?: unknown;
}

/** Operations allowed on a workflow */
interface WorkflowOperations {
    /** Whether the workflow can be updated. */
    canEdit: boolean;
    /** Whether the workflow can be deleted. */
    canDelete: boolean;
}

/** The ID and the name of the workflow scheme. */
interface WorkflowSchemeIdName {
    /** The ID of the workflow scheme. */
    id: string;
    /** The name of the workflow scheme. */
    name: string;
}

/** Properties of a workflow status. */
interface WorkflowStatusProperties {
    /** Whether issues are editable in this status. */
    issueEditable: boolean;
}

/** Details of a workflow status. */
interface WorkflowStatus {
    /** The ID of the issue status. */
    id: string;
    /** The name of the status in the workflow. */
    name: string;
    /**
     * Additional properties that modify the behavior of issues in this status. Supports the properties
     * `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable.
     */
    properties?: WorkflowStatusProperties;
}

/** Details about a workflow. */
interface Workflow {
    id: PublishedWorkflowId;
    /** The description of the workflow. */
    description: string;
    /** The transitions of the workflow. */
    transitions?: Transition[];
    /** The statuses of the workflow. */
    statuses?: WorkflowStatus[];
    /** Whether this is the default workflow. */
    isDefault?: boolean;
    /** The workflow schemes the workflow is assigned to. */
    schemes?: WorkflowSchemeIdName[];
    /** The projects the workflow is assigned to, through workflow schemes. */
    projects?: ProjectDetails[];
    /** Whether the workflow has a draft version. */
    hasDraftWorkflow?: boolean;
    operations?: WorkflowOperations;
    /** The creation date of the workflow. */
    created?: string;
    /** The last edited date of the workflow. */
    updated?: string;
}

/** A page of items. */
interface PageWorkflow {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: Workflow[];
}

/** A page of items. */
interface PageWorkflowScheme {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: WorkflowScheme[];
}

/** Properties that identify a workflow. */
interface WorkflowId {
    /** The name of the workflow. */
    name: string;
    /** Whether the workflow is in the draft state. */
    draft: boolean;
}

/** A workflow with transition rules. */
interface WorkflowTransitionRules$1 {
    workflowId: WorkflowId;
    /** The list of post functions within the workflow. */
    postFunctions: ConnectWorkflowTransitionRule[];
    /** The list of conditions within the workflow. */
    conditions: ConnectWorkflowTransitionRule[];
    /** The list of validators within the workflow. */
    validators: ConnectWorkflowTransitionRule[];
}

/** A page of items. */
interface PageWorkflowTransitionRules {
    /** The URL of the page. */
    self?: string;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** The index of the first item returned. */
    startAt?: number;
    /** The number of items returned. */
    total?: number;
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The list of items. */
    values?: WorkflowTransitionRules$1[];
}

/** Details of a parsed JQL query. */
interface ParsedJqlQuery {
    /** The JQL query that was parsed and validated. */
    query: string;
    structure?: JqlQuery;
    /** The list of syntax or validation errors. */
    errors?: string[];
}

/** A list of parsed JQL queries. */
interface ParsedJqlQueries {
    /** A list of parsed JQL queries. */
    queries: ParsedJqlQuery[];
}

/** Details for permissions of shareable entities */
interface PermissionDetails {
    /** The edit permissions for the shareable entities. */
    editPermissions: SharePermission[];
    /** The share permissions for the shareable entities. */
    sharePermissions: SharePermission[];
}

/** Details about a permission granted to a user or group. */
interface PermissionGrant {
    /** The ID of the permission granted details. */
    id?: number;
    /** The URL of the permission granted details. */
    self?: string;
    holder?: PermissionHolder;
    /**
     * The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an
     * app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in _Get all permission
     * schemes_ for more information about the built-in permissions. See the [project
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation
     * for more information about custom permissions.
     */
    permission?: string;
}

/** List of permission grants. */
interface PermissionGrants {
    /** Permission grants list. */
    permissions?: PermissionGrant[];
    /** Expand options that include additional permission grant details in the response. */
    expand?: string;
}

/** Details about permissions. */
interface Permissions$1 {
    /** List of permissions. */
    permissions?: unknown;
}

/** Details of a permission scheme. */
interface PermissionScheme {
    /** The expand options available for the permission scheme. */
    expand?: string;
    /** The ID of the permission scheme. */
    id?: number;
    /** The URL of the permission scheme. */
    self?: string;
    /** The name of the permission scheme. Must be unique. */
    name: string;
    /** A description for the permission scheme. */
    description?: string;
    scope?: Scope$1;
    /**
     * The permission scheme to create or update. See [About permission schemes and
     * grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information.
     */
    permissions?: PermissionGrant[];
}

/** List of all permission schemes. */
interface PermissionSchemes$1 {
    /** Permission schemes list. */
    permissionSchemes?: PermissionScheme[];
}

interface PermissionsKeys {
    /** A list of permission keys. */
    permissions: string[];
}

/** The identifiers for a project. */
interface ProjectIdentifier {
    /** The ID of the project. */
    id?: number;
    /** The key of the project. */
    key?: string;
}

/** A list of projects in which a user is granted permissions. */
interface PermittedProjects {
    /** A list of projects. */
    projects?: ProjectIdentifier[];
}

interface Plan {
    /** The cross-project releases included in the plan. */
    crossProjectReleases?: GetCrossProjectReleaseResponse[];
    /** The custom fields for the plan. */
    customFields?: GetCustomFieldResponse[];
    exclusionRules?: GetExclusionRulesResponse;
    /** The plan ID. */
    id: number;
    /** The issue sources included in the plan. */
    issueSources?: GetIssueSourceResponse[];
    /** The date when the plan was last saved in UTC. */
    lastSaved?: string;
    /** The account ID of the plan lead. */
    leadAccountId?: string;
    /** The plan name. */
    name?: string;
    /** The permissions for the plan. */
    permissions?: GetPermissionResponse[];
    scheduling?: GetSchedulingResponse;
    /** The plan status. This is "Active", "Trashed" or "Archived". */
    status: 'Active' | 'Trashed' | 'Archived' | string;
}

/** The ID of an issue priority. */
interface PriorityId {
    /** The ID of the issue priority. */
    id: string;
}

/** Mapping of issue priorities for changes in priority schemes. */
interface PriorityMapping {
    /**
     * The mapping of priorities for issues being migrated **into** this priority scheme. Key is the old priority ID,
     * value is the new priority ID (must exist in this priority scheme).
     *
     * E.g. The current priority scheme has priority ID `10001`. Issues with priority ID `10000` are being migrated into
     * this priority scheme will need mapping to new priorities. The `in` mapping would be `{"10000": 10001}`.
     */
    in?: unknown;
    /**
     * The mapping of priorities for issues being migrated **out of** this priority scheme. Key is the old priority ID
     * (must exist in this priority scheme), value is the new priority ID (must exist in the default priority scheme).
     * Required for updating an existing priority scheme. Not used when creating a new priority scheme.
     *
     * E.g. The current priority scheme has priority ID `10001`. Issues with priority ID `10001` are being migrated out of
     * this priority scheme will need mapping to new priorities. The `out` mapping would be `{"10001": 10000}`.
     */
    out?: unknown;
}

interface PrioritySchemeChangesWithoutMappings {
    /** Affected entity ids. */
    ids: number[];
}

/** Details about a task. */
interface TaskProgressNode {
    /** The description of the task. */
    description?: string;
    /** The execution time of the task, in milliseconds. */
    elapsedRuntime: number;
    /** A timestamp recording when the task was finished. */
    finished?: number;
    /** The ID of the task. */
    id: string;
    /** A timestamp recording when the task progress was last updated. */
    lastUpdate: number;
    /** Information about the progress of the task. */
    message?: string;
    /** The progress of the task, as a percentage complete. */
    progress: number;
    result?: JsonNode;
    /** The URL of the task. */
    self: string;
    /** A timestamp recording when the task was started. */
    started?: number;
    /** The status of the task. */
    status: 'ENQUEUED' | 'RUNNING' | 'COMPLETE' | 'FAILED' | 'CANCEL_REQUESTED' | 'CANCELLED' | 'DEAD' | string;
    /** A timestamp recording when the task was submitted. */
    submitted: number;
    /** The ID of the user who submitted the task. */
    submittedBy: number;
}

/** The ID of a priority scheme. */
interface PrioritySchemeId {
    /** The ID of the priority scheme. */
    id?: string;
    task?: TaskProgressNode;
}

/** An issue priority with sequence information. */
interface PriorityWithSequence {
    /** The description of the issue priority. */
    description?: string;
    /** The URL of the icon for the issue priority. */
    iconUrl?: string;
    /** The ID of the issue priority. */
    id?: string;
    /** Whether this priority is the default. */
    isDefault?: boolean;
    /** The name of the issue priority. */
    name?: string;
    /** The URL of the issue priority. */
    self?: string;
    /** The sequence of the issue priority. */
    sequence?: string;
    /** The color used to indicate the issue priority. */
    statusColor?: string;
}

/** A priority scheme with paginated priorities and projects. */
interface PrioritySchemeWithPaginatedPrioritiesAndProjects {
    default?: boolean;
    /** The ID of the default issue priority. */
    defaultPriorityId?: string;
    /** The description of the priority scheme */
    description?: string;
    /** The ID of the priority scheme. */
    id: string;
    isDefault?: boolean;
    /** The name of the priority scheme */
    name: string;
    priorities?: Paginated<PriorityWithSequence>;
    projects?: Paginated<ProjectDetails>;
    /** The URL of the priority scheme. */
    self?: string;
}

/** A project and issueType ID pair that identifies a status mapping. */
interface ProjectAndIssueTypePair {
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The ID of the project. */
    projectId: string;
}

/** List of project avatars. */
interface ProjectAvatars$1 {
    /** List of avatars included with Jira. These avatars cannot be deleted. */
    system?: Avatar[];
    /** List of avatars added to Jira. These avatars may be deleted. */
    custom?: Avatar[];
}

/** Request to create a project using a custom template */
interface ProjectCustomTemplateCreateRequest {
    details?: CustomTemplatesProjectDetails;
    template?: CustomTemplateRequest;
}

/** Details about data policy. */
interface ProjectDataPolicy {
    /** Whether the project contains any content inaccessible to the requesting application. */
    anyContentBlocked: boolean;
}

/** Details about data policies for a project. */
interface ProjectWithDataPolicy {
    dataPolicy: ProjectDataPolicy;
    /** The project ID. */
    id: number;
}

/** Details about data policies for a list of projects. */
interface ProjectDataPolicies {
    /** List of projects with data policies. */
    projectDataPolicies: ProjectWithDataPolicy[];
}

/** A project's sender email address. */
interface ProjectEmailAddress {
    /** The email address. */
    emailAddress?: string;
    /** When using a custom domain, the status of the email address. */
    emailAddressStatus?: string[];
}

/** Container for a request to toggle the state of the feature to ENABLED or DISABLED. */
interface ProjectFeatureToggleRequest {
    /** The new state for the feature */
    state?: 'ENABLED' | 'DISABLED' | 'COMING_SOON';
}

/** Identifiers for a project. */
interface ProjectIdentifiers {
    /** The URL of the created project. */
    self: string;
    /** The ID of the created project. */
    id: number;
    /** The key of the created project. */
    key: string;
}

/** A list of project IDs. */
interface ProjectIds {
    /** The IDs of projects. */
    projectIds: string[];
}

/** List of issue level security items in a project. */
interface ProjectIssueSecurityLevels {
    /** Issue level security items list. */
    levels: SecurityLevel[];
}

/** Details of an issue type hierarchy level. */
interface ProjectIssueTypesHierarchyLevel {
    /** The level of the issue type hierarchy level. */
    level?: number;
    /** The name of the issue type hierarchy level. */
    name?: string;
    /** The list of issue types in the hierarchy level. */
    issueTypes?: IssueTypeInfo[];
}

/** The hierarchy of issue types within a project. */
interface ProjectIssueTypeHierarchy {
    /** The ID of the project. */
    projectId?: number;
    /** Details of an issue type hierarchy level. */
    hierarchy?: ProjectIssueTypesHierarchyLevel[];
}

/** The project and issue type mapping. */
interface ProjectIssueTypeMapping {
    /** The ID of the project. */
    projectId: string;
    /** The ID of the issue type. */
    issueTypeId: string;
}

/** The project and issue type mappings. */
interface ProjectIssueTypeMappings {
    /** The project and issue type mappings. */
    mappings: ProjectIssueTypeMapping[];
}

interface ProjectRoleActorsUpdate {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id?: number;
    /**
     * The actors to add to the project role.
     *
     * Add groups using:
     *
     * `atlassian-group-role-actor` and a list of group names. `atlassian-group-role-actor-id` and a list of group IDs.
     *
     * As a group's name can change, use of `atlassian-group-role-actor-id` is recommended. For example,
     * `"atlassian-group-role-actor-id":["eef79f81-0b89-4fca-a736-4be531a10869","77f6ab39-e755-4570-a6ae-2d7a8df0bcb8"]`.
     *
     * Add users using `atlassian-user-role-actor` and a list of account IDs. For example,
     * `"atlassian-user-role-actor":["12345678-9abc-def1-2345-6789abcdef12", "abcdef12-3456-789a-bcde-f123456789ab"]`.
     */
    categorisedActors?: unknown;
}

/** Details about a project role. */
interface ProjectRoleDetails {
    /** The URL the project role details. */
    self?: string;
    /** The name of the project role. */
    name?: string;
    /** The ID of the project role. */
    id?: number;
    /** The description of the project role. */
    description?: string;
    /** Whether this role is the admin role for the project. */
    admin?: boolean;
    scope?: Scope$1;
    /** Whether the roles are configurable for this project. */
    roleConfigurable?: boolean;
    /** The translated name of the project role. */
    translatedName?: string;
    /** Whether this role is the default role for the project. */
    default?: boolean;
}

/** Details about a project type. */
interface ProjectType {
    /** The key of the project type. */
    key?: string;
    /** The formatted key of the project type. */
    formattedKey?: string;
    /** The key of the project type's description. */
    descriptionI18nKey?: string;
    /** The icon of the project type. */
    icon?: string;
    /** The color of the project type. */
    color?: string;
}

/** The project. */
interface ProjectUsage {
    /** The project ID. */
    id?: string;
}

/** A page of projects. */
interface ProjectUsagePage {
    /** Page token for the next page of project usages. */
    nextPageToken?: string;
    /** The list of projects. */
    values?: ProjectUsage[];
}

/** Property key details. */
interface PropertyKey$1 {
    /** The URL of the property. */
    self?: string;
    /** The key of the property. */
    key?: string;
}

/** List of property keys. */
interface PropertyKeys$1 {
    /** Property key details. */
    keys?: PropertyKey$1[];
}

/** The status of the item. */
interface Status$2 {
    /**
     * Whether the item is resolved. If set to "true", the link to the issue is displayed in a strikethrough font,
     * otherwise the link displays in normal font.
     */
    resolved?: boolean;
    icon?: Icon;
}

/** The linked item. */
interface RemoteObject {
    /** The URL of the item. */
    url: string;
    /** The title of the item. */
    title: string;
    /** The summary details of the item. */
    summary?: string;
    icon?: Icon;
    status?: Status$2;
}

/** Details of an issue remote link. */
interface RemoteIssueLink {
    /** The ID of the link. */
    id?: number;
    /** The URL of the link. */
    self?: string;
    /** The global ID of the link, such as the ID of the item on the remote system. */
    globalId?: string;
    application?: Application;
    /** Description of the relationship between the issue and the linked item. */
    relationship?: string;
    object?: RemoteObject;
}

/** Details of the identifiers for a created or updated remote issue link. */
interface RemoteIssueLinkIdentifies {
    /** The ID of the remote issue link, such as the ID of the item on the remote system. */
    id?: number;
    /** The URL of the remote issue link. */
    self?: string;
}

/** Details of a remote issue link. */
interface RemoteIssueLinkRequest {
    /**
     * An identifier for the remote item in the remote system. For example, the global ID for a remote item in Confluence
     * would consist of the app ID and page ID, like this: `appId=456&pageId=123`.
     *
     * Setting this field enables the remote issue link details to be updated or deleted using remote system and item
     * details as the record identifier, rather than using the record's Jira ID.
     *
     * The maximum length is 255 characters.
     */
    globalId?: string;
    application?: Application;
    /**
     * Description of the relationship between the issue and the linked item. If not set, the relationship description
     * "links to" is used in Jira.
     */
    relationship?: string;
    object?: RemoteObject;
}

interface SimpleErrorCollection {
    /**
     * The list of errors by parameter returned by the operation. For example,"projectKey": "Project keys must start with
     * an uppercase letter, followed by one or more uppercase alphanumeric characters."
     */
    errors?: unknown;
    /** The list of error messages produced by this operation. For example, "input parameter 'key' must be provided" */
    errorMessages?: string[];
    httpStatusCode?: number;
}

interface RemoveOptionFromIssuesResult {
    /** The IDs of the modified issues. */
    modifiedIssues?: number[];
    /** The IDs of the unchanged issues, those issues where errors prevent modification. */
    unmodifiedIssues?: number[];
    errors?: SimpleErrorCollection;
}

/** Change the order of issue priorities. */
interface ReorderIssuePriorities {
    /** The list of issue IDs to be reordered. Cannot contain duplicates nor after ID. */
    ids: string[];
    /** The ID of the priority. Required if `position` isn't provided. */
    after?: string;
    /** The position for issue priorities to be moved to. Required if `after` isn't provided. */
    position?: string;
}

/** Change the order of issue resolutions. */
interface ReorderIssueResolutionsRequest {
    /** The list of resolution IDs to be reordered. Cannot contain duplicates nor after ID. */
    ids: string[];
    /** The ID of the resolution. Required if `position` isn't provided. */
    after?: string;
    /** The position for issue resolutions to be moved to. Required if `after` isn't provided. */
    position?: string;
}

/** The list of required status mappings by issue type. */
interface RequiredMappingByIssueType {
    /** The ID of the issue type. */
    issueTypeId?: string;
    /** The status IDs requiring mapping. */
    statusIds?: string[];
}

/** The list of required status mappings by workflow. */
interface RequiredMappingByWorkflows {
    /** The ID of the source workflow. */
    sourceWorkflowId?: string;
    /** The status IDs requiring mapping. */
    statusIds?: string[];
    /** The ID of the target workflow. */
    targetWorkflowId?: string;
}

/** The ID of an issue resolution. */
interface ResolutionId {
    /** The ID of the issue resolution. */
    id: string;
}

/** Details of the sanitized JQL query. */
interface SanitizedJqlQuery {
    /** The initial query. */
    initialQuery?: string;
    /** The sanitized query, if there were no errors. */
    sanitizedQuery?: string;
    errors?: ErrorCollection;
    /** The account ID of the user for whom sanitization was performed. */
    accountId?: string;
}

/** The sanitized JQL queries for the given account IDs. */
interface SanitizedJqlQueries {
    /** The list of sanitized JQL queries. */
    queries?: SanitizedJqlQuery[];
}

/** A screen tab field. */
interface ScreenableField {
    /** The ID of the screen tab field. */
    id?: string;
    /** The name of the screen tab field. Required on create and update. The maximum length is 255 characters. */
    name?: string;
}

/** Details of a screen. */
interface ScreenDetails {
    /** The name of the screen. The name must be unique. The maximum length is 255 characters. */
    name: string;
    /** The description of the screen. The maximum length is 255 characters. */
    description?: string;
}

/** Details of a screen scheme. */
interface ScreenSchemeDetails {
    /** The name of the screen scheme. The name must be unique. The maximum length is 255 characters. */
    name: string;
    /** The description of the screen scheme. The maximum length is 255 characters. */
    description?: string;
    screens?: ScreenTypes;
}

/** The ID of a screen scheme. */
interface ScreenSchemeId {
    /** The ID of the screen scheme. */
    id: number;
}

/** The result of a JQL search with issues reconsilation. */
interface SearchAndReconcileResults {
    /** The list of issues found by the search or reconsiliation. */
    issues?: Issue$3[];
    /** The ID and name of each field in the search results. */
    names?: unknown;
    /**
     * Continuation token to fetch the next page. If this result represents the last or the only page this token will be
     * null. This token will expire in 7 days.
     */
    nextPageToken?: string;
    /** The schema describing the field types in the search results. */
    schema?: unknown;
}

/** Details of how to filter and list search auto complete information. */
interface SearchAutoCompleteFilter {
    /** List of project IDs used to filter the visible field details returned. */
    projectIds?: number[];
    /** Include collapsed fields for fields that have non-unique names. */
    includeCollapsedFields?: boolean;
}

interface SearchRequest {
    /** A [JQL](https://confluence.atlassian.com/x/egORLQ) expression. */
    jql?: string;
    /** The index of the first item to return in the page of results (page offset). The base index is `0`. */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * `*all` Returns all fields. `*navigable` Returns navigable fields. Any issue field, prefixed with a minus to
     * exclude.
     *
     * The default is `*navigable`.
     *
     * Examples:
     *
     * `summary,comment` Returns the summary and comments fields only. `-description` Returns all navigable (default)
     * fields except description. `*all,-comment` Returns all fields except comments.
     *
     * Multiple `fields` parameters can be included in a request.
     *
     * Note: All navigable fields are returned by default. This differs from [GET
     * issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.
     */
    fields?: string[];
    /**
     * Determines how to validate the JQL query and treat the validation results. Supported values:
     *
     * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).
     * `warn` Returns all errors as warnings. `none` No validation is performed. `true` _Deprecated_ A legacy synonym for
     * `strict`. `false` _Deprecated_ A legacy synonym for `warn`.
     *
     * The default is `strict`.
     *
     * Note: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.
     */
    validateQuery?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about issues in the response. Note that, unlike the majority of instances where `expand` is specified,
     * `expand` is defined as a list of values. The expand options are:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     */
    expand?: 'renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | ('renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations')[] | string | string[];
    /** A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list. */
    properties?: string[];
    /** Reference fields by their key (rather than ID). The default is `false`. */
    fieldsByKeys?: boolean;
}

/** The result of a JQL search. */
interface SearchResults$1 {
    /** Expand options that include additional search result details in the response. */
    expand?: string;
    /** The index of the first item returned on the page. */
    startAt?: number;
    /** The maximum number of results that could be on the page. */
    maxResults?: number;
    /** The number of results on the page. */
    total?: number;
    /** The list of issues found by the search. */
    issues?: Issue$3[];
    /** Any warnings related to the JQL query. */
    warningMessages?: string[];
    /** The ID and name of each field in the search results. */
    names?: unknown;
    /** The schema describing the field types in the search results. */
    schema?: unknown;
}

/** Details about a security scheme. */
interface SecurityScheme {
    /** The URL of the issue security scheme. */
    self?: string;
    /** The ID of the issue security scheme. */
    id?: number;
    /** The name of the issue security scheme. */
    name?: string;
    /** The description of the issue security scheme. */
    description?: string;
    /** The ID of the default security level. */
    defaultSecurityLevelId?: number;
    levels?: SecurityLevel[];
}

/** The ID of the issue security scheme. */
interface SecuritySchemeId {
    /** The ID of the issue security scheme. */
    id: string;
}

/** Details of issue security scheme level new members. */
interface SecuritySchemeMembersRequest {
    /** The list of level members which should be added to the issue security scheme level. */
    members?: SecuritySchemeLevelMember[];
}

/** List of security schemes. */
interface SecuritySchemes {
    /** List of security schemes. */
    issueSecuritySchemes?: SecurityScheme[];
}

/** Details about the Jira instance. */
interface ServerInformation {
    /** The base URL of the Jira instance. */
    baseUrl?: string;
    /** The version of Jira. */
    version?: string;
    /** The major, minor, and revision version numbers of the Jira version. */
    versionNumbers?: number[];
    /** The type of server deployment. This is always returned as _Cloud_. */
    deploymentType?: string;
    /** The build number of the Jira version. */
    buildNumber?: number;
    /** The timestamp when the Jira version was built. */
    buildDate?: string;
    /** The time in Jira when this request was responded to. */
    serverTime?: string;
    /** The unique identifier of the Jira version. */
    scmInfo?: string;
    /** The name of the Jira instance. */
    serverTitle?: string;
}

interface ServiceRegistryTier {
    /** Tier description */
    description?: string;
    /** Tier ID */
    id?: string;
    /** Tier level */
    level?: number;
    /** Tier name */
    name?: string;
    /** Name key of the tier */
    nameKey?: string;
}

interface ServiceRegistry$1 {
    /** Service description */
    description?: string;
    /** Service ID */
    id?: string;
    /** Service name */
    name?: string;
    /** Organization ID */
    organizationId?: string;
    /** Service revision */
    revision?: string;
    serviceTier?: ServiceRegistryTier;
}

/** Details of new default levels. */
interface SetDefaultLevelsRequest {
    /** List of objects with issue security scheme ID and new default level ID. */
    defaultValues: DefaultLevelValue[];
}

/** The new default issue priority. */
interface SetDefaultPriorityRequest {
    /**
     * The ID of the new default issue priority. Must be an existing ID or null. Setting this to null erases the default
     * priority setting.
     */
    id: string;
}

/** The new default issue resolution. */
interface SetDefaultResolutionRequest {
    /**
     * The ID of the new default issue resolution. Must be an existing ID or null. Setting this to null erases the default
     * resolution setting.
     */
    id: string;
}

interface SharePermissionInput {
    /**
     * The type of the share permission.Specify the type as follows:
     *
     * - `user` Share with a user.
     * - `group` Share with a group. Specify `groupname` as well.
     * - `project` Share with a project. Specify `projectId` as well.
     * - `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well.
     * - `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and
     *   must be deleted before any non-global share permissions is set.
     * - `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type
     *   overrides all existing share permissions and must be deleted before any non-global share permissions is set.
     */
    type: 'user' | 'group' | 'project' | 'projectRole' | 'global' | 'authenticated' | string;
    /** The ID of the project to share the filter with. Set `type` to `project`. */
    projectId?: string;
    /**
     * The name of the group to share the filter with. Set `type` to `group`. Please note that the name of a group is
     * mutable, to reliably identify a group use `groupId`.
     */
    groupname?: string;
    /**
     * The ID of the project role to share the filter with. Set `type` to `projectRole` and the `projectId` for the
     * project that the role is in.
     */
    projectRoleId?: string;
    /** The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user. */
    accountId?: string;
    /** The rights for the share permission. */
    rights?: number;
    /**
     * The ID of the group, which uniquely identifies the group across all Atlassian products.For example,
     * _952d12c3-5b5b-4d04-bb32-44d383afc4b2_. Cannot be provided with `groupname`.
     */
    groupId?: string;
}

interface SimpleApplicationProperty {
    /** The ID of the application property. */
    id?: string;
    /** The new value. */
    value?: string;
}

/** Represents a usage of an entity by a project ID and related issue type IDs. */
interface SimpleUsage {
    /** The issue type IDs for the usage. */
    issueTypeIds: string[];
    /** The project ID for the usage. */
    projectId: string;
}

/** Details of the status being created. */
interface StatusCreate {
    /** The name of the status. */
    name: string;
    /** The category of the status. */
    statusCategory: string;
    /** The description of the status. */
    description?: string;
}

/** Details of the statuses being created and their scope. */
interface StatusCreateRequest {
    /** Details of the statuses being created. */
    statuses: StatusCreate[];
    scope: StatusScope;
}

/** The statuses associated with each workflow. */
interface StatusesPerWorkflow {
    /** The ID of the initial status for the workflow. */
    initialStatusId?: string;
    /** The status IDs associated with the workflow. */
    statuses?: string[];
    /** The ID of the workflow. */
    workflowId?: string;
}

/** Details about the mapping from a status to a new status for an issue type. */
interface StatusMapping {
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The ID of the status. */
    statusId: string;
    /** The ID of the new status. */
    newStatusId: string;
}

/** The details of the statuses in the associated workflows. */
interface StatusMetadata {
    /** The category of the status. */
    category?: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name?: string;
}

/** A page of issue types. */
interface StatusProjectIssueTypeUsagePage {
    /** Page token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of issue types. */
    values?: StatusProjectIssueTypeUsage[];
}

/** The issue types using this status in a project. */
interface StatusProjectIssueTypeUsage {
    issueTypes?: StatusProjectIssueTypeUsagePage;
    /** The project ID. */
    projectId?: string;
    /** The status ID. */
    statusId?: string;
}

/** A page of projects. */
interface StatusProjectUsagePage {
    /** Page token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of projects. */
    values?: StatusProjectUsage[];
}

/** The projects using this status. */
interface StatusProjectUsage {
    projects?: StatusProjectUsagePage;
    /** The status ID. */
    statusId?: string;
}

/** Details of the status being updated. */
interface StatusUpdate {
    /** The ID of the status. */
    id: string;
    /** The name of the status. */
    name: string;
    /** The category of the status. */
    statusCategory: string;
    /** The description of the status. */
    description?: string;
}

/** The list of statuses that will be updated. */
interface StatusUpdateRequest {
    /** The list of statuses that will be updated. */
    statuses?: StatusUpdate[];
}

/** The worflow. */
interface StatusWorkflowUsageWorkflow {
    /** The workflow ID. */
    id?: string;
}

/** A page of workflows. */
interface StatusWorkflowUsagePage {
    /** Page token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of statuses. */
    values?: StatusWorkflowUsageWorkflow[];
}

/** Workflows using the status. */
interface StatusWorkflowUsage {
    /** The status ID. */
    statusId?: string;
    workflows?: StatusWorkflowUsagePage;
}

interface SubmittedBulkOperation {
    taskId?: string;
}

/** Details of changes to a priority scheme's priorities that require suggested priority mappings. */
interface SuggestedMappingsForPrioritiesRequest {
    /** The ids of priorities being removed from the scheme. */
    add?: number[];
    /** The ids of priorities being removed from the scheme. */
    remove?: number[];
}

/** Details of changes to a priority scheme's projects that require suggested priority mappings. */
interface SuggestedMappingsForProjectsRequest {
    /** The ids of projects being added to the scheme. */
    add?: number[];
}

/** Details of changes to a priority scheme that require suggested priority mappings. */
interface SuggestedMappingsRequest {
    /** The maximum number of results that could be on the page. */
    maxResults?: number;
    priorities?: SuggestedMappingsForPrioritiesRequest;
    projects?: SuggestedMappingsForProjectsRequest;
    /** The id of the priority scheme. */
    schemeId?: number;
    /** The index of the first item returned on the page. */
    startAt?: number;
}

/** List of system avatars. */
interface SystemAvatars {
    /** A list of avatar details. */
    system: Omit<Avatar, 'fileName' | 'owner'>[];
}

/** Details about a task. */
interface TaskProgressObject {
    /** The URL of the task. */
    self: string;
    /** The ID of the task. */
    id: string;
    /** The description of the task. */
    description?: string;
    /** The status of the task. */
    status: string;
    /** Information about the progress of the task. */
    message?: string;
    /** The result of the task execution. */
    result?: any;
    /** The ID of the user who submitted the task. */
    submittedBy: number;
    /** The progress of the task, as a percentage complete. */
    progress: number;
    /** The execution time of the task, in milliseconds. */
    elapsedRuntime: number;
    /** A timestamp recording when the task was submitted. */
    submitted: number;
    /** A timestamp recording when the task was started. */
    started?: number;
    /** A timestamp recording when the task was finished. */
    finished?: number;
    /** A timestamp recording when the task progress was last updated. */
    lastUpdate: number;
}

/** Details about a task. */
interface TaskProgressRemoveOptionFromIssuesResult {
    /** The URL of the task. */
    self: string;
    /** The ID of the task. */
    id: string;
    /** The description of the task. */
    description?: string;
    /** The status of the task. */
    status: string;
    /** Information about the progress of the task. */
    message?: string;
    result?: RemoveOptionFromIssuesResult;
    /** The ID of the user who submitted the task. */
    submittedBy: number;
    /** The progress of the task, as a percentage complete. */
    progress: number;
    /** The execution time of the task, in milliseconds. */
    elapsedRuntime: number;
    /** A timestamp recording when the task was submitted. */
    submitted: number;
    /** A timestamp recording when the task was started. */
    started?: number;
    /** A timestamp recording when the task was finished. */
    finished?: number;
    /** A timestamp recording when the task progress was last updated. */
    lastUpdate: number;
}

/** Details about the time tracking provider. */
interface TimeTrackingProvider {
    /** The key for the time tracking provider. For example, _JIRA_. */
    key: string;
    /** The name of the time tracking provider. For example, _JIRA provided time tracking_. */
    name?: string;
    /**
     * The URL of the configuration page for the time tracking provider app. For example, _/example/config/url_. This
     * property is only returned if the `adminPageKey` property is set in the module descriptor of the time tracking
     * provider app.
     */
    url?: string;
}

/** List of issue transitions. */
interface Transitions {
    /** Expand options that include additional transitions details in the response. */
    expand?: string;
    /** List of issue transitions. */
    transitions?: IssueTransition$2[];
}

/** Identifiers for a UI modification. */
interface UiModificationIdentifiers {
    /** The ID of the UI modification. */
    id: string;
    /** The URL of the UI modification. */
    self: string;
}

interface UnrestrictedUserEmail {
    /** The accountId of the user */
    accountId?: string;
    /** The email of the user */
    email?: string;
}

/** Details of a custom field. */
interface UpdateCustomFieldDetails {
    /** The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters. */
    name?: string;
    /** The description of the custom field. The maximum length is 40000 characters. */
    description?: string;
    /**
     * The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must
     * specify the valid searcher for the field type, as listed below (abbreviated values shown):
     *
     * `cascadingselect`: `cascadingselectsearcher` `datepicker`: `daterange` `datetime`: `datetimerange` `float`:
     * `exactnumber` or `numberrange` `grouppicker`: `grouppickersearcher` `importid`: `exactnumber` or `numberrange`
     * `labels`: `labelsearcher` `multicheckboxes`: `multiselectsearcher` `multigrouppicker`: `multiselectsearcher`
     * `multiselect`: `multiselectsearcher` `multiuserpicker`: `userpickergroupsearcher` `multiversion`: `versionsearcher`
     * `project`: `projectsearcher` `radiobuttons`: `multiselectsearcher` `readonlyfield`: `textsearcher` `select`:
     * `multiselectsearcher` `textarea`: `textsearcher` `textfield`: `textsearcher` `url`: `exacttextsearcher`
     * `userpicker`: `userpickergroupsearcher` `version`: `versionsearcher`
     */
    searcherKey?: string;
}

/** The request for updating the default project classification level. */
interface UpdateDefaultProjectClassification$1 {
    /** The ID of the project classification. */
    id: string;
}

/** The details of the field configuration scheme. */
interface UpdateFieldConfigurationSchemeDetails {
    /** The name of the field configuration scheme. The name must be unique. */
    name: string;
    /** The description of the field configuration scheme. */
    description?: string;
}

/** Details of issue security scheme level. */
interface UpdateIssueSecurityLevelDetails {
    /** The description of the issue security scheme level. */
    description?: string;
    /** The name of the issue security scheme level. Must be unique. */
    name?: string;
}

interface UpdateIssueSecuritySchemeRequest {
    /** The description of the security scheme. */
    description?: string;
    /** The name of the security scheme. Must be unique. */
    name?: string;
}

/** Details of a notification scheme. */
interface UpdateNotificationSchemeDetails {
    /** The description of the notification scheme. */
    description?: string;
    /** The name of the notification scheme. Must be unique. */
    name?: string;
}

/** Update priorities in a scheme */
interface UpdatePrioritiesInSchemeRequest {
    add?: PrioritySchemeChangesWithoutMappings;
    remove?: PrioritySchemeChangesWithoutMappings;
}

/** Details of an issue priority. */
interface UpdatePriorityDetails {
    /** The ID for the avatar for the priority. This parameter is nullable and both iconUrl and avatarId cannot be defined. */
    avatarId?: number;
    /** The description of the priority. */
    description?: string;
    /**
     * The URL of an icon for the priority. Accepted protocols are HTTP and HTTPS. Built in icons can also be used. Both
     * iconUrl and avatarId cannot be defined.
     *
     * @deprecated This property is deprecated and will be removed in a future version. Use `avatarId` instead.
     */
    iconUrl?: '/images/icons/priorities/blocker.png' | '/images/icons/priorities/critical.png' | '/images/icons/priorities/high.png' | '/images/icons/priorities/highest.png' | '/images/icons/priorities/low.png' | '/images/icons/priorities/lowest.png' | '/images/icons/priorities/major.png' | '/images/icons/priorities/medium.png' | '/images/icons/priorities/minor.png' | '/images/icons/priorities/trivial.png' | '/images/icons/priorities/blocker_new.png' | '/images/icons/priorities/critical_new.png' | '/images/icons/priorities/high_new.png' | '/images/icons/priorities/highest_new.png' | '/images/icons/priorities/low_new.png' | '/images/icons/priorities/lowest_new.png' | '/images/icons/priorities/major_new.png' | '/images/icons/priorities/medium_new.png' | '/images/icons/priorities/minor_new.png' | '/images/icons/priorities/trivial_new.png' | string;
    /** The name of the priority. Must be unique. */
    name?: string;
    /** The status color of the priority in 3-digit or 6-digit hexadecimal format. */
    statusColor?: string;
}

/** Update projects in a scheme */
interface UpdateProjectsInSchemeRequest {
    add?: PrioritySchemeChangesWithoutMappings;
    remove?: PrioritySchemeChangesWithoutMappings;
}

/** Details of a priority scheme. */
interface UpdatePrioritySchemeRequest {
    /** The default priority of the scheme. */
    defaultPriorityId?: number;
    /** The description of the priority scheme. */
    description?: string;
    mappings?: PriorityMapping;
    /** The name of the priority scheme. Must be unique. */
    name?: string;
    priorities?: UpdatePrioritiesInSchemeRequest;
    projects?: UpdateProjectsInSchemeRequest;
}

/** Details of the updated priority scheme. */
interface UpdatePrioritySchemeResponse {
    priorityScheme?: PrioritySchemeWithPaginatedPrioritiesAndProjects;
    task?: TaskProgressNode;
}

/** Details about the project. */
interface UpdateProjectDetails {
    /**
     * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric
     * characters. The maximum length is 10 characters.
     */
    key?: string;
    /** The name of the project. */
    name?: string;
    /** A brief description of the project. */
    description?: string;
    /** The account ID of the project lead. Cannot be provided with `lead`. */
    leadAccountId: string;
    /** A link to information about this project, such as project documentation */
    url?: string;
    /** The default assignee when creating issues for this project. */
    assigneeType?: string;
    /** An integer value for the project's avatar. */
    avatarId?: number;
    /**
     * The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues.
     * Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security
     * scheme IDs.
     */
    issueSecurityScheme?: number;
    /**
     * The ID of the permission scheme for the project. Use the [Get all permission
     * schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.
     */
    permissionScheme?: number;
    /**
     * The ID of the notification scheme for the project. Use the [Get notification
     * schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.
     */
    notificationScheme?: number;
    /**
     * The ID of the project's category. A complete list of category IDs is found using the [Get all project
     * categories](#api-rest-api-3-projectCategory-get) operation. To remove the project category from the project, set
     * the value to `-1.`
     */
    categoryId?: number;
    /**
     * Previous project keys to be released from the current project. Released keys must belong to the current project and
     * not contain the current project key
     */
    releasedProjectKeys?: string[];
}

/** Details of an issue resolution. */
interface UpdateResolutionDetails {
    /** The name of the resolution. Must be unique. */
    name: string;
    /** The description of the resolution. */
    description?: string;
}

/** Details of a screen. */
interface UpdateScreenDetails {
    /** The name of the screen. The name must be unique. The maximum length is 255 characters. */
    name?: string;
    /** The description of the screen. The maximum length is 255 characters. */
    description?: string;
}

/** The IDs of the screens for the screen types of the screen scheme. */
interface UpdateScreenTypes {
    /** The ID of the edit screen. To remove the screen association, pass a null. */
    edit?: string;
    /** The ID of the create screen. To remove the screen association, pass a null. */
    create?: string;
    /** The ID of the view screen. To remove the screen association, pass a null. */
    view?: string;
    /** The ID of the default screen. When specified, must include a screen ID as a default screen is required. */
    default?: string;
}

/** Details of a screen scheme. */
interface UpdateScreenSchemeDetails {
    /** The name of the screen scheme. The name must be unique. The maximum length is 255 characters. */
    name?: string;
    /** The description of the screen scheme. The maximum length is 255 characters. */
    description?: string;
    screens?: UpdateScreenTypes;
}

/** The details of a UI modification. */
interface UpdateUiModificationDetails {
    /** The name of the UI modification. The maximum length is 255 characters. */
    name?: string;
    /** The description of the UI modification. The maximum length is 255 characters. */
    description?: string;
    /** The data of the UI modification. The maximum size of the data is 50000 characters. */
    data?: string;
    /**
     * List of contexts of the UI modification. The maximum number of contexts is 1000. If provided, replaces all existing
     * contexts.
     */
    contexts?: UiModificationContextDetails[];
}

interface UpdateUserToGroup {
    /**
     * This property is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
}

interface UserMigration {
    key?: string;
    username?: string;
    accountId?: string;
}

interface UserNavProperty {
    key: string;
    value: string;
}

/**
 * The level of validation to return from the API. If no values are provided, the default would return `WARNING` and
 * `ERROR` level validation results.
 */
interface ValidationOptionsForCreate {
    levels?: ('WARNING' | 'ERROR' | string)[];
}

/**
 * The level of validation to return from the API. If no values are provided, the default would return `WARNING` and
 * `ERROR` level validation results.
 */
interface ValidationOptionsForUpdate {
    levels?: ('WARNING' | 'ERROR' | string)[];
}

/** List of custom fields using the version. */
interface VersionUsageInCustomField {
    /** The name of the custom field. */
    fieldName?: string;
    /** The ID of the custom field. */
    customFieldId?: number;
    /** Count of the issues where the custom field contains the version. */
    issueCountWithVersionInCustomField?: number;
}

/** Various counts of issues within a version. */
interface VersionIssueCounts {
    /** The URL of these count details. */
    self?: string;
    /** Count of issues where the `fixVersion` is set to the version. */
    issuesFixedCount?: number;
    /** Count of issues where the `affectedVersion` is set to the version. */
    issuesAffectedCount?: number;
    /** Count of issues where a version custom field is set to the version. */
    issueCountWithCustomFieldsShowingVersion?: number;
    /** List of custom fields using the version. */
    customFieldUsage?: VersionUsageInCustomField[];
}

interface VersionMove {
    /** The URL (self link) of the version after which to place the moved version. Cannot be used with `position`. */
    after?: string;
    /** An absolute position in which to place the moved version. Cannot be used with `after`. */
    position?: string;
}

/** Associated related work to a version */
interface VersionRelatedWork {
    /** The category of the related work */
    category: string;
    /** The ID of the issue associated with the related work (if there is one). Cannot be updated via the Rest API. */
    issueId?: number;
    /**
     * The id of the related work. For the native release note related work item, this will be null, and Rest API does not
     * support updating it.
     */
    relatedWorkId?: string;
    /** The title of the related work */
    title?: string;
    /** The URL of the related work. Will be null for the native release note related work item, but is otherwise required. */
    url?: string;
}

/** Count of a version's unresolved issues. */
interface VersionUnresolvedIssuesCount {
    /** The URL of these count details. */
    self?: string;
    /** Count of unresolved issues. */
    issuesUnresolvedCount?: number;
    /** Count of issues. */
    issuesCount?: number;
}

/** A list of webhooks. */
interface WebhookDetails {
    /**
     * The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported
     * elements are:
     *
     * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For
     * custom fields (`cf[id]`), only the epic label custom field is supported.". Operators: `=`, `!=`, `IN`, and `NOT
     * IN`.
     */
    jqlFilter: string;
    /**
     * A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent.
     * If this parameter is not present, the app is notified about all field updates.
     */
    fieldIdsFilter?: string[];
    /**
     * A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or
     * `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property
     * updates.
     */
    issuePropertyKeysFilter?: string[];
    /** The Jira events that trigger the webhook. */
    events: string[];
}

/** Details of webhooks to register. */
interface WebhookRegistrationDetails {
    /** A list of webhooks. */
    webhooks: WebhookDetails[];
    /**
     * The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app. Only a
     * single URL per app is allowed to be registered.
     */
    url: string;
}

/** The date the refreshed webhooks expire. */
interface WebhooksExpirationDate {
    /** The expiration date of all the refreshed webhooks. */
    expirationDate: number;
}

interface WorkflowCapabilities$1 {
    workflowId?: string;
    projectId?: string;
    issueTypeId?: string;
}

/** Details of the created workflows and statuses. */
interface WorkflowCreate {
    /** List of created statuses. */
    statuses?: JiraWorkflowStatus[];
    /** List of created workflows. */
    workflows?: JiraWorkflow[];
}

/** Details of the status being updated. */
interface WorkflowStatusUpdate {
    /** The description of the status. */
    description?: string;
    /** The ID of the status. */
    id?: string;
    /** The name of the status. */
    name: string;
    /** The category of the status. */
    statusCategory: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
    /** The reference of the status. */
    statusReference: string;
}

/** The create workflows payload. */
interface WorkflowCreateRequest {
    scope: WorkflowScope;
    /** The statuses to associate with the workflows. */
    statuses: WorkflowStatusUpdate[];
    /** The details of the workflows to create. */
    workflows: WorkflowCreate[];
}

/** A reference to the location of the error. This will be null if the error does not refer to a specific element. */
interface WorkflowElementReference {
    /** A property key. */
    propertyKey?: string;
    /** A rule ID. */
    ruleId?: string;
    statusMappingReference?: ProjectAndIssueTypePair;
    /** A status reference. */
    statusReference?: string;
    /** A transition ID. */
    transitionId?: string;
}

/** Workflow metadata and usage detail. */
interface WorkflowMetadataRestModel {
    /** The description of the workflow. */
    description: string;
    /** The ID of the workflow. */
    id: string;
    /** The name of the workflow. */
    name: string;
    /**
     * @deprecated See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298) for details.
     *
     *   Use the optional `workflows.usages` expand to get additional information about the projects and issue types
     *   associated with the workflows in the workflow scheme.
     */
    usage?: SimpleUsage[];
    version: DocumentVersion;
}

/** The workflow metadata and issue type IDs which use this workflow. */
interface WorkflowMetadataAndIssueTypeRestModel {
    /** The list of issue type IDs for the mapping. */
    issueTypeIds: string[];
    workflow: WorkflowMetadataRestModel;
}

/** A page of issue types. */
interface WorkflowProjectIssueTypeUsagePage {
    /** Token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of issue types. */
    values?: WorkflowProjectIssueTypeUsage[];
}

/** Issue types associated with the workflow for a project. */
interface WorkflowProjectIssueTypeUsage {
    issueTypes?: WorkflowProjectIssueTypeUsagePage;
    /** The ID of the project. */
    projectId?: string;
    /** The ID of the workflow. */
    workflowId?: string;
}

/** Projects using the workflow. */
interface WorkflowProjectUsage {
    projects?: ProjectUsagePage;
    /** The workflow ID. */
    workflowId?: string;
}

/** Details of workflows and related statuses. */
interface WorkflowRead {
    /** List of statuses. */
    statuses?: JiraWorkflowStatus[];
    /** List of workflows. */
    workflows?: JiraWorkflow[];
}

/** Details of the workflow and its transition rules. */
interface WorkflowRulesSearch {
    /** The workflow ID. */
    workflowEntityId: string;
    /** The list of workflow rule IDs. */
    ruleIds: string[];
    /**
     * Use expand to include additional information in the response. This parameter accepts `transition` which, for each
     * rule, returns information about the transition the rule is assigned to.
     */
    expand?: string;
}

/** Details of workflow transition rules. */
interface WorkflowRulesSearchDetails {
    /** The workflow ID. */
    workflowEntityId?: string;
    /** List of workflow rule IDs that do not belong to the workflow or can not be found. */
    invalidRules?: string[];
    /** List of valid workflow transition rules. */
    validRules?: WorkflowTransitionRules$1[];
}

/** The explicit association between issue types and a workflow in a workflow scheme. */
interface WorkflowSchemeAssociation {
    /** The issue types assigned to the workflow. */
    issueTypeIds: string[];
    /** The ID of the workflow. */
    workflowId: string;
}

/** An associated workflow scheme and project. */
interface WorkflowSchemeProjectAssociation {
    /**
     * The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow
     * scheme.
     */
    workflowSchemeId?: string;
    /** The ID of the project. */
    projectId: string;
}

/** Projects using the workflow scheme. */
interface WorkflowSchemeProjectUsage {
    projects?: ProjectUsagePage;
    /** The workflow scheme ID. */
    workflowSchemeId?: string;
}

/** The workflow scheme read request body. */
interface WorkflowSchemeReadRequest {
    /** The list of project IDs to query. */
    projectIds?: string[];
    /** The list of workflow scheme IDs to query. */
    workflowSchemeIds?: string[];
}

interface WorkflowSchemeReadResponse {
    defaultWorkflow?: WorkflowMetadataRestModel;
    /** The description of the workflow scheme. */
    description?: string;
    /** The ID of the workflow scheme. */
    id: string;
    /** The name of the workflow scheme. */
    name: string;
    scope: WorkflowScope;
    /** Indicates if there's an [asynchronous task](#async-operations) for this workflow scheme. */
    taskId?: string;
    version: DocumentVersion;
    /** Mappings from workflows to issue types. */
    workflowsForIssueTypes: WorkflowMetadataAndIssueTypeRestModel[];
}

interface WorkflowSchemeUpdateRequiredMappingsResponse {
    /** The list of required status mappings by issue type. */
    statusMappingsByIssueTypes?: RequiredMappingByIssueType[];
    /** The list of required status mappings by workflow. */
    statusMappingsByWorkflows?: RequiredMappingByWorkflows[];
    /** The details of the statuses in the associated workflows. */
    statuses?: StatusMetadata[];
    /** The statuses associated with each workflow. */
    statusesPerWorkflow?: StatusesPerWorkflow[];
}

/** A page of workflow schemes. */
interface WorkflowSchemeUsagePage {
    /** Token for the next page of issue type usages. */
    nextPageToken?: string;
    /** The list of workflow schemes. */
    values?: WorkflowSchemeUsage[];
}

/** Workflow schemes using the workflow. */
interface WorkflowSchemeUsage {
    /** The workflow ID. */
    workflowId?: string;
    workflowSchemes?: WorkflowSchemeUsagePage;
}

/** Page of items, including workflows and related statuses. */
interface WorkflowSearchResponse {
    /** Whether this is the last page. */
    isLast?: boolean;
    /** The maximum number of items that could be returned. */
    maxResults?: number;
    /** If there is another page of results, the URL of the next page. */
    nextPage?: string;
    /** The URL of the page. */
    self?: string;
    /** The index of the first item returned. */
    startAt?: number;
    /** List of statuses. */
    statuses?: JiraWorkflowStatus[];
    /** The number of items returned. */
    total?: number;
    /** List of workflows. */
    values?: JiraWorkflow[];
}

/** Details about a workflow configuration update request. */
interface WorkflowTransitionRulesDetails {
    workflowId: WorkflowId;
    /** The list of connect workflow rule IDs. */
    workflowRuleIds: string[];
}

/** Details of workflows and their transition rules to delete. */
interface WorkflowsWithTransitionRulesDetails {
    /** The list of workflows with transition rules to delete. */
    workflows: WorkflowTransitionRulesDetails[];
}

/** Details about the server Jira is running on. */
interface WorkflowTransitionProperty {
    /** The key of the transition property. Also known as the name of the transition property. */
    key?: string;
    /** The value of the transition property. */
    value: string;
    /** The ID of the transition property. */
    id?: string;
}

/** Details about a workflow configuration update request. */
interface WorkflowTransitionRulesUpdate {
    /** The list of workflows with transition rules to update. */
    workflows: WorkflowTransitionRules$1[];
}

/** Details of any errors encountered while updating workflow transition rules for a workflow. */
interface WorkflowTransitionRulesUpdateErrorDetails {
    workflowId: WorkflowId;
    /**
     * A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here
     * wasn't updated.
     */
    ruleUpdateErrors: unknown;
    /**
     * The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains
     * any entries.
     */
    updateErrors: string[];
}

/** Details of any errors encountered while updating workflow transition rules. */
interface WorkflowTransitionRulesUpdateErrors {
    /** A list of workflows. */
    updateResults: WorkflowTransitionRulesUpdateErrorDetails[];
}

interface WorkflowUpdate {
    /** List of updated statuses. */
    statuses?: JiraWorkflowStatus[];
    /** If there is a [asynchronous task](#async-operations) operation, as a result of this update. */
    taskId?: string;
    /** List of updated workflows. */
    workflows?: JiraWorkflow[];
}

/** The update workflows payload. */
interface WorkflowUpdateRequest {
    /** The statuses to associate with the workflows. */
    statuses: WorkflowStatusUpdate[];
    /** The details of the workflows to update. */
    workflows: WorkflowUpdate[];
}

interface WorkflowUpdateValidateRequest {
    payload: WorkflowUpdateRequest;
    validationOptions?: ValidationOptionsForUpdate;
}

/** The details about a workflow validation error. */
interface WorkflowValidationError {
    /** An error code. */
    code?: string;
    elementReference?: WorkflowElementReference;
    /** The validation error level. */
    level?: 'WARNING' | 'ERROR' | string;
    /** An error message. */
    message?: string;
    /** The type of element the error or warning references. */
    type?: 'RULE' | 'STATUS' | 'STATUS_LAYOUT' | 'STATUS_PROPERTY' | 'WORKFLOW' | 'TRANSITION' | 'TRANSITION_PROPERTY' | 'SCOPE' | 'STATUS_MAPPING' | 'TRIGGER' | string;
}

interface WorkflowValidationErrorList {
    /** The list of validation errors. */
    errors?: WorkflowValidationError[];
}

interface WorklogIdsRequest {
    /** A list of worklog IDs. */
    ids: number[];
}

interface WorklogsMoveRequest {
    /** A list of worklog IDs. */
    ids?: number[];
    /** The issue id or key of the destination issue */
    issueIdOrKey?: string;
}

/** Details about data policy. */
interface WorkspaceDataPolicy {
    /** Whether the workspace contains any content inaccessible to the requesting application. */
    anyContentBlocked: boolean;
}

type index$7_ActorInput = ActorInput;
type index$7_ActorsMap = ActorsMap;
type index$7_AddField = AddField;
type index$7_AddGroup = AddGroup;
type index$7_AddSecuritySchemeLevelsRequest = AddSecuritySchemeLevelsRequest;
type index$7_AnnouncementBannerConfiguration = AnnouncementBannerConfiguration;
type index$7_AnnouncementBannerConfigurationUpdate = AnnouncementBannerConfigurationUpdate;
type index$7_Application = Application;
type index$7_ApplicationProperty = ApplicationProperty;
type index$7_ApplicationRole = ApplicationRole;
type index$7_ApprovalConfiguration = ApprovalConfiguration;
type index$7_ArchiveIssueAsyncRequest = ArchiveIssueAsyncRequest;
type index$7_AssociateFieldConfigurationsWithIssueTypesRequest = AssociateFieldConfigurationsWithIssueTypesRequest;
type index$7_AssociatedItem = AssociatedItem;
type index$7_AssociationContextObject = AssociationContextObject;
type index$7_AttachmentArchiveEntry = AttachmentArchiveEntry;
type index$7_AttachmentArchiveImpl = AttachmentArchiveImpl;
type index$7_AttachmentArchiveItemReadable = AttachmentArchiveItemReadable;
type index$7_AttachmentArchiveMetadataReadable = AttachmentArchiveMetadataReadable;
type index$7_AttachmentMetadata = AttachmentMetadata;
type index$7_AttachmentSettings = AttachmentSettings;
type index$7_AuditRecord = AuditRecord;
type index$7_AutoCompleteSuggestion = AutoCompleteSuggestion;
type index$7_AutoCompleteSuggestions = AutoCompleteSuggestions;
type index$7_AvailableDashboardGadget = AvailableDashboardGadget;
type index$7_AvailableDashboardGadgetsResponse = AvailableDashboardGadgetsResponse;
type index$7_Avatar = Avatar;
type index$7_AvatarWithDetails = AvatarWithDetails;
type index$7_BoardColumnPayload = BoardColumnPayload;
type index$7_BoardFeaturePayload = BoardFeaturePayload;
type index$7_BoardPayload = BoardPayload;
type index$7_BoardsPayload = BoardsPayload;
type index$7_BulkChangeOwnerDetails = BulkChangeOwnerDetails;
type index$7_BulkChangelog = BulkChangelog;
type index$7_BulkChangelogRequest = BulkChangelogRequest;
type index$7_BulkContextualConfiguration = BulkContextualConfiguration;
type index$7_BulkCustomFieldOptionCreateRequest = BulkCustomFieldOptionCreateRequest;
type index$7_BulkCustomFieldOptionUpdateRequest = BulkCustomFieldOptionUpdateRequest;
type index$7_BulkEditGetFields = BulkEditGetFields;
type index$7_BulkEditShareableEntity = BulkEditShareableEntity;
type index$7_BulkIssue = BulkIssue;
type index$7_BulkIssueIsWatching = BulkIssueIsWatching;
type index$7_BulkIssuePropertyUpdateRequest = BulkIssuePropertyUpdateRequest;
type index$7_BulkOperationErrorResult = BulkOperationErrorResult;
type index$7_BulkOperationProgress = BulkOperationProgress;
type index$7_BulkPermissionGrants = BulkPermissionGrants;
type index$7_BulkPermissionsRequest = BulkPermissionsRequest;
type index$7_BulkProjectPermissionGrants = BulkProjectPermissionGrants;
type index$7_BulkProjectPermissions = BulkProjectPermissions;
type index$7_BulkTransitionGetAvailableTransitions = BulkTransitionGetAvailableTransitions;
type index$7_BulkTransitionSubmitInput = BulkTransitionSubmitInput;
type index$7_CardLayout = CardLayout;
type index$7_CardLayoutField = CardLayoutField;
type index$7_ChangeDetails = ChangeDetails;
type index$7_ChangedValue = ChangedValue;
type index$7_ChangedWorklog = ChangedWorklog;
type index$7_ChangedWorklogs = ChangedWorklogs;
type index$7_Changelog = Changelog;
type index$7_ColumnItem = ColumnItem;
type index$7_Component = Component;
type index$7_ComponentIssuesCount = ComponentIssuesCount;
type index$7_ComponentWithIssueCount = ComponentWithIssueCount;
type index$7_ConditionGroupConfiguration = ConditionGroupConfiguration;
type index$7_ConditionGroupPayload = ConditionGroupPayload;
type index$7_Configuration = Configuration;
type index$7_ConfigurationsListParameters = ConfigurationsListParameters;
type index$7_ConnectCustomFieldValue = ConnectCustomFieldValue;
type index$7_ConnectCustomFieldValues = ConnectCustomFieldValues;
type index$7_ConnectModule = ConnectModule;
type index$7_ConnectModules = ConnectModules;
type index$7_ConnectWorkflowTransitionRule = ConnectWorkflowTransitionRule;
type index$7_ContainerForProjectFeatures = ContainerForProjectFeatures;
type index$7_ContainerForRegisteredWebhooks = ContainerForRegisteredWebhooks;
type index$7_ContainerForWebhookIDs = ContainerForWebhookIDs;
type index$7_ContainerOfWorkflowSchemeAssociations = ContainerOfWorkflowSchemeAssociations;
type index$7_ContextForProjectAndIssueType = ContextForProjectAndIssueType;
type index$7_ContextualConfiguration = ContextualConfiguration;
type index$7_ConvertedJQLQueries = ConvertedJQLQueries;
type index$7_CreateCrossProjectReleaseRequest = CreateCrossProjectReleaseRequest;
type index$7_CreateCustomFieldRequest = CreateCustomFieldRequest;
type index$7_CreateDateFieldRequest = CreateDateFieldRequest;
type index$7_CreateExclusionRulesRequest = CreateExclusionRulesRequest;
type index$7_CreateIssueSecuritySchemeDetails = CreateIssueSecuritySchemeDetails;
type index$7_CreateIssueSourceRequest = CreateIssueSourceRequest;
type index$7_CreateNotificationSchemeDetails = CreateNotificationSchemeDetails;
type index$7_CreatePermissionHolderRequest = CreatePermissionHolderRequest;
type index$7_CreatePermissionRequest = CreatePermissionRequest;
type index$7_CreatePriorityDetails = CreatePriorityDetails;
type index$7_CreateProjectDetails = CreateProjectDetails;
type index$7_CreateResolutionDetails = CreateResolutionDetails;
type index$7_CreateSchedulingRequest = CreateSchedulingRequest;
type index$7_CreateUiModificationDetails = CreateUiModificationDetails;
type index$7_CreateUpdateRoleRequest = CreateUpdateRoleRequest;
type index$7_CreateWorkflowCondition = CreateWorkflowCondition;
type index$7_CreateWorkflowDetails = CreateWorkflowDetails;
type index$7_CreateWorkflowStatusDetails = CreateWorkflowStatusDetails;
type index$7_CreateWorkflowTransitionDetails = CreateWorkflowTransitionDetails;
type index$7_CreateWorkflowTransitionRule = CreateWorkflowTransitionRule;
type index$7_CreateWorkflowTransitionRulesDetails = CreateWorkflowTransitionRulesDetails;
type index$7_CreateWorkflowTransitionScreenDetails = CreateWorkflowTransitionScreenDetails;
type index$7_CreatedIssue = CreatedIssue;
type index$7_CreatedIssues = CreatedIssues;
type index$7_CustomContextVariable = CustomContextVariable;
type index$7_CustomFieldConfigurations = CustomFieldConfigurations;
type index$7_CustomFieldContext = CustomFieldContext;
type index$7_CustomFieldContextDefaultValue = CustomFieldContextDefaultValue;
type index$7_CustomFieldContextDefaultValueUpdate = CustomFieldContextDefaultValueUpdate;
type index$7_CustomFieldContextOption = CustomFieldContextOption;
type index$7_CustomFieldContextProjectMapping = CustomFieldContextProjectMapping;
type index$7_CustomFieldContextUpdateDetails = CustomFieldContextUpdateDetails;
type index$7_CustomFieldCreatedContextOptionsList = CustomFieldCreatedContextOptionsList;
type index$7_CustomFieldDefinitionJson = CustomFieldDefinitionJson;
type index$7_CustomFieldOption = CustomFieldOption;
type index$7_CustomFieldOptionCreate = CustomFieldOptionCreate;
type index$7_CustomFieldOptionUpdate = CustomFieldOptionUpdate;
type index$7_CustomFieldPayload = CustomFieldPayload;
type index$7_CustomFieldReplacement = CustomFieldReplacement;
type index$7_CustomFieldUpdatedContextOptionsList = CustomFieldUpdatedContextOptionsList;
type index$7_CustomFieldValueUpdate = CustomFieldValueUpdate;
type index$7_CustomFieldValueUpdateRequest = CustomFieldValueUpdateRequest;
type index$7_CustomTemplateRequest = CustomTemplateRequest;
type index$7_CustomTemplatesProjectDetails = CustomTemplatesProjectDetails;
type index$7_Dashboard = Dashboard;
type index$7_DashboardDetails = DashboardDetails;
type index$7_DashboardGadget = DashboardGadget;
type index$7_DashboardGadgetPosition = DashboardGadgetPosition;
type index$7_DashboardGadgetResponse = DashboardGadgetResponse;
type index$7_DashboardGadgetSettings = DashboardGadgetSettings;
type index$7_DashboardGadgetUpdateRequest = DashboardGadgetUpdateRequest;
type index$7_DashboardUser = DashboardUser;
type index$7_DataClassificationLevels = DataClassificationLevels;
type index$7_DataClassificationTag = DataClassificationTag;
type index$7_DateRangeFilter = DateRangeFilter;
type index$7_DefaultLevelValue = DefaultLevelValue;
type index$7_DefaultShareScope = DefaultShareScope;
type index$7_DefaultWorkflow = DefaultWorkflow;
type index$7_Document = Document;
type index$7_DocumentVersion = DocumentVersion;
type index$7_EnhancedSearchRequest = EnhancedSearchRequest;
type index$7_EntityPropertyDetails = EntityPropertyDetails;
type index$7_ErrorCollection = ErrorCollection;
type index$7_Errors = Errors;
type index$7_EvaluateMetaData = EvaluateMetaData;
type index$7_EvaluatedJiraExpression = EvaluatedJiraExpression;
type index$7_EventNotification = EventNotification;
type index$7_ExportArchivedIssuesTaskProgress = ExportArchivedIssuesTaskProgress;
type index$7_FailedWebhook = FailedWebhook;
type index$7_FailedWebhooks = FailedWebhooks;
type index$7_Field = Field;
type index$7_FieldAssociationsRequest = FieldAssociationsRequest;
type index$7_FieldCapabilityPayload = FieldCapabilityPayload;
type index$7_FieldConfiguration = FieldConfiguration;
type index$7_FieldConfigurationDetails = FieldConfigurationDetails;
type index$7_FieldConfigurationIssueTypeItem = FieldConfigurationIssueTypeItem;
type index$7_FieldConfigurationItem = FieldConfigurationItem;
type index$7_FieldConfigurationItemsDetails = FieldConfigurationItemsDetails;
type index$7_FieldConfigurationScheme = FieldConfigurationScheme;
type index$7_FieldConfigurationSchemeProjectAssociation = FieldConfigurationSchemeProjectAssociation;
type index$7_FieldConfigurationSchemeProjects = FieldConfigurationSchemeProjects;
type index$7_FieldConfigurationToIssueTypeMapping = FieldConfigurationToIssueTypeMapping;
type index$7_FieldCreateMetadata = FieldCreateMetadata;
type index$7_FieldDetails = FieldDetails;
type index$7_FieldIdentifierObject = FieldIdentifierObject;
type index$7_FieldLastUsed = FieldLastUsed;
type index$7_FieldLayoutConfiguration = FieldLayoutConfiguration;
type index$7_FieldLayoutPayload = FieldLayoutPayload;
type index$7_FieldLayoutSchemePayload = FieldLayoutSchemePayload;
type index$7_FieldReferenceData = FieldReferenceData;
type index$7_Filter = Filter;
type index$7_FilterDetails = FilterDetails;
type index$7_FilterSubscription = FilterSubscription;
type index$7_FilterSubscriptionsList = FilterSubscriptionsList;
type index$7_FoundGroup = FoundGroup;
type index$7_FoundGroups = FoundGroups;
type index$7_FoundUsers = FoundUsers;
type index$7_FoundUsersAndGroups = FoundUsersAndGroups;
type index$7_FromLayoutPayload = FromLayoutPayload;
type index$7_FunctionReferenceData = FunctionReferenceData;
type index$7_GetAtlassianTeamResponse = GetAtlassianTeamResponse;
type index$7_GetCrossProjectReleaseResponse = GetCrossProjectReleaseResponse;
type index$7_GetCustomFieldResponse = GetCustomFieldResponse;
type index$7_GetDateFieldResponse = GetDateFieldResponse;
type index$7_GetExclusionRulesResponse = GetExclusionRulesResponse;
type index$7_GetIssueSourceResponse = GetIssueSourceResponse;
type index$7_GetPermissionHolderResponse = GetPermissionHolderResponse;
type index$7_GetPermissionResponse = GetPermissionResponse;
type index$7_GetPlanOnlyTeamResponse = GetPlanOnlyTeamResponse;
type index$7_GetPlanResponseForPage = GetPlanResponseForPage;
type index$7_GetSchedulingResponse = GetSchedulingResponse;
type index$7_GetTeamResponseForPage = GetTeamResponseForPage;
type index$7_GlobalScope = GlobalScope;
type index$7_GroupDetails = GroupDetails;
type index$7_GroupLabel = GroupLabel;
type index$7_GroupName = GroupName;
type index$7_Hierarchy = Hierarchy;
type index$7_HierarchyLevel = HierarchyLevel;
type index$7_HistoryMetadata = HistoryMetadata;
type index$7_HistoryMetadataParticipant = HistoryMetadataParticipant;
type index$7_Icon = Icon;
type index$7_Id = Id;
type index$7_IdOrKey = IdOrKey;
type index$7_IdSearchRequest = IdSearchRequest;
type index$7_IdSearchResults = IdSearchResults;
type index$7_IncludedFields = IncludedFields;
type index$7_IssueArchivalSync = IssueArchivalSync;
type index$7_IssueArchivalSyncRequest = IssueArchivalSyncRequest;
type index$7_IssueBulkDeletePayload = IssueBulkDeletePayload;
type index$7_IssueBulkEditField = IssueBulkEditField;
type index$7_IssueBulkEditPayload = IssueBulkEditPayload;
type index$7_IssueBulkMovePayload = IssueBulkMovePayload;
type index$7_IssueBulkTransitionForWorkflow = IssueBulkTransitionForWorkflow;
type index$7_IssueBulkTransitionPayload = IssueBulkTransitionPayload;
type index$7_IssueBulkWatchOrUnwatchPayload = IssueBulkWatchOrUnwatchPayload;
type index$7_IssueChangeLog = IssueChangeLog;
type index$7_IssueChangelogIds = IssueChangelogIds;
type index$7_IssueCommentListRequest = IssueCommentListRequest;
type index$7_IssueCreateMetadata = IssueCreateMetadata;
type index$7_IssueEntityProperties = IssueEntityProperties;
type index$7_IssueEntityPropertiesForMultiUpdate = IssueEntityPropertiesForMultiUpdate;
type index$7_IssueError = IssueError;
type index$7_IssueEvent = IssueEvent;
type index$7_IssueFieldOption = IssueFieldOption;
type index$7_IssueFieldOptionConfiguration = IssueFieldOptionConfiguration;
type index$7_IssueFieldOptionCreate = IssueFieldOptionCreate;
type index$7_IssueFieldOptionScope = IssueFieldOptionScope;
type index$7_IssueFilterForBulkPropertyDelete = IssueFilterForBulkPropertyDelete;
type index$7_IssueFilterForBulkPropertySet = IssueFilterForBulkPropertySet;
type index$7_IssueLayoutItemPayload = IssueLayoutItemPayload;
type index$7_IssueLayoutPayload = IssueLayoutPayload;
type index$7_IssueLimitReport = IssueLimitReport;
type index$7_IssueLink = IssueLink;
type index$7_IssueLinkType = IssueLinkType;
type index$7_IssueList = IssueList;
type index$7_IssueMatches = IssueMatches;
type index$7_IssueMatchesForJQL = IssueMatchesForJQL;
type index$7_IssuePickerSuggestions = IssuePickerSuggestions;
type index$7_IssuePickerSuggestionsIssueType = IssuePickerSuggestionsIssueType;
type index$7_IssueSecurityLevelMember = IssueSecurityLevelMember;
type index$7_IssueSecuritySchemeToProjectMapping = IssueSecuritySchemeToProjectMapping;
type index$7_IssueTransitionStatus = IssueTransitionStatus;
type index$7_IssueTypeCreate = IssueTypeCreate;
type index$7_IssueTypeDetails = IssueTypeDetails;
type index$7_IssueTypeHierarchyPayload = IssueTypeHierarchyPayload;
type index$7_IssueTypeIds = IssueTypeIds;
type index$7_IssueTypeIdsToRemove = IssueTypeIdsToRemove;
type index$7_IssueTypeInfo = IssueTypeInfo;
type index$7_IssueTypeIssueCreateMetadata = IssueTypeIssueCreateMetadata;
type index$7_IssueTypePayload = IssueTypePayload;
type index$7_IssueTypeProjectCreatePayload = IssueTypeProjectCreatePayload;
type index$7_IssueTypeScheme = IssueTypeScheme;
type index$7_IssueTypeSchemeDetails = IssueTypeSchemeDetails;
type index$7_IssueTypeSchemeID = IssueTypeSchemeID;
type index$7_IssueTypeSchemeMapping = IssueTypeSchemeMapping;
type index$7_IssueTypeSchemePayload = IssueTypeSchemePayload;
type index$7_IssueTypeSchemeProjectAssociation = IssueTypeSchemeProjectAssociation;
type index$7_IssueTypeSchemeProjects = IssueTypeSchemeProjects;
type index$7_IssueTypeSchemeUpdateDetails = IssueTypeSchemeUpdateDetails;
type index$7_IssueTypeScreenScheme = IssueTypeScreenScheme;
type index$7_IssueTypeScreenSchemeDetails = IssueTypeScreenSchemeDetails;
type index$7_IssueTypeScreenSchemeId = IssueTypeScreenSchemeId;
type index$7_IssueTypeScreenSchemeItem = IssueTypeScreenSchemeItem;
type index$7_IssueTypeScreenSchemeMapping = IssueTypeScreenSchemeMapping;
type index$7_IssueTypeScreenSchemeMappingDetails = IssueTypeScreenSchemeMappingDetails;
type index$7_IssueTypeScreenSchemePayload = IssueTypeScreenSchemePayload;
type index$7_IssueTypeScreenSchemeProjectAssociation = IssueTypeScreenSchemeProjectAssociation;
type index$7_IssueTypeScreenSchemeUpdateDetails = IssueTypeScreenSchemeUpdateDetails;
type index$7_IssueTypeScreenSchemesProjects = IssueTypeScreenSchemesProjects;
type index$7_IssueTypeToContextMapping = IssueTypeToContextMapping;
type index$7_IssueTypeUpdate = IssueTypeUpdate;
type index$7_IssueTypeWithStatus = IssueTypeWithStatus;
type index$7_IssueTypeWorkflowMapping = IssueTypeWorkflowMapping;
type index$7_IssueTypesWorkflowMapping = IssueTypesWorkflowMapping;
type index$7_IssueUpdateDetails = IssueUpdateDetails;
type index$7_IssueUpdateMetadata = IssueUpdateMetadata;
type index$7_IssuesAndJQLQueries = IssuesAndJQLQueries;
type index$7_IssuesJqlMetaData = IssuesJqlMetaData;
type index$7_IssuesMeta = IssuesMeta;
type index$7_IssuesUpdate = IssuesUpdate;
type index$7_JExpEvaluateIssuesJqlMetaData = JExpEvaluateIssuesJqlMetaData;
type index$7_JExpEvaluateIssuesMeta = JExpEvaluateIssuesMeta;
type index$7_JQLCount = JQLCount;
type index$7_JQLCountRequest = JQLCountRequest;
type index$7_JQLPersonalDataMigrationRequest = JQLPersonalDataMigrationRequest;
type index$7_JQLQueryWithUnknownUsers = JQLQueryWithUnknownUsers;
type index$7_JQLReferenceData = JQLReferenceData;
type index$7_JexpEvaluateCtxIssues = JexpEvaluateCtxIssues;
type index$7_JexpEvaluateCtxJqlIssues = JexpEvaluateCtxJqlIssues;
type index$7_JexpIssues = JexpIssues;
type index$7_JexpJqlIssues = JexpJqlIssues;
type index$7_JiraCascadingSelectField = JiraCascadingSelectField;
type index$7_JiraColorField = JiraColorField;
type index$7_JiraColorInput = JiraColorInput;
type index$7_JiraComponentField = JiraComponentField;
type index$7_JiraDateField = JiraDateField;
type index$7_JiraDateInput = JiraDateInput;
type index$7_JiraDateTimeField = JiraDateTimeField;
type index$7_JiraDateTimeInput = JiraDateTimeInput;
type index$7_JiraDurationField = JiraDurationField;
type index$7_JiraExpressionAnalysis = JiraExpressionAnalysis;
type index$7_JiraExpressionComplexity = JiraExpressionComplexity;
type index$7_JiraExpressionEvalContext = JiraExpressionEvalContext;
type index$7_JiraExpressionEvalRequest = JiraExpressionEvalRequest;
type index$7_JiraExpressionEvalUsingEnhancedSearchRequest = JiraExpressionEvalUsingEnhancedSearchRequest;
type index$7_JiraExpressionEvaluateContext = JiraExpressionEvaluateContext;
type index$7_JiraExpressionEvaluateContextBean = JiraExpressionEvaluateContextBean;
type index$7_JiraExpressionEvaluationMetaData = JiraExpressionEvaluationMetaData;
type index$7_JiraExpressionForAnalysis = JiraExpressionForAnalysis;
type index$7_JiraExpressionResult = JiraExpressionResult;
type index$7_JiraExpressionValidationError = JiraExpressionValidationError;
type index$7_JiraExpressionsAnalysis = JiraExpressionsAnalysis;
type index$7_JiraExpressionsComplexity = JiraExpressionsComplexity;
type index$7_JiraExpressionsComplexityValue = JiraExpressionsComplexityValue;
type index$7_JiraGroupInput = JiraGroupInput;
type index$7_JiraIssueFields = JiraIssueFields;
type index$7_JiraIssueTypeField = JiraIssueTypeField;
type index$7_JiraLabelsField = JiraLabelsField;
type index$7_JiraLabelsInput = JiraLabelsInput;
type index$7_JiraMultiSelectComponentField = JiraMultiSelectComponentField;
type index$7_JiraMultipleGroupPickerField = JiraMultipleGroupPickerField;
type index$7_JiraMultipleSelectField = JiraMultipleSelectField;
type index$7_JiraMultipleSelectUserPickerField = JiraMultipleSelectUserPickerField;
type index$7_JiraMultipleVersionPickerField = JiraMultipleVersionPickerField;
type index$7_JiraNumberField = JiraNumberField;
type index$7_JiraPriorityField = JiraPriorityField;
type index$7_JiraRichTextField = JiraRichTextField;
type index$7_JiraRichTextInput = JiraRichTextInput;
type index$7_JiraSelectedOptionField = JiraSelectedOptionField;
type index$7_JiraSingleGroupPickerField = JiraSingleGroupPickerField;
type index$7_JiraSingleLineTextField = JiraSingleLineTextField;
type index$7_JiraSingleSelectField = JiraSingleSelectField;
type index$7_JiraSingleSelectUserPickerField = JiraSingleSelectUserPickerField;
type index$7_JiraSingleVersionPickerField = JiraSingleVersionPickerField;
type index$7_JiraStatus = JiraStatus;
type index$7_JiraTimeTrackingField = JiraTimeTrackingField;
type index$7_JiraUrlField = JiraUrlField;
type index$7_JiraUserField = JiraUserField;
type index$7_JiraVersionField = JiraVersionField;
type index$7_JiraWorkflow = JiraWorkflow;
type index$7_JiraWorkflowStatus = JiraWorkflowStatus;
type index$7_JqlFunctionPrecomputation = JqlFunctionPrecomputation;
type index$7_JqlFunctionPrecomputationGetByIdRequest = JqlFunctionPrecomputationGetByIdRequest;
type index$7_JqlFunctionPrecomputationGetByIdResponse = JqlFunctionPrecomputationGetByIdResponse;
type index$7_JqlFunctionPrecomputationUpdate = JqlFunctionPrecomputationUpdate;
type index$7_JqlFunctionPrecomputationUpdateRequest = JqlFunctionPrecomputationUpdateRequest;
type index$7_JqlQueriesToParse = JqlQueriesToParse;
type index$7_JqlQueriesToSanitize = JqlQueriesToSanitize;
type index$7_JqlQuery = JqlQuery;
type index$7_JqlQueryClause = JqlQueryClause;
type index$7_JqlQueryField = JqlQueryField;
type index$7_JqlQueryFieldEntityProperty = JqlQueryFieldEntityProperty;
type index$7_JqlQueryOrderByClause = JqlQueryOrderByClause;
type index$7_JqlQueryOrderByClauseElement = JqlQueryOrderByClauseElement;
type index$7_JqlQueryToSanitize = JqlQueryToSanitize;
type index$7_JsonNode = JsonNode;
type index$7_License = License;
type index$7_LicenseMetric = LicenseMetric;
type index$7_LicensedApplication = LicensedApplication;
type index$7_LinkIssueRequestJson = LinkIssueRequestJson;
type index$7_LinkedIssue = LinkedIssue;
type index$7_ListWrapperCallbackApplicationRole = ListWrapperCallbackApplicationRole;
type index$7_ListWrapperCallbackGroupName = ListWrapperCallbackGroupName;
type index$7_Locale = Locale;
type index$7_MappingsByIssueTypeOverride = MappingsByIssueTypeOverride;
type index$7_MappingsByWorkflow = MappingsByWorkflow;
type index$7_Mark = Mark;
type index$7_MoveField = MoveField;
type index$7_MultiIssueEntityProperties = MultiIssueEntityProperties;
type index$7_MultipleCustomFieldValuesUpdate = MultipleCustomFieldValuesUpdate;
type index$7_MultipleCustomFieldValuesUpdateDetails = MultipleCustomFieldValuesUpdateDetails;
type index$7_NestedResponse = NestedResponse;
type index$7_NewUserDetails = NewUserDetails;
type index$7_NonWorkingDay = NonWorkingDay;
type index$7_Notification = Notification;
type index$7_NotificationEvent = NotificationEvent;
type index$7_NotificationRecipients = NotificationRecipients;
type index$7_NotificationRecipientsRestrictions = NotificationRecipientsRestrictions;
type index$7_NotificationScheme = NotificationScheme;
type index$7_NotificationSchemeAndProjectMapping = NotificationSchemeAndProjectMapping;
type index$7_NotificationSchemeAndProjectMappingPage = NotificationSchemeAndProjectMappingPage;
type index$7_NotificationSchemeEvent = NotificationSchemeEvent;
type index$7_NotificationSchemeEventDetails = NotificationSchemeEventDetails;
type index$7_NotificationSchemeEventIDPayload = NotificationSchemeEventIDPayload;
type index$7_NotificationSchemeEventPayload = NotificationSchemeEventPayload;
type index$7_NotificationSchemeEventTypeId = NotificationSchemeEventTypeId;
type index$7_NotificationSchemeId = NotificationSchemeId;
type index$7_NotificationSchemeNotificationDetails = NotificationSchemeNotificationDetails;
type index$7_NotificationSchemeNotificationDetailsPayload = NotificationSchemeNotificationDetailsPayload;
type index$7_NotificationSchemePayload = NotificationSchemePayload;
type index$7_OldToNewSecurityLevelMappings = OldToNewSecurityLevelMappings;
type index$7_OperationMessage = OperationMessage;
type index$7_OrderOfCustomFieldOptions = OrderOfCustomFieldOptions;
type index$7_OrderOfIssueTypes = OrderOfIssueTypes;
type index$7_PageBulkContextualConfiguration = PageBulkContextualConfiguration;
type index$7_PageChangelog = PageChangelog;
type index$7_PageComment = PageComment;
type index$7_PageComponentWithIssueCount = PageComponentWithIssueCount;
type index$7_PageContextForProjectAndIssueType = PageContextForProjectAndIssueType;
type index$7_PageContextualConfiguration = PageContextualConfiguration;
type index$7_PageCustomFieldContext = PageCustomFieldContext;
type index$7_PageCustomFieldContextDefaultValue = PageCustomFieldContextDefaultValue;
type index$7_PageCustomFieldContextOption = PageCustomFieldContextOption;
type index$7_PageCustomFieldContextProjectMapping = PageCustomFieldContextProjectMapping;
type index$7_PageDashboard = PageDashboard;
type index$7_PageField = PageField;
type index$7_PageFieldConfigurationIssueTypeItem = PageFieldConfigurationIssueTypeItem;
type index$7_PageFieldConfigurationItem = PageFieldConfigurationItem;
type index$7_PageFieldConfigurationScheme = PageFieldConfigurationScheme;
type index$7_PageFieldConfigurationSchemeProjects = PageFieldConfigurationSchemeProjects;
type index$7_PageFilterDetails = PageFilterDetails;
type index$7_PageGroupDetails = PageGroupDetails;
type index$7_PageIssueFieldOption = PageIssueFieldOption;
type index$7_PageIssueSecurityLevelMember = PageIssueSecurityLevelMember;
type index$7_PageIssueSecuritySchemeToProjectMapping = PageIssueSecuritySchemeToProjectMapping;
type index$7_PageIssueTypeScheme = PageIssueTypeScheme;
type index$7_PageIssueTypeSchemeMapping = PageIssueTypeSchemeMapping;
type index$7_PageIssueTypeSchemeProjects = PageIssueTypeSchemeProjects;
type index$7_PageIssueTypeScreenScheme = PageIssueTypeScreenScheme;
type index$7_PageIssueTypeScreenSchemeItem = PageIssueTypeScreenSchemeItem;
type index$7_PageIssueTypeScreenSchemesProjects = PageIssueTypeScreenSchemesProjects;
type index$7_PageIssueTypeToContextMapping = PageIssueTypeToContextMapping;
type index$7_PageJqlFunctionPrecomputation = PageJqlFunctionPrecomputation;
type index$7_PageNotificationScheme = PageNotificationScheme;
type index$7_PageOfChangelogs = PageOfChangelogs;
type index$7_PageOfComments = PageOfComments;
type index$7_PageOfCreateMetaIssueTypeWithField = PageOfCreateMetaIssueTypeWithField;
type index$7_PageOfCreateMetaIssueTypes = PageOfCreateMetaIssueTypes;
type index$7_PageOfDashboards = PageOfDashboards;
type index$7_PageOfStatuses = PageOfStatuses;
type index$7_PageOfWorklogs = PageOfWorklogs;
type index$7_PagePriority = PagePriority;
type index$7_PageProject = PageProject;
type index$7_PageProjectDetails = PageProjectDetails;
type index$7_PageResolution = PageResolution;
type index$7_PageScreen = PageScreen;
type index$7_PageScreenScheme = PageScreenScheme;
type index$7_PageScreenWithTab = PageScreenWithTab;
type index$7_PageSecurityLevel = PageSecurityLevel;
type index$7_PageSecurityLevelMember = PageSecurityLevelMember;
type index$7_PageSecuritySchemeWithProjects = PageSecuritySchemeWithProjects;
type index$7_PageString = PageString;
type index$7_PageUiModificationDetails = PageUiModificationDetails;
type index$7_PageUser = PageUser;
type index$7_PageUserDetails = PageUserDetails;
type index$7_PageUserKey = PageUserKey;
type index$7_PageVersion = PageVersion;
type index$7_PageWebhook = PageWebhook;
type index$7_PageWithCursorGetPlanResponseForPage = PageWithCursorGetPlanResponseForPage;
type index$7_PageWithCursorGetTeamResponseForPage = PageWithCursorGetTeamResponseForPage;
type index$7_PageWorkflow = PageWorkflow;
type index$7_PageWorkflowScheme = PageWorkflowScheme;
type index$7_PageWorkflowTransitionRules = PageWorkflowTransitionRules;
type index$7_PagedListUserDetailsApplicationUser = PagedListUserDetailsApplicationUser;
type index$7_ParsedJqlQueries = ParsedJqlQueries;
type index$7_ParsedJqlQuery = ParsedJqlQuery;
type index$7_PermissionDetails = PermissionDetails;
type index$7_PermissionGrant = PermissionGrant;
type index$7_PermissionGrantDTO = PermissionGrantDTO;
type index$7_PermissionGrants = PermissionGrants;
type index$7_PermissionHolder = PermissionHolder;
type index$7_PermissionPayload = PermissionPayload;
type index$7_PermissionScheme = PermissionScheme;
type index$7_PermissionsKeys = PermissionsKeys;
type index$7_PermittedProjects = PermittedProjects;
type index$7_Plan = Plan;
type index$7_Priority = Priority;
type index$7_PriorityId = PriorityId;
type index$7_PriorityMapping = PriorityMapping;
type index$7_PrioritySchemeChangesWithoutMappings = PrioritySchemeChangesWithoutMappings;
type index$7_PrioritySchemeId = PrioritySchemeId;
type index$7_PrioritySchemeWithPaginatedPrioritiesAndProjects = PrioritySchemeWithPaginatedPrioritiesAndProjects;
type index$7_PriorityWithSequence = PriorityWithSequence;
type index$7_ProjectAndIssueTypePair = ProjectAndIssueTypePair;
type index$7_ProjectCategory = ProjectCategory;
type index$7_ProjectComponent = ProjectComponent;
type index$7_ProjectCreateResourceIdentifier = ProjectCreateResourceIdentifier;
type index$7_ProjectCustomTemplateCreateRequest = ProjectCustomTemplateCreateRequest;
type index$7_ProjectDataPolicies = ProjectDataPolicies;
type index$7_ProjectDataPolicy = ProjectDataPolicy;
type index$7_ProjectDetails = ProjectDetails;
type index$7_ProjectEmailAddress = ProjectEmailAddress;
type index$7_ProjectFeature = ProjectFeature;
type index$7_ProjectFeatureToggleRequest = ProjectFeatureToggleRequest;
type index$7_ProjectId = ProjectId;
type index$7_ProjectIdentifier = ProjectIdentifier;
type index$7_ProjectIdentifiers = ProjectIdentifiers;
type index$7_ProjectIds = ProjectIds;
type index$7_ProjectInsight = ProjectInsight;
type index$7_ProjectIssueCreateMetadata = ProjectIssueCreateMetadata;
type index$7_ProjectIssueSecurityLevels = ProjectIssueSecurityLevels;
type index$7_ProjectIssueTypeHierarchy = ProjectIssueTypeHierarchy;
type index$7_ProjectIssueTypeMapping = ProjectIssueTypeMapping;
type index$7_ProjectIssueTypeMappings = ProjectIssueTypeMappings;
type index$7_ProjectIssueTypes = ProjectIssueTypes;
type index$7_ProjectIssueTypesHierarchyLevel = ProjectIssueTypesHierarchyLevel;
type index$7_ProjectLandingPageInfo = ProjectLandingPageInfo;
type index$7_ProjectPayload = ProjectPayload;
type index$7_ProjectPermissions = ProjectPermissions;
type index$7_ProjectRole = ProjectRole;
type index$7_ProjectRoleActorsUpdate = ProjectRoleActorsUpdate;
type index$7_ProjectRoleDetails = ProjectRoleDetails;
type index$7_ProjectRoleGroup = ProjectRoleGroup;
type index$7_ProjectRoleUser = ProjectRoleUser;
type index$7_ProjectScope = ProjectScope;
type index$7_ProjectType = ProjectType;
type index$7_ProjectUsage = ProjectUsage;
type index$7_ProjectUsagePage = ProjectUsagePage;
type index$7_ProjectWithDataPolicy = ProjectWithDataPolicy;
type index$7_PublishedWorkflowId = PublishedWorkflowId;
type index$7_QuickFilterPayload = QuickFilterPayload;
type index$7_RegisteredWebhook = RegisteredWebhook;
type index$7_RemoteIssueLink = RemoteIssueLink;
type index$7_RemoteIssueLinkIdentifies = RemoteIssueLinkIdentifies;
type index$7_RemoteIssueLinkRequest = RemoteIssueLinkRequest;
type index$7_RemoteObject = RemoteObject;
type index$7_RemoveOptionFromIssuesResult = RemoveOptionFromIssuesResult;
type index$7_ReorderIssuePriorities = ReorderIssuePriorities;
type index$7_ReorderIssueResolutionsRequest = ReorderIssueResolutionsRequest;
type index$7_RequiredMappingByIssueType = RequiredMappingByIssueType;
type index$7_RequiredMappingByWorkflows = RequiredMappingByWorkflows;
type index$7_Resolution = Resolution;
type index$7_ResolutionId = ResolutionId;
type index$7_RestrictedPermission = RestrictedPermission;
type index$7_RichText = RichText;
type index$7_RoleActor = RoleActor;
type index$7_RolePayload = RolePayload;
type index$7_RolesCapabilityPayload = RolesCapabilityPayload;
type index$7_RuleConfiguration = RuleConfiguration;
type index$7_RulePayload = RulePayload;
type index$7_SanitizedJqlQueries = SanitizedJqlQueries;
type index$7_SanitizedJqlQuery = SanitizedJqlQuery;
type index$7_ScopePayload = ScopePayload;
type index$7_Screen = Screen;
type index$7_ScreenDetails = ScreenDetails;
type index$7_ScreenID = ScreenID;
type index$7_ScreenPayload = ScreenPayload;
type index$7_ScreenScheme = ScreenScheme;
type index$7_ScreenSchemeDetails = ScreenSchemeDetails;
type index$7_ScreenSchemeId = ScreenSchemeId;
type index$7_ScreenSchemePayload = ScreenSchemePayload;
type index$7_ScreenTypes = ScreenTypes;
type index$7_ScreenWithTab = ScreenWithTab;
type index$7_ScreenableField = ScreenableField;
type index$7_ScreenableTab = ScreenableTab;
type index$7_SearchAndReconcileResults = SearchAndReconcileResults;
type index$7_SearchAutoCompleteFilter = SearchAutoCompleteFilter;
type index$7_SearchRequest = SearchRequest;
type index$7_SecurityLevel = SecurityLevel;
type index$7_SecurityLevelMember = SecurityLevelMember;
type index$7_SecurityLevelMemberPayload = SecurityLevelMemberPayload;
type index$7_SecurityLevelPayload = SecurityLevelPayload;
type index$7_SecurityScheme = SecurityScheme;
type index$7_SecuritySchemeId = SecuritySchemeId;
type index$7_SecuritySchemeLevel = SecuritySchemeLevel;
type index$7_SecuritySchemeLevelMember = SecuritySchemeLevelMember;
type index$7_SecuritySchemeMembersRequest = SecuritySchemeMembersRequest;
type index$7_SecuritySchemePayload = SecuritySchemePayload;
type index$7_SecuritySchemeWithProjects = SecuritySchemeWithProjects;
type index$7_SecuritySchemes = SecuritySchemes;
type index$7_ServerInformation = ServerInformation;
type index$7_ServiceRegistryTier = ServiceRegistryTier;
type index$7_SetDefaultLevelsRequest = SetDefaultLevelsRequest;
type index$7_SetDefaultPriorityRequest = SetDefaultPriorityRequest;
type index$7_SetDefaultResolutionRequest = SetDefaultResolutionRequest;
type index$7_SharePermission = SharePermission;
type index$7_SharePermissionInput = SharePermissionInput;
type index$7_SimpleApplicationProperty = SimpleApplicationProperty;
type index$7_SimpleErrorCollection = SimpleErrorCollection;
type index$7_SimpleLink = SimpleLink;
type index$7_SimpleListWrapperApplicationRole = SimpleListWrapperApplicationRole;
type index$7_SimpleListWrapperGroupName = SimpleListWrapperGroupName;
type index$7_SimpleUsage = SimpleUsage;
type index$7_SimplifiedIssueTransition = SimplifiedIssueTransition;
type index$7_StatusCreate = StatusCreate;
type index$7_StatusCreateRequest = StatusCreateRequest;
type index$7_StatusMapping = StatusMapping;
type index$7_StatusMetadata = StatusMetadata;
type index$7_StatusPayload = StatusPayload;
type index$7_StatusProjectIssueTypeUsage = StatusProjectIssueTypeUsage;
type index$7_StatusProjectIssueTypeUsagePage = StatusProjectIssueTypeUsagePage;
type index$7_StatusProjectUsage = StatusProjectUsage;
type index$7_StatusProjectUsagePage = StatusProjectUsagePage;
type index$7_StatusScope = StatusScope;
type index$7_StatusUpdate = StatusUpdate;
type index$7_StatusUpdateRequest = StatusUpdateRequest;
type index$7_StatusWorkflowUsage = StatusWorkflowUsage;
type index$7_StatusWorkflowUsagePage = StatusWorkflowUsagePage;
type index$7_StatusWorkflowUsageWorkflow = StatusWorkflowUsageWorkflow;
type index$7_StatusesPerWorkflow = StatusesPerWorkflow;
type index$7_SubmittedBulkOperation = SubmittedBulkOperation;
type index$7_SuggestedIssue = SuggestedIssue;
type index$7_SuggestedMappingsForPrioritiesRequest = SuggestedMappingsForPrioritiesRequest;
type index$7_SuggestedMappingsForProjectsRequest = SuggestedMappingsForProjectsRequest;
type index$7_SuggestedMappingsRequest = SuggestedMappingsRequest;
type index$7_SwimlanesPayload = SwimlanesPayload;
type index$7_SystemAvatars = SystemAvatars;
type index$7_TabPayload = TabPayload;
type index$7_TaskProgressNode = TaskProgressNode;
type index$7_TaskProgressObject = TaskProgressObject;
type index$7_TaskProgressRemoveOptionFromIssuesResult = TaskProgressRemoveOptionFromIssuesResult;
type index$7_TimeTrackingConfiguration = TimeTrackingConfiguration;
type index$7_TimeTrackingDetails = TimeTrackingDetails;
type index$7_TimeTrackingProvider = TimeTrackingProvider;
type index$7_ToLayoutPayload = ToLayoutPayload;
type index$7_Transition = Transition;
type index$7_TransitionPayload = TransitionPayload;
type index$7_Transitions = Transitions;
type index$7_UiModificationContextDetails = UiModificationContextDetails;
type index$7_UiModificationDetails = UiModificationDetails;
type index$7_UiModificationIdentifiers = UiModificationIdentifiers;
type index$7_UnrestrictedUserEmail = UnrestrictedUserEmail;
type index$7_UpdateCustomFieldDetails = UpdateCustomFieldDetails;
type index$7_UpdateFieldConfigurationSchemeDetails = UpdateFieldConfigurationSchemeDetails;
type index$7_UpdateIssueSecurityLevelDetails = UpdateIssueSecurityLevelDetails;
type index$7_UpdateIssueSecuritySchemeRequest = UpdateIssueSecuritySchemeRequest;
type index$7_UpdateNotificationSchemeDetails = UpdateNotificationSchemeDetails;
type index$7_UpdatePrioritiesInSchemeRequest = UpdatePrioritiesInSchemeRequest;
type index$7_UpdatePriorityDetails = UpdatePriorityDetails;
type index$7_UpdatePrioritySchemeRequest = UpdatePrioritySchemeRequest;
type index$7_UpdatePrioritySchemeResponse = UpdatePrioritySchemeResponse;
type index$7_UpdateProjectDetails = UpdateProjectDetails;
type index$7_UpdateProjectsInSchemeRequest = UpdateProjectsInSchemeRequest;
type index$7_UpdateResolutionDetails = UpdateResolutionDetails;
type index$7_UpdateScreenDetails = UpdateScreenDetails;
type index$7_UpdateScreenSchemeDetails = UpdateScreenSchemeDetails;
type index$7_UpdateScreenTypes = UpdateScreenTypes;
type index$7_UpdateUiModificationDetails = UpdateUiModificationDetails;
type index$7_UpdateUserToGroup = UpdateUserToGroup;
type index$7_UpdatedProjectCategory = UpdatedProjectCategory;
type index$7_UserAvatarUrls = UserAvatarUrls;
type index$7_UserKey = UserKey;
type index$7_UserList = UserList;
type index$7_UserMigration = UserMigration;
type index$7_UserNavProperty = UserNavProperty;
type index$7_UserPickerUser = UserPickerUser;
type index$7_ValidationOptionsForCreate = ValidationOptionsForCreate;
type index$7_ValidationOptionsForUpdate = ValidationOptionsForUpdate;
type index$7_VersionApprover = VersionApprover;
type index$7_VersionIssueCounts = VersionIssueCounts;
type index$7_VersionIssuesStatus = VersionIssuesStatus;
type index$7_VersionMove = VersionMove;
type index$7_VersionRelatedWork = VersionRelatedWork;
type index$7_VersionUnresolvedIssuesCount = VersionUnresolvedIssuesCount;
type index$7_VersionUsageInCustomField = VersionUsageInCustomField;
type index$7_Visibility = Visibility;
type index$7_Votes = Votes;
type index$7_Watchers = Watchers;
type index$7_Webhook = Webhook;
type index$7_WebhookDetails = WebhookDetails;
type index$7_WebhookRegistrationDetails = WebhookRegistrationDetails;
type index$7_WebhooksExpirationDate = WebhooksExpirationDate;
type index$7_Workflow = Workflow;
type index$7_WorkflowAssociationStatusMapping = WorkflowAssociationStatusMapping;
type index$7_WorkflowCapabilityPayload = WorkflowCapabilityPayload;
type index$7_WorkflowCondition = WorkflowCondition;
type index$7_WorkflowCreate = WorkflowCreate;
type index$7_WorkflowCreateRequest = WorkflowCreateRequest;
type index$7_WorkflowElementReference = WorkflowElementReference;
type index$7_WorkflowId = WorkflowId;
type index$7_WorkflowLayout = WorkflowLayout;
type index$7_WorkflowMetadataAndIssueTypeRestModel = WorkflowMetadataAndIssueTypeRestModel;
type index$7_WorkflowMetadataRestModel = WorkflowMetadataRestModel;
type index$7_WorkflowOperations = WorkflowOperations;
type index$7_WorkflowPayload = WorkflowPayload;
type index$7_WorkflowProjectIssueTypeUsage = WorkflowProjectIssueTypeUsage;
type index$7_WorkflowProjectIssueTypeUsagePage = WorkflowProjectIssueTypeUsagePage;
type index$7_WorkflowProjectUsage = WorkflowProjectUsage;
type index$7_WorkflowRead = WorkflowRead;
type index$7_WorkflowReferenceStatus = WorkflowReferenceStatus;
type index$7_WorkflowRuleConfiguration = WorkflowRuleConfiguration;
type index$7_WorkflowRules = WorkflowRules;
type index$7_WorkflowRulesSearch = WorkflowRulesSearch;
type index$7_WorkflowRulesSearchDetails = WorkflowRulesSearchDetails;
type index$7_WorkflowScheme = WorkflowScheme;
type index$7_WorkflowSchemeAssociation = WorkflowSchemeAssociation;
type index$7_WorkflowSchemeAssociations = WorkflowSchemeAssociations;
type index$7_WorkflowSchemeIdName = WorkflowSchemeIdName;
type index$7_WorkflowSchemePayload = WorkflowSchemePayload;
type index$7_WorkflowSchemeProjectAssociation = WorkflowSchemeProjectAssociation;
type index$7_WorkflowSchemeProjectUsage = WorkflowSchemeProjectUsage;
type index$7_WorkflowSchemeReadRequest = WorkflowSchemeReadRequest;
type index$7_WorkflowSchemeReadResponse = WorkflowSchemeReadResponse;
type index$7_WorkflowSchemeUpdateRequiredMappingsResponse = WorkflowSchemeUpdateRequiredMappingsResponse;
type index$7_WorkflowSchemeUsage = WorkflowSchemeUsage;
type index$7_WorkflowSchemeUsagePage = WorkflowSchemeUsagePage;
type index$7_WorkflowScope = WorkflowScope;
type index$7_WorkflowSearchResponse = WorkflowSearchResponse;
type index$7_WorkflowStatus = WorkflowStatus;
type index$7_WorkflowStatusAndPort = WorkflowStatusAndPort;
type index$7_WorkflowStatusLayout = WorkflowStatusLayout;
type index$7_WorkflowStatusLayoutPayload = WorkflowStatusLayoutPayload;
type index$7_WorkflowStatusPayload = WorkflowStatusPayload;
type index$7_WorkflowStatusProperties = WorkflowStatusProperties;
type index$7_WorkflowStatusUpdate = WorkflowStatusUpdate;
type index$7_WorkflowTransition = WorkflowTransition;
type index$7_WorkflowTransitionLinks = WorkflowTransitionLinks;
type index$7_WorkflowTransitionProperty = WorkflowTransitionProperty;
type index$7_WorkflowTransitionRule = WorkflowTransitionRule;
type index$7_WorkflowTransitionRulesDetails = WorkflowTransitionRulesDetails;
type index$7_WorkflowTransitionRulesUpdate = WorkflowTransitionRulesUpdate;
type index$7_WorkflowTransitionRulesUpdateErrorDetails = WorkflowTransitionRulesUpdateErrorDetails;
type index$7_WorkflowTransitionRulesUpdateErrors = WorkflowTransitionRulesUpdateErrors;
type index$7_WorkflowTransitions = WorkflowTransitions;
type index$7_WorkflowTrigger = WorkflowTrigger;
type index$7_WorkflowUpdate = WorkflowUpdate;
type index$7_WorkflowUpdateRequest = WorkflowUpdateRequest;
type index$7_WorkflowUpdateValidateRequest = WorkflowUpdateValidateRequest;
type index$7_WorkflowValidationError = WorkflowValidationError;
type index$7_WorkflowValidationErrorList = WorkflowValidationErrorList;
type index$7_WorkflowsWithTransitionRulesDetails = WorkflowsWithTransitionRulesDetails;
type index$7_WorkingDaysConfig = WorkingDaysConfig;
type index$7_Worklog = Worklog;
type index$7_WorklogIdsRequest = WorklogIdsRequest;
type index$7_WorklogsMoveRequest = WorklogsMoveRequest;
type index$7_WorkspaceDataPolicy = WorkspaceDataPolicy;
declare namespace index$7 {
  export type { index$7_ActorInput as ActorInput, index$7_ActorsMap as ActorsMap, index$7_AddField as AddField, index$7_AddGroup as AddGroup, index$7_AddSecuritySchemeLevelsRequest as AddSecuritySchemeLevelsRequest, index$7_AnnouncementBannerConfiguration as AnnouncementBannerConfiguration, index$7_AnnouncementBannerConfigurationUpdate as AnnouncementBannerConfigurationUpdate, index$7_Application as Application, index$7_ApplicationProperty as ApplicationProperty, index$7_ApplicationRole as ApplicationRole, index$7_ApprovalConfiguration as ApprovalConfiguration, index$7_ArchiveIssueAsyncRequest as ArchiveIssueAsyncRequest, index$7_AssociateFieldConfigurationsWithIssueTypesRequest as AssociateFieldConfigurationsWithIssueTypesRequest, index$7_AssociatedItem as AssociatedItem, index$7_AssociationContextObject as AssociationContextObject, Attachment$3 as Attachment, index$7_AttachmentArchiveEntry as AttachmentArchiveEntry, index$7_AttachmentArchiveImpl as AttachmentArchiveImpl, index$7_AttachmentArchiveItemReadable as AttachmentArchiveItemReadable, index$7_AttachmentArchiveMetadataReadable as AttachmentArchiveMetadataReadable, index$7_AttachmentMetadata as AttachmentMetadata, index$7_AttachmentSettings as AttachmentSettings, index$7_AuditRecord as AuditRecord, AuditRecords$1 as AuditRecords, index$7_AutoCompleteSuggestion as AutoCompleteSuggestion, index$7_AutoCompleteSuggestions as AutoCompleteSuggestions, index$7_AvailableDashboardGadget as AvailableDashboardGadget, index$7_AvailableDashboardGadgetsResponse as AvailableDashboardGadgetsResponse, index$7_Avatar as Avatar, AvatarUrls$2 as AvatarUrls, index$7_AvatarWithDetails as AvatarWithDetails, Avatars$1 as Avatars, index$7_BoardColumnPayload as BoardColumnPayload, index$7_BoardFeaturePayload as BoardFeaturePayload, index$7_BoardPayload as BoardPayload, index$7_BoardsPayload as BoardsPayload, index$7_BulkChangeOwnerDetails as BulkChangeOwnerDetails, index$7_BulkChangelog as BulkChangelog, index$7_BulkChangelogRequest as BulkChangelogRequest, index$7_BulkContextualConfiguration as BulkContextualConfiguration, index$7_BulkCustomFieldOptionCreateRequest as BulkCustomFieldOptionCreateRequest, index$7_BulkCustomFieldOptionUpdateRequest as BulkCustomFieldOptionUpdateRequest, index$7_BulkEditGetFields as BulkEditGetFields, index$7_BulkEditShareableEntity as BulkEditShareableEntity, index$7_BulkIssue as BulkIssue, index$7_BulkIssueIsWatching as BulkIssueIsWatching, index$7_BulkIssuePropertyUpdateRequest as BulkIssuePropertyUpdateRequest, index$7_BulkOperationErrorResult as BulkOperationErrorResult, index$7_BulkOperationProgress as BulkOperationProgress, index$7_BulkPermissionGrants as BulkPermissionGrants, index$7_BulkPermissionsRequest as BulkPermissionsRequest, index$7_BulkProjectPermissionGrants as BulkProjectPermissionGrants, index$7_BulkProjectPermissions as BulkProjectPermissions, index$7_BulkTransitionGetAvailableTransitions as BulkTransitionGetAvailableTransitions, index$7_BulkTransitionSubmitInput as BulkTransitionSubmitInput, index$7_CardLayout as CardLayout, index$7_CardLayoutField as CardLayoutField, index$7_ChangeDetails as ChangeDetails, index$7_ChangedValue as ChangedValue, index$7_ChangedWorklog as ChangedWorklog, index$7_ChangedWorklogs as ChangedWorklogs, index$7_Changelog as Changelog, index$7_ColumnItem as ColumnItem, Comment$1 as Comment, index$7_Component as Component, index$7_ComponentIssuesCount as ComponentIssuesCount, index$7_ComponentWithIssueCount as ComponentWithIssueCount, index$7_ConditionGroupConfiguration as ConditionGroupConfiguration, index$7_ConditionGroupPayload as ConditionGroupPayload, index$7_Configuration as Configuration, index$7_ConfigurationsListParameters as ConfigurationsListParameters, index$7_ConnectCustomFieldValue as ConnectCustomFieldValue, index$7_ConnectCustomFieldValues as ConnectCustomFieldValues, index$7_ConnectModule as ConnectModule, index$7_ConnectModules as ConnectModules, index$7_ConnectWorkflowTransitionRule as ConnectWorkflowTransitionRule, index$7_ContainerForProjectFeatures as ContainerForProjectFeatures, index$7_ContainerForRegisteredWebhooks as ContainerForRegisteredWebhooks, index$7_ContainerForWebhookIDs as ContainerForWebhookIDs, index$7_ContainerOfWorkflowSchemeAssociations as ContainerOfWorkflowSchemeAssociations, index$7_ContextForProjectAndIssueType as ContextForProjectAndIssueType, index$7_ContextualConfiguration as ContextualConfiguration, index$7_ConvertedJQLQueries as ConvertedJQLQueries, index$7_CreateCrossProjectReleaseRequest as CreateCrossProjectReleaseRequest, CreateCustomFieldContext$1 as CreateCustomFieldContext, index$7_CreateCustomFieldRequest as CreateCustomFieldRequest, index$7_CreateDateFieldRequest as CreateDateFieldRequest, index$7_CreateExclusionRulesRequest as CreateExclusionRulesRequest, index$7_CreateIssueSecuritySchemeDetails as CreateIssueSecuritySchemeDetails, index$7_CreateIssueSourceRequest as CreateIssueSourceRequest, index$7_CreateNotificationSchemeDetails as CreateNotificationSchemeDetails, index$7_CreatePermissionHolderRequest as CreatePermissionHolderRequest, index$7_CreatePermissionRequest as CreatePermissionRequest, index$7_CreatePriorityDetails as CreatePriorityDetails, index$7_CreateProjectDetails as CreateProjectDetails, index$7_CreateResolutionDetails as CreateResolutionDetails, index$7_CreateSchedulingRequest as CreateSchedulingRequest, index$7_CreateUiModificationDetails as CreateUiModificationDetails, index$7_CreateUpdateRoleRequest as CreateUpdateRoleRequest, index$7_CreateWorkflowCondition as CreateWorkflowCondition, index$7_CreateWorkflowDetails as CreateWorkflowDetails, index$7_CreateWorkflowStatusDetails as CreateWorkflowStatusDetails, index$7_CreateWorkflowTransitionDetails as CreateWorkflowTransitionDetails, index$7_CreateWorkflowTransitionRule as CreateWorkflowTransitionRule, index$7_CreateWorkflowTransitionRulesDetails as CreateWorkflowTransitionRulesDetails, index$7_CreateWorkflowTransitionScreenDetails as CreateWorkflowTransitionScreenDetails, index$7_CreatedIssue as CreatedIssue, index$7_CreatedIssues as CreatedIssues, index$7_CustomContextVariable as CustomContextVariable, index$7_CustomFieldConfigurations as CustomFieldConfigurations, index$7_CustomFieldContext as CustomFieldContext, index$7_CustomFieldContextDefaultValue as CustomFieldContextDefaultValue, index$7_CustomFieldContextDefaultValueUpdate as CustomFieldContextDefaultValueUpdate, index$7_CustomFieldContextOption as CustomFieldContextOption, index$7_CustomFieldContextProjectMapping as CustomFieldContextProjectMapping, index$7_CustomFieldContextUpdateDetails as CustomFieldContextUpdateDetails, index$7_CustomFieldCreatedContextOptionsList as CustomFieldCreatedContextOptionsList, index$7_CustomFieldDefinitionJson as CustomFieldDefinitionJson, index$7_CustomFieldOption as CustomFieldOption, index$7_CustomFieldOptionCreate as CustomFieldOptionCreate, index$7_CustomFieldOptionUpdate as CustomFieldOptionUpdate, index$7_CustomFieldPayload as CustomFieldPayload, index$7_CustomFieldReplacement as CustomFieldReplacement, index$7_CustomFieldUpdatedContextOptionsList as CustomFieldUpdatedContextOptionsList, index$7_CustomFieldValueUpdate as CustomFieldValueUpdate, index$7_CustomFieldValueUpdateRequest as CustomFieldValueUpdateRequest, index$7_CustomTemplateRequest as CustomTemplateRequest, index$7_CustomTemplatesProjectDetails as CustomTemplatesProjectDetails, index$7_Dashboard as Dashboard, index$7_DashboardDetails as DashboardDetails, index$7_DashboardGadget as DashboardGadget, index$7_DashboardGadgetPosition as DashboardGadgetPosition, index$7_DashboardGadgetResponse as DashboardGadgetResponse, index$7_DashboardGadgetSettings as DashboardGadgetSettings, index$7_DashboardGadgetUpdateRequest as DashboardGadgetUpdateRequest, index$7_DashboardUser as DashboardUser, index$7_DataClassificationLevels as DataClassificationLevels, index$7_DataClassificationTag as DataClassificationTag, index$7_DateRangeFilter as DateRangeFilter, index$7_DefaultLevelValue as DefaultLevelValue, index$7_DefaultShareScope as DefaultShareScope, index$7_DefaultWorkflow as DefaultWorkflow, DeleteAndReplaceVersion$1 as DeleteAndReplaceVersion, index$7_Document as Document, index$7_DocumentVersion as DocumentVersion, index$7_EnhancedSearchRequest as EnhancedSearchRequest, EntityProperty$1 as EntityProperty, index$7_EntityPropertyDetails as EntityPropertyDetails, Error$1 as Error, index$7_ErrorCollection as ErrorCollection, index$7_Errors as Errors, index$7_EvaluateMetaData as EvaluateMetaData, index$7_EvaluatedJiraExpression as EvaluatedJiraExpression, index$7_EventNotification as EventNotification, index$7_ExportArchivedIssuesTaskProgress as ExportArchivedIssuesTaskProgress, index$7_FailedWebhook as FailedWebhook, index$7_FailedWebhooks as FailedWebhooks, index$7_Field as Field, index$7_FieldAssociationsRequest as FieldAssociationsRequest, index$7_FieldCapabilityPayload as FieldCapabilityPayload, index$7_FieldConfiguration as FieldConfiguration, index$7_FieldConfigurationDetails as FieldConfigurationDetails, index$7_FieldConfigurationIssueTypeItem as FieldConfigurationIssueTypeItem, index$7_FieldConfigurationItem as FieldConfigurationItem, index$7_FieldConfigurationItemsDetails as FieldConfigurationItemsDetails, index$7_FieldConfigurationScheme as FieldConfigurationScheme, index$7_FieldConfigurationSchemeProjectAssociation as FieldConfigurationSchemeProjectAssociation, index$7_FieldConfigurationSchemeProjects as FieldConfigurationSchemeProjects, index$7_FieldConfigurationToIssueTypeMapping as FieldConfigurationToIssueTypeMapping, index$7_FieldCreateMetadata as FieldCreateMetadata, index$7_FieldDetails as FieldDetails, index$7_FieldIdentifierObject as FieldIdentifierObject, index$7_FieldLastUsed as FieldLastUsed, index$7_FieldLayoutConfiguration as FieldLayoutConfiguration, index$7_FieldLayoutPayload as FieldLayoutPayload, index$7_FieldLayoutSchemePayload as FieldLayoutSchemePayload, index$7_FieldReferenceData as FieldReferenceData, Fields$1 as Fields, index$7_Filter as Filter, index$7_FilterDetails as FilterDetails, index$7_FilterSubscription as FilterSubscription, index$7_FilterSubscriptionsList as FilterSubscriptionsList, FixVersion$1 as FixVersion, index$7_FoundGroup as FoundGroup, index$7_FoundGroups as FoundGroups, index$7_FoundUsers as FoundUsers, index$7_FoundUsersAndGroups as FoundUsersAndGroups, index$7_FromLayoutPayload as FromLayoutPayload, index$7_FunctionReferenceData as FunctionReferenceData, index$7_GetAtlassianTeamResponse as GetAtlassianTeamResponse, index$7_GetCrossProjectReleaseResponse as GetCrossProjectReleaseResponse, index$7_GetCustomFieldResponse as GetCustomFieldResponse, index$7_GetDateFieldResponse as GetDateFieldResponse, index$7_GetExclusionRulesResponse as GetExclusionRulesResponse, index$7_GetIssueSourceResponse as GetIssueSourceResponse, index$7_GetPermissionHolderResponse as GetPermissionHolderResponse, index$7_GetPermissionResponse as GetPermissionResponse, index$7_GetPlanOnlyTeamResponse as GetPlanOnlyTeamResponse, index$7_GetPlanResponseForPage as GetPlanResponseForPage, index$7_GetSchedulingResponse as GetSchedulingResponse, index$7_GetTeamResponseForPage as GetTeamResponseForPage, index$7_GlobalScope as GlobalScope, Group$1 as Group, index$7_GroupDetails as GroupDetails, index$7_GroupLabel as GroupLabel, index$7_GroupName as GroupName, index$7_Hierarchy as Hierarchy, index$7_HierarchyLevel as HierarchyLevel, index$7_HistoryMetadata as HistoryMetadata, index$7_HistoryMetadataParticipant as HistoryMetadataParticipant, index$7_Icon as Icon, index$7_Id as Id, index$7_IdOrKey as IdOrKey, index$7_IdSearchRequest as IdSearchRequest, index$7_IdSearchResults as IdSearchResults, index$7_IncludedFields as IncludedFields, Issue$3 as Issue, index$7_IssueArchivalSync as IssueArchivalSync, index$7_IssueArchivalSyncRequest as IssueArchivalSyncRequest, index$7_IssueBulkDeletePayload as IssueBulkDeletePayload, index$7_IssueBulkEditField as IssueBulkEditField, index$7_IssueBulkEditPayload as IssueBulkEditPayload, index$7_IssueBulkMovePayload as IssueBulkMovePayload, index$7_IssueBulkTransitionForWorkflow as IssueBulkTransitionForWorkflow, index$7_IssueBulkTransitionPayload as IssueBulkTransitionPayload, index$7_IssueBulkWatchOrUnwatchPayload as IssueBulkWatchOrUnwatchPayload, index$7_IssueChangeLog as IssueChangeLog, index$7_IssueChangelogIds as IssueChangelogIds, index$7_IssueCommentListRequest as IssueCommentListRequest, index$7_IssueCreateMetadata as IssueCreateMetadata, index$7_IssueEntityProperties as IssueEntityProperties, index$7_IssueEntityPropertiesForMultiUpdate as IssueEntityPropertiesForMultiUpdate, index$7_IssueError as IssueError, index$7_IssueEvent as IssueEvent, index$7_IssueFieldOption as IssueFieldOption, index$7_IssueFieldOptionConfiguration as IssueFieldOptionConfiguration, index$7_IssueFieldOptionCreate as IssueFieldOptionCreate, index$7_IssueFieldOptionScope as IssueFieldOptionScope, index$7_IssueFilterForBulkPropertyDelete as IssueFilterForBulkPropertyDelete, index$7_IssueFilterForBulkPropertySet as IssueFilterForBulkPropertySet, index$7_IssueLayoutItemPayload as IssueLayoutItemPayload, index$7_IssueLayoutPayload as IssueLayoutPayload, index$7_IssueLimitReport as IssueLimitReport, index$7_IssueLink as IssueLink, index$7_IssueLinkType as IssueLinkType, IssueLinkTypes$1 as IssueLinkTypes, index$7_IssueList as IssueList, index$7_IssueMatches as IssueMatches, index$7_IssueMatchesForJQL as IssueMatchesForJQL, index$7_IssuePickerSuggestions as IssuePickerSuggestions, index$7_IssuePickerSuggestionsIssueType as IssuePickerSuggestionsIssueType, index$7_IssueSecurityLevelMember as IssueSecurityLevelMember, index$7_IssueSecuritySchemeToProjectMapping as IssueSecuritySchemeToProjectMapping, IssueTransition$2 as IssueTransition, index$7_IssueTransitionStatus as IssueTransitionStatus, index$7_IssueTypeCreate as IssueTypeCreate, index$7_IssueTypeDetails as IssueTypeDetails, index$7_IssueTypeHierarchyPayload as IssueTypeHierarchyPayload, index$7_IssueTypeIds as IssueTypeIds, index$7_IssueTypeIdsToRemove as IssueTypeIdsToRemove, index$7_IssueTypeInfo as IssueTypeInfo, index$7_IssueTypeIssueCreateMetadata as IssueTypeIssueCreateMetadata, index$7_IssueTypePayload as IssueTypePayload, index$7_IssueTypeProjectCreatePayload as IssueTypeProjectCreatePayload, index$7_IssueTypeScheme as IssueTypeScheme, index$7_IssueTypeSchemeDetails as IssueTypeSchemeDetails, index$7_IssueTypeSchemeID as IssueTypeSchemeID, index$7_IssueTypeSchemeMapping as IssueTypeSchemeMapping, index$7_IssueTypeSchemePayload as IssueTypeSchemePayload, index$7_IssueTypeSchemeProjectAssociation as IssueTypeSchemeProjectAssociation, index$7_IssueTypeSchemeProjects as IssueTypeSchemeProjects, index$7_IssueTypeSchemeUpdateDetails as IssueTypeSchemeUpdateDetails, index$7_IssueTypeScreenScheme as IssueTypeScreenScheme, index$7_IssueTypeScreenSchemeDetails as IssueTypeScreenSchemeDetails, index$7_IssueTypeScreenSchemeId as IssueTypeScreenSchemeId, index$7_IssueTypeScreenSchemeItem as IssueTypeScreenSchemeItem, index$7_IssueTypeScreenSchemeMapping as IssueTypeScreenSchemeMapping, index$7_IssueTypeScreenSchemeMappingDetails as IssueTypeScreenSchemeMappingDetails, index$7_IssueTypeScreenSchemePayload as IssueTypeScreenSchemePayload, index$7_IssueTypeScreenSchemeProjectAssociation as IssueTypeScreenSchemeProjectAssociation, index$7_IssueTypeScreenSchemeUpdateDetails as IssueTypeScreenSchemeUpdateDetails, index$7_IssueTypeScreenSchemesProjects as IssueTypeScreenSchemesProjects, index$7_IssueTypeToContextMapping as IssueTypeToContextMapping, index$7_IssueTypeUpdate as IssueTypeUpdate, index$7_IssueTypeWithStatus as IssueTypeWithStatus, index$7_IssueTypeWorkflowMapping as IssueTypeWorkflowMapping, index$7_IssueTypesWorkflowMapping as IssueTypesWorkflowMapping, index$7_IssueUpdateDetails as IssueUpdateDetails, index$7_IssueUpdateMetadata as IssueUpdateMetadata, index$7_IssuesAndJQLQueries as IssuesAndJQLQueries, index$7_IssuesJqlMetaData as IssuesJqlMetaData, index$7_IssuesMeta as IssuesMeta, index$7_IssuesUpdate as IssuesUpdate, index$7_JExpEvaluateIssuesJqlMetaData as JExpEvaluateIssuesJqlMetaData, index$7_JExpEvaluateIssuesMeta as JExpEvaluateIssuesMeta, index$7_JQLCount as JQLCount, index$7_JQLCountRequest as JQLCountRequest, index$7_JQLPersonalDataMigrationRequest as JQLPersonalDataMigrationRequest, index$7_JQLQueryWithUnknownUsers as JQLQueryWithUnknownUsers, index$7_JQLReferenceData as JQLReferenceData, index$7_JexpEvaluateCtxIssues as JexpEvaluateCtxIssues, index$7_JexpEvaluateCtxJqlIssues as JexpEvaluateCtxJqlIssues, index$7_JexpIssues as JexpIssues, index$7_JexpJqlIssues as JexpJqlIssues, index$7_JiraCascadingSelectField as JiraCascadingSelectField, index$7_JiraColorField as JiraColorField, index$7_JiraColorInput as JiraColorInput, index$7_JiraComponentField as JiraComponentField, index$7_JiraDateField as JiraDateField, index$7_JiraDateInput as JiraDateInput, index$7_JiraDateTimeField as JiraDateTimeField, index$7_JiraDateTimeInput as JiraDateTimeInput, index$7_JiraDurationField as JiraDurationField, index$7_JiraExpressionAnalysis as JiraExpressionAnalysis, index$7_JiraExpressionComplexity as JiraExpressionComplexity, index$7_JiraExpressionEvalContext as JiraExpressionEvalContext, index$7_JiraExpressionEvalRequest as JiraExpressionEvalRequest, index$7_JiraExpressionEvalUsingEnhancedSearchRequest as JiraExpressionEvalUsingEnhancedSearchRequest, index$7_JiraExpressionEvaluateContext as JiraExpressionEvaluateContext, index$7_JiraExpressionEvaluateContextBean as JiraExpressionEvaluateContextBean, index$7_JiraExpressionEvaluationMetaData as JiraExpressionEvaluationMetaData, index$7_JiraExpressionForAnalysis as JiraExpressionForAnalysis, index$7_JiraExpressionResult as JiraExpressionResult, index$7_JiraExpressionValidationError as JiraExpressionValidationError, index$7_JiraExpressionsAnalysis as JiraExpressionsAnalysis, index$7_JiraExpressionsComplexity as JiraExpressionsComplexity, index$7_JiraExpressionsComplexityValue as JiraExpressionsComplexityValue, index$7_JiraGroupInput as JiraGroupInput, index$7_JiraIssueFields as JiraIssueFields, index$7_JiraIssueTypeField as JiraIssueTypeField, index$7_JiraLabelsField as JiraLabelsField, index$7_JiraLabelsInput as JiraLabelsInput, index$7_JiraMultiSelectComponentField as JiraMultiSelectComponentField, index$7_JiraMultipleGroupPickerField as JiraMultipleGroupPickerField, index$7_JiraMultipleSelectField as JiraMultipleSelectField, index$7_JiraMultipleSelectUserPickerField as JiraMultipleSelectUserPickerField, index$7_JiraMultipleVersionPickerField as JiraMultipleVersionPickerField, index$7_JiraNumberField as JiraNumberField, index$7_JiraPriorityField as JiraPriorityField, index$7_JiraRichTextField as JiraRichTextField, index$7_JiraRichTextInput as JiraRichTextInput, index$7_JiraSelectedOptionField as JiraSelectedOptionField, index$7_JiraSingleGroupPickerField as JiraSingleGroupPickerField, index$7_JiraSingleLineTextField as JiraSingleLineTextField, index$7_JiraSingleSelectField as JiraSingleSelectField, index$7_JiraSingleSelectUserPickerField as JiraSingleSelectUserPickerField, index$7_JiraSingleVersionPickerField as JiraSingleVersionPickerField, index$7_JiraStatus as JiraStatus, index$7_JiraTimeTrackingField as JiraTimeTrackingField, index$7_JiraUrlField as JiraUrlField, index$7_JiraUserField as JiraUserField, index$7_JiraVersionField as JiraVersionField, index$7_JiraWorkflow as JiraWorkflow, index$7_JiraWorkflowStatus as JiraWorkflowStatus, index$7_JqlFunctionPrecomputation as JqlFunctionPrecomputation, index$7_JqlFunctionPrecomputationGetByIdRequest as JqlFunctionPrecomputationGetByIdRequest, index$7_JqlFunctionPrecomputationGetByIdResponse as JqlFunctionPrecomputationGetByIdResponse, index$7_JqlFunctionPrecomputationUpdate as JqlFunctionPrecomputationUpdate, index$7_JqlFunctionPrecomputationUpdateRequest as JqlFunctionPrecomputationUpdateRequest, index$7_JqlQueriesToParse as JqlQueriesToParse, index$7_JqlQueriesToSanitize as JqlQueriesToSanitize, index$7_JqlQuery as JqlQuery, index$7_JqlQueryClause as JqlQueryClause, index$7_JqlQueryField as JqlQueryField, index$7_JqlQueryFieldEntityProperty as JqlQueryFieldEntityProperty, index$7_JqlQueryOrderByClause as JqlQueryOrderByClause, index$7_JqlQueryOrderByClauseElement as JqlQueryOrderByClauseElement, index$7_JqlQueryToSanitize as JqlQueryToSanitize, index$7_JsonNode as JsonNode, JsonType$2 as JsonType, index$7_License as License, index$7_LicenseMetric as LicenseMetric, index$7_LicensedApplication as LicensedApplication, LinkGroup$1 as LinkGroup, index$7_LinkIssueRequestJson as LinkIssueRequestJson, index$7_LinkedIssue as LinkedIssue, index$7_ListWrapperCallbackApplicationRole as ListWrapperCallbackApplicationRole, index$7_ListWrapperCallbackGroupName as ListWrapperCallbackGroupName, index$7_Locale as Locale, index$7_MappingsByIssueTypeOverride as MappingsByIssueTypeOverride, index$7_MappingsByWorkflow as MappingsByWorkflow, index$7_Mark as Mark, index$7_MoveField as MoveField, index$7_MultiIssueEntityProperties as MultiIssueEntityProperties, index$7_MultipleCustomFieldValuesUpdate as MultipleCustomFieldValuesUpdate, index$7_MultipleCustomFieldValuesUpdateDetails as MultipleCustomFieldValuesUpdateDetails, index$7_NestedResponse as NestedResponse, index$7_NewUserDetails as NewUserDetails, index$7_NonWorkingDay as NonWorkingDay, index$7_Notification as Notification, index$7_NotificationEvent as NotificationEvent, index$7_NotificationRecipients as NotificationRecipients, index$7_NotificationRecipientsRestrictions as NotificationRecipientsRestrictions, index$7_NotificationScheme as NotificationScheme, index$7_NotificationSchemeAndProjectMapping as NotificationSchemeAndProjectMapping, index$7_NotificationSchemeAndProjectMappingPage as NotificationSchemeAndProjectMappingPage, index$7_NotificationSchemeEvent as NotificationSchemeEvent, index$7_NotificationSchemeEventDetails as NotificationSchemeEventDetails, index$7_NotificationSchemeEventIDPayload as NotificationSchemeEventIDPayload, index$7_NotificationSchemeEventPayload as NotificationSchemeEventPayload, index$7_NotificationSchemeEventTypeId as NotificationSchemeEventTypeId, index$7_NotificationSchemeId as NotificationSchemeId, index$7_NotificationSchemeNotificationDetails as NotificationSchemeNotificationDetails, index$7_NotificationSchemeNotificationDetailsPayload as NotificationSchemeNotificationDetailsPayload, index$7_NotificationSchemePayload as NotificationSchemePayload, index$7_OldToNewSecurityLevelMappings as OldToNewSecurityLevelMappings, index$7_OperationMessage as OperationMessage, Operations$2 as Operations, index$7_OrderOfCustomFieldOptions as OrderOfCustomFieldOptions, index$7_OrderOfIssueTypes as OrderOfIssueTypes, index$7_PageBulkContextualConfiguration as PageBulkContextualConfiguration, index$7_PageChangelog as PageChangelog, index$7_PageComment as PageComment, index$7_PageComponentWithIssueCount as PageComponentWithIssueCount, index$7_PageContextForProjectAndIssueType as PageContextForProjectAndIssueType, index$7_PageContextualConfiguration as PageContextualConfiguration, index$7_PageCustomFieldContext as PageCustomFieldContext, index$7_PageCustomFieldContextDefaultValue as PageCustomFieldContextDefaultValue, index$7_PageCustomFieldContextOption as PageCustomFieldContextOption, index$7_PageCustomFieldContextProjectMapping as PageCustomFieldContextProjectMapping, index$7_PageDashboard as PageDashboard, index$7_PageField as PageField, index$7_PageFieldConfigurationIssueTypeItem as PageFieldConfigurationIssueTypeItem, index$7_PageFieldConfigurationItem as PageFieldConfigurationItem, index$7_PageFieldConfigurationScheme as PageFieldConfigurationScheme, index$7_PageFieldConfigurationSchemeProjects as PageFieldConfigurationSchemeProjects, index$7_PageFilterDetails as PageFilterDetails, index$7_PageGroupDetails as PageGroupDetails, index$7_PageIssueFieldOption as PageIssueFieldOption, index$7_PageIssueSecurityLevelMember as PageIssueSecurityLevelMember, index$7_PageIssueSecuritySchemeToProjectMapping as PageIssueSecuritySchemeToProjectMapping, index$7_PageIssueTypeScheme as PageIssueTypeScheme, index$7_PageIssueTypeSchemeMapping as PageIssueTypeSchemeMapping, index$7_PageIssueTypeSchemeProjects as PageIssueTypeSchemeProjects, index$7_PageIssueTypeScreenScheme as PageIssueTypeScreenScheme, index$7_PageIssueTypeScreenSchemeItem as PageIssueTypeScreenSchemeItem, index$7_PageIssueTypeScreenSchemesProjects as PageIssueTypeScreenSchemesProjects, index$7_PageIssueTypeToContextMapping as PageIssueTypeToContextMapping, index$7_PageJqlFunctionPrecomputation as PageJqlFunctionPrecomputation, index$7_PageNotificationScheme as PageNotificationScheme, index$7_PageOfChangelogs as PageOfChangelogs, index$7_PageOfComments as PageOfComments, index$7_PageOfCreateMetaIssueTypeWithField as PageOfCreateMetaIssueTypeWithField, index$7_PageOfCreateMetaIssueTypes as PageOfCreateMetaIssueTypes, index$7_PageOfDashboards as PageOfDashboards, index$7_PageOfStatuses as PageOfStatuses, index$7_PageOfWorklogs as PageOfWorklogs, index$7_PagePriority as PagePriority, index$7_PageProject as PageProject, index$7_PageProjectDetails as PageProjectDetails, index$7_PageResolution as PageResolution, index$7_PageScreen as PageScreen, index$7_PageScreenScheme as PageScreenScheme, index$7_PageScreenWithTab as PageScreenWithTab, index$7_PageSecurityLevel as PageSecurityLevel, index$7_PageSecurityLevelMember as PageSecurityLevelMember, index$7_PageSecuritySchemeWithProjects as PageSecuritySchemeWithProjects, index$7_PageString as PageString, index$7_PageUiModificationDetails as PageUiModificationDetails, index$7_PageUser as PageUser, index$7_PageUserDetails as PageUserDetails, index$7_PageUserKey as PageUserKey, index$7_PageVersion as PageVersion, index$7_PageWebhook as PageWebhook, index$7_PageWithCursorGetPlanResponseForPage as PageWithCursorGetPlanResponseForPage, index$7_PageWithCursorGetTeamResponseForPage as PageWithCursorGetTeamResponseForPage, index$7_PageWorkflow as PageWorkflow, index$7_PageWorkflowScheme as PageWorkflowScheme, index$7_PageWorkflowTransitionRules as PageWorkflowTransitionRules, index$7_PagedListUserDetailsApplicationUser as PagedListUserDetailsApplicationUser, index$7_ParsedJqlQueries as ParsedJqlQueries, index$7_ParsedJqlQuery as ParsedJqlQuery, index$7_PermissionDetails as PermissionDetails, index$7_PermissionGrant as PermissionGrant, index$7_PermissionGrantDTO as PermissionGrantDTO, index$7_PermissionGrants as PermissionGrants, index$7_PermissionHolder as PermissionHolder, index$7_PermissionPayload as PermissionPayload, index$7_PermissionScheme as PermissionScheme, PermissionSchemes$1 as PermissionSchemes, Permissions$1 as Permissions, index$7_PermissionsKeys as PermissionsKeys, index$7_PermittedProjects as PermittedProjects, index$7_Plan as Plan, index$7_Priority as Priority, index$7_PriorityId as PriorityId, index$7_PriorityMapping as PriorityMapping, index$7_PrioritySchemeChangesWithoutMappings as PrioritySchemeChangesWithoutMappings, index$7_PrioritySchemeId as PrioritySchemeId, index$7_PrioritySchemeWithPaginatedPrioritiesAndProjects as PrioritySchemeWithPaginatedPrioritiesAndProjects, index$7_PriorityWithSequence as PriorityWithSequence, Project$1 as Project, index$7_ProjectAndIssueTypePair as ProjectAndIssueTypePair, ProjectAvatars$1 as ProjectAvatars, index$7_ProjectCategory as ProjectCategory, index$7_ProjectComponent as ProjectComponent, index$7_ProjectCreateResourceIdentifier as ProjectCreateResourceIdentifier, index$7_ProjectCustomTemplateCreateRequest as ProjectCustomTemplateCreateRequest, index$7_ProjectDataPolicies as ProjectDataPolicies, index$7_ProjectDataPolicy as ProjectDataPolicy, index$7_ProjectDetails as ProjectDetails, index$7_ProjectEmailAddress as ProjectEmailAddress, index$7_ProjectFeature as ProjectFeature, index$7_ProjectFeatureToggleRequest as ProjectFeatureToggleRequest, index$7_ProjectId as ProjectId, index$7_ProjectIdentifier as ProjectIdentifier, index$7_ProjectIdentifiers as ProjectIdentifiers, index$7_ProjectIds as ProjectIds, index$7_ProjectInsight as ProjectInsight, index$7_ProjectIssueCreateMetadata as ProjectIssueCreateMetadata, index$7_ProjectIssueSecurityLevels as ProjectIssueSecurityLevels, index$7_ProjectIssueTypeHierarchy as ProjectIssueTypeHierarchy, index$7_ProjectIssueTypeMapping as ProjectIssueTypeMapping, index$7_ProjectIssueTypeMappings as ProjectIssueTypeMappings, index$7_ProjectIssueTypes as ProjectIssueTypes, index$7_ProjectIssueTypesHierarchyLevel as ProjectIssueTypesHierarchyLevel, index$7_ProjectLandingPageInfo as ProjectLandingPageInfo, index$7_ProjectPayload as ProjectPayload, index$7_ProjectPermissions as ProjectPermissions, index$7_ProjectRole as ProjectRole, index$7_ProjectRoleActorsUpdate as ProjectRoleActorsUpdate, index$7_ProjectRoleDetails as ProjectRoleDetails, index$7_ProjectRoleGroup as ProjectRoleGroup, index$7_ProjectRoleUser as ProjectRoleUser, index$7_ProjectScope as ProjectScope, index$7_ProjectType as ProjectType, index$7_ProjectUsage as ProjectUsage, index$7_ProjectUsagePage as ProjectUsagePage, index$7_ProjectWithDataPolicy as ProjectWithDataPolicy, PropertyKey$1 as PropertyKey, PropertyKeys$1 as PropertyKeys, index$7_PublishedWorkflowId as PublishedWorkflowId, index$7_QuickFilterPayload as QuickFilterPayload, index$7_RegisteredWebhook as RegisteredWebhook, index$7_RemoteIssueLink as RemoteIssueLink, index$7_RemoteIssueLinkIdentifies as RemoteIssueLinkIdentifies, index$7_RemoteIssueLinkRequest as RemoteIssueLinkRequest, index$7_RemoteObject as RemoteObject, index$7_RemoveOptionFromIssuesResult as RemoveOptionFromIssuesResult, index$7_ReorderIssuePriorities as ReorderIssuePriorities, index$7_ReorderIssueResolutionsRequest as ReorderIssueResolutionsRequest, index$7_RequiredMappingByIssueType as RequiredMappingByIssueType, index$7_RequiredMappingByWorkflows as RequiredMappingByWorkflows, index$7_Resolution as Resolution, index$7_ResolutionId as ResolutionId, index$7_RestrictedPermission as RestrictedPermission, index$7_RichText as RichText, index$7_RoleActor as RoleActor, index$7_RolePayload as RolePayload, index$7_RolesCapabilityPayload as RolesCapabilityPayload, index$7_RuleConfiguration as RuleConfiguration, index$7_RulePayload as RulePayload, index$7_SanitizedJqlQueries as SanitizedJqlQueries, index$7_SanitizedJqlQuery as SanitizedJqlQuery, Scope$1 as Scope, index$7_ScopePayload as ScopePayload, index$7_Screen as Screen, index$7_ScreenDetails as ScreenDetails, index$7_ScreenID as ScreenID, index$7_ScreenPayload as ScreenPayload, index$7_ScreenScheme as ScreenScheme, index$7_ScreenSchemeDetails as ScreenSchemeDetails, index$7_ScreenSchemeId as ScreenSchemeId, index$7_ScreenSchemePayload as ScreenSchemePayload, index$7_ScreenTypes as ScreenTypes, index$7_ScreenWithTab as ScreenWithTab, index$7_ScreenableField as ScreenableField, index$7_ScreenableTab as ScreenableTab, index$7_SearchAndReconcileResults as SearchAndReconcileResults, index$7_SearchAutoCompleteFilter as SearchAutoCompleteFilter, index$7_SearchRequest as SearchRequest, SearchResults$1 as SearchResults, index$7_SecurityLevel as SecurityLevel, index$7_SecurityLevelMember as SecurityLevelMember, index$7_SecurityLevelMemberPayload as SecurityLevelMemberPayload, index$7_SecurityLevelPayload as SecurityLevelPayload, index$7_SecurityScheme as SecurityScheme, index$7_SecuritySchemeId as SecuritySchemeId, index$7_SecuritySchemeLevel as SecuritySchemeLevel, index$7_SecuritySchemeLevelMember as SecuritySchemeLevelMember, index$7_SecuritySchemeMembersRequest as SecuritySchemeMembersRequest, index$7_SecuritySchemePayload as SecuritySchemePayload, index$7_SecuritySchemeWithProjects as SecuritySchemeWithProjects, index$7_SecuritySchemes as SecuritySchemes, index$7_ServerInformation as ServerInformation, ServiceRegistry$1 as ServiceRegistry, index$7_ServiceRegistryTier as ServiceRegistryTier, index$7_SetDefaultLevelsRequest as SetDefaultLevelsRequest, index$7_SetDefaultPriorityRequest as SetDefaultPriorityRequest, index$7_SetDefaultResolutionRequest as SetDefaultResolutionRequest, index$7_SharePermission as SharePermission, index$7_SharePermissionInput as SharePermissionInput, index$7_SimpleApplicationProperty as SimpleApplicationProperty, index$7_SimpleErrorCollection as SimpleErrorCollection, index$7_SimpleLink as SimpleLink, index$7_SimpleListWrapperApplicationRole as SimpleListWrapperApplicationRole, index$7_SimpleListWrapperGroupName as SimpleListWrapperGroupName, index$7_SimpleUsage as SimpleUsage, index$7_SimplifiedIssueTransition as SimplifiedIssueTransition, Status$2 as Status, StatusCategory$2 as StatusCategory, index$7_StatusCreate as StatusCreate, index$7_StatusCreateRequest as StatusCreateRequest, StatusDetails$1 as StatusDetails, index$7_StatusMapping as StatusMapping, index$7_StatusMetadata as StatusMetadata, index$7_StatusPayload as StatusPayload, index$7_StatusProjectIssueTypeUsage as StatusProjectIssueTypeUsage, index$7_StatusProjectIssueTypeUsagePage as StatusProjectIssueTypeUsagePage, index$7_StatusProjectUsage as StatusProjectUsage, index$7_StatusProjectUsagePage as StatusProjectUsagePage, index$7_StatusScope as StatusScope, index$7_StatusUpdate as StatusUpdate, index$7_StatusUpdateRequest as StatusUpdateRequest, index$7_StatusWorkflowUsage as StatusWorkflowUsage, index$7_StatusWorkflowUsagePage as StatusWorkflowUsagePage, index$7_StatusWorkflowUsageWorkflow as StatusWorkflowUsageWorkflow, index$7_StatusesPerWorkflow as StatusesPerWorkflow, index$7_SubmittedBulkOperation as SubmittedBulkOperation, index$7_SuggestedIssue as SuggestedIssue, index$7_SuggestedMappingsForPrioritiesRequest as SuggestedMappingsForPrioritiesRequest, index$7_SuggestedMappingsForProjectsRequest as SuggestedMappingsForProjectsRequest, index$7_SuggestedMappingsRequest as SuggestedMappingsRequest, index$7_SwimlanesPayload as SwimlanesPayload, index$7_SystemAvatars as SystemAvatars, index$7_TabPayload as TabPayload, index$7_TaskProgressNode as TaskProgressNode, index$7_TaskProgressObject as TaskProgressObject, index$7_TaskProgressRemoveOptionFromIssuesResult as TaskProgressRemoveOptionFromIssuesResult, index$7_TimeTrackingConfiguration as TimeTrackingConfiguration, index$7_TimeTrackingDetails as TimeTrackingDetails, index$7_TimeTrackingProvider as TimeTrackingProvider, index$7_ToLayoutPayload as ToLayoutPayload, index$7_Transition as Transition, index$7_TransitionPayload as TransitionPayload, index$7_Transitions as Transitions, index$7_UiModificationContextDetails as UiModificationContextDetails, index$7_UiModificationDetails as UiModificationDetails, index$7_UiModificationIdentifiers as UiModificationIdentifiers, index$7_UnrestrictedUserEmail as UnrestrictedUserEmail, index$7_UpdateCustomFieldDetails as UpdateCustomFieldDetails, UpdateDefaultProjectClassification$1 as UpdateDefaultProjectClassification, index$7_UpdateFieldConfigurationSchemeDetails as UpdateFieldConfigurationSchemeDetails, index$7_UpdateIssueSecurityLevelDetails as UpdateIssueSecurityLevelDetails, index$7_UpdateIssueSecuritySchemeRequest as UpdateIssueSecuritySchemeRequest, index$7_UpdateNotificationSchemeDetails as UpdateNotificationSchemeDetails, index$7_UpdatePrioritiesInSchemeRequest as UpdatePrioritiesInSchemeRequest, index$7_UpdatePriorityDetails as UpdatePriorityDetails, index$7_UpdatePrioritySchemeRequest as UpdatePrioritySchemeRequest, index$7_UpdatePrioritySchemeResponse as UpdatePrioritySchemeResponse, index$7_UpdateProjectDetails as UpdateProjectDetails, index$7_UpdateProjectsInSchemeRequest as UpdateProjectsInSchemeRequest, index$7_UpdateResolutionDetails as UpdateResolutionDetails, index$7_UpdateScreenDetails as UpdateScreenDetails, index$7_UpdateScreenSchemeDetails as UpdateScreenSchemeDetails, index$7_UpdateScreenTypes as UpdateScreenTypes, index$7_UpdateUiModificationDetails as UpdateUiModificationDetails, index$7_UpdateUserToGroup as UpdateUserToGroup, index$7_UpdatedProjectCategory as UpdatedProjectCategory, User$2 as User, index$7_UserAvatarUrls as UserAvatarUrls, UserDetails$1 as UserDetails, index$7_UserKey as UserKey, index$7_UserList as UserList, index$7_UserMigration as UserMigration, index$7_UserNavProperty as UserNavProperty, index$7_UserPickerUser as UserPickerUser, index$7_ValidationOptionsForCreate as ValidationOptionsForCreate, index$7_ValidationOptionsForUpdate as ValidationOptionsForUpdate, Version$1 as Version, index$7_VersionApprover as VersionApprover, index$7_VersionIssueCounts as VersionIssueCounts, index$7_VersionIssuesStatus as VersionIssuesStatus, index$7_VersionMove as VersionMove, index$7_VersionRelatedWork as VersionRelatedWork, index$7_VersionUnresolvedIssuesCount as VersionUnresolvedIssuesCount, index$7_VersionUsageInCustomField as VersionUsageInCustomField, index$7_Visibility as Visibility, index$7_Votes as Votes, index$7_Watchers as Watchers, index$7_Webhook as Webhook, index$7_WebhookDetails as WebhookDetails, index$7_WebhookRegistrationDetails as WebhookRegistrationDetails, index$7_WebhooksExpirationDate as WebhooksExpirationDate, index$7_Workflow as Workflow, index$7_WorkflowAssociationStatusMapping as WorkflowAssociationStatusMapping, WorkflowCapabilities$1 as WorkflowCapabilities, index$7_WorkflowCapabilityPayload as WorkflowCapabilityPayload, index$7_WorkflowCondition as WorkflowCondition, index$7_WorkflowCreate as WorkflowCreate, index$7_WorkflowCreateRequest as WorkflowCreateRequest, index$7_WorkflowElementReference as WorkflowElementReference, index$7_WorkflowId as WorkflowId, index$7_WorkflowLayout as WorkflowLayout, index$7_WorkflowMetadataAndIssueTypeRestModel as WorkflowMetadataAndIssueTypeRestModel, index$7_WorkflowMetadataRestModel as WorkflowMetadataRestModel, index$7_WorkflowOperations as WorkflowOperations, index$7_WorkflowPayload as WorkflowPayload, index$7_WorkflowProjectIssueTypeUsage as WorkflowProjectIssueTypeUsage, index$7_WorkflowProjectIssueTypeUsagePage as WorkflowProjectIssueTypeUsagePage, index$7_WorkflowProjectUsage as WorkflowProjectUsage, index$7_WorkflowRead as WorkflowRead, index$7_WorkflowReferenceStatus as WorkflowReferenceStatus, index$7_WorkflowRuleConfiguration as WorkflowRuleConfiguration, index$7_WorkflowRules as WorkflowRules, index$7_WorkflowRulesSearch as WorkflowRulesSearch, index$7_WorkflowRulesSearchDetails as WorkflowRulesSearchDetails, index$7_WorkflowScheme as WorkflowScheme, index$7_WorkflowSchemeAssociation as WorkflowSchemeAssociation, index$7_WorkflowSchemeAssociations as WorkflowSchemeAssociations, index$7_WorkflowSchemeIdName as WorkflowSchemeIdName, index$7_WorkflowSchemePayload as WorkflowSchemePayload, index$7_WorkflowSchemeProjectAssociation as WorkflowSchemeProjectAssociation, index$7_WorkflowSchemeProjectUsage as WorkflowSchemeProjectUsage, index$7_WorkflowSchemeReadRequest as WorkflowSchemeReadRequest, index$7_WorkflowSchemeReadResponse as WorkflowSchemeReadResponse, index$7_WorkflowSchemeUpdateRequiredMappingsResponse as WorkflowSchemeUpdateRequiredMappingsResponse, index$7_WorkflowSchemeUsage as WorkflowSchemeUsage, index$7_WorkflowSchemeUsagePage as WorkflowSchemeUsagePage, index$7_WorkflowScope as WorkflowScope, index$7_WorkflowSearchResponse as WorkflowSearchResponse, index$7_WorkflowStatus as WorkflowStatus, index$7_WorkflowStatusAndPort as WorkflowStatusAndPort, index$7_WorkflowStatusLayout as WorkflowStatusLayout, index$7_WorkflowStatusLayoutPayload as WorkflowStatusLayoutPayload, index$7_WorkflowStatusPayload as WorkflowStatusPayload, index$7_WorkflowStatusProperties as WorkflowStatusProperties, index$7_WorkflowStatusUpdate as WorkflowStatusUpdate, index$7_WorkflowTransition as WorkflowTransition, index$7_WorkflowTransitionLinks as WorkflowTransitionLinks, index$7_WorkflowTransitionProperty as WorkflowTransitionProperty, index$7_WorkflowTransitionRule as WorkflowTransitionRule, WorkflowTransitionRules$1 as WorkflowTransitionRules, index$7_WorkflowTransitionRulesDetails as WorkflowTransitionRulesDetails, index$7_WorkflowTransitionRulesUpdate as WorkflowTransitionRulesUpdate, index$7_WorkflowTransitionRulesUpdateErrorDetails as WorkflowTransitionRulesUpdateErrorDetails, index$7_WorkflowTransitionRulesUpdateErrors as WorkflowTransitionRulesUpdateErrors, index$7_WorkflowTransitions as WorkflowTransitions, index$7_WorkflowTrigger as WorkflowTrigger, index$7_WorkflowUpdate as WorkflowUpdate, index$7_WorkflowUpdateRequest as WorkflowUpdateRequest, index$7_WorkflowUpdateValidateRequest as WorkflowUpdateValidateRequest, index$7_WorkflowValidationError as WorkflowValidationError, index$7_WorkflowValidationErrorList as WorkflowValidationErrorList, index$7_WorkflowsWithTransitionRulesDetails as WorkflowsWithTransitionRulesDetails, index$7_WorkingDaysConfig as WorkingDaysConfig, index$7_Worklog as Worklog, index$7_WorklogIdsRequest as WorklogIdsRequest, index$7_WorklogsMoveRequest as WorklogsMoveRequest, index$7_WorkspaceDataPolicy as WorkspaceDataPolicy };
}

interface AddActorUsers extends ActorsMap {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface AddAtlassianTeam {
    /** The ID of the plan. */
    planId: number;
    /** The capacity for the Atlassian team. */
    capacity?: number;
    /** The Atlassian team ID. */
    id: string;
    /** The ID of the issue source for the Atlassian team. */
    issueSourceId?: number;
    /** The planning style for the Atlassian team. This must be "Scrum" or "Kanban". */
    planningStyle: 'Scrum' | 'Kanban' | string;
    /** The sprint length for the Atlassian team. */
    sprintLength?: number;
}

/**
 * Represents an attachment to be added to an issue.
 *
 * @example
 *   ```typescript
 *   const attachment: Attachment = {
 *     filename: 'example.txt',
 *     file: Buffer.from('Hello, world!'),
 *     mimeType: 'text/plain',
 *   };
 *   ```
 */
interface Attachment$2 {
    /**
     * The name of the attachment file.
     *
     * @example
     *   ```typescript
     *   const filename = 'document.pdf';
     *   ```
     */
    filename: string;
    /**
     * The content of the attachment. Can be one of the following:
     *
     * - `Buffer`: For binary data.
     * - `ReadableStream`: For streaming large files.
     * - `string`: For text-based content.
     * - `Blob`: For browser-like blob objects.
     * - `File`: For file objects with metadata (e.g., in web environments).
     *
     * @example
     *   ```typescript
     *   const fileContent = fs.readFileSync('./document.pdf');
     *   ```
     */
    file: Buffer | ReadableStream | Readable | string | Blob | File;
    /**
     * Optional MIME type of the attachment. Example values include:
     *
     * - 'application/pdf'
     * - 'image/png'
     *
     * If not provided, the MIME type will be automatically detected based on the filename.
     *
     * @example
     *   ```typescript
     *   const mimeType = 'application/pdf';
     *   ```
     */
    mimeType?: string;
}
/**
 * Parameters for adding attachments to an issue.
 *
 * @example
 *   ```typescript
 *   const addAttachmentParams: AddAttachment = {
 *     issueIdOrKey: 'PROJECT-123',
 *     attachment: {
 *       filename: 'example.txt',
 *       file: 'Hello, world!',
 *       mimeType: 'text/plain',
 *     },
 *   };
 *   ```
 */
interface AddAttachment {
    /**
     * The ID or key of the issue to which the attachments will be added.
     *
     * @example
     *   ```typescript
     *   const issueIdOrKey = 'PROJECT-123';
     *   ```
     */
    issueIdOrKey: string;
    /**
     * The attachment(s) to be added. Can be a single `Attachment` object or an array of `Attachment` objects.
     *
     * @example
     *   ```typescript
     *   const attachments = [
     *     {
     *       filename: 'file1.txt',
     *       file: Buffer.from('File 1 content'),
     *       mimeType: 'text/plain',
     *     },
     *     {
     *       filename: 'proof image.png',
     *       file: fs.readFileSync('./image.png'), // Reads the image file into a Buffer
     *     },
     *   ];
     *   ```
     */
    attachment: Attachment$2 | Attachment$2[];
}

interface AddComment extends Omit<Comment$1, 'body'> {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body
     * rendered in HTML.
     */
    expand?: string;
    /**
     * The comment text in [Atlassian Document
     * Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/).
     */
    comment?: string | Document;
}

interface AddFieldToDefaultScreen {
    /** The ID of the field. */
    fieldId: string;
}

interface AddGadget extends DashboardGadgetSettings {
    /** The ID of the dashboard. */
    dashboardId: number;
}

interface AddIssueTypesToContext extends IssueTypeIds {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface AddIssueTypesToIssueTypeScheme extends IssueTypeIds {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
}

interface AddNotifications {
    /** The ID of the notification scheme. */
    id: string;
    /** The list of notifications which should be added to the notification scheme. */
    notificationSchemeEvents: NotificationSchemeEventDetails[];
}

interface AddProjectRoleActorsToRole extends ActorInput {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface AddScreenTab extends ScreenableTab {
    /** The ID of the screen. */
    screenId: number;
}

interface AddScreenTabField extends AddField {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
}

interface AddSecurityLevel extends AddSecuritySchemeLevelsRequest {
    /** The ID of the issue security scheme. */
    schemeId: string;
}

interface AddSecurityLevelMembers extends SecuritySchemeMembersRequest {
    /** The ID of the issue security scheme. */
    schemeId: string;
    /** The ID of the issue security level. */
    levelId: string;
}

interface AddSharePermission extends SharePermissionInput {
    /** The ID of the filter. */
    id: number;
}

interface AddUserToGroup extends UpdateUserToGroup {
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. The name of the group. This
     * parameter cannot be used with the `groupId` parameter.
     */
    groupname?: string;
    /** The ID of the group. This parameter cannot be used with the `groupName` parameter. */
    groupId?: string;
}

interface AddVote {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface AddWatcher {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** Account id for specific user. */
    accountId?: string;
}

interface AddWorklog extends Omit<Worklog, 'comment'> {
    /** The ID or key the issue. */
    issueIdOrKey: string;
    /** Whether users watching the issue are notified by email. */
    notifyUsers?: boolean;
    /**
     * Defines how to update the issue's time estimate, the options are:
     *
     * - `new` Sets the estimate to a specific value, defined in `newEstimate`.
     * - `leave` Leaves the estimate unchanged.
     * - `manual` Reduces the estimate by amount specified in `reduceBy`.
     * - `auto` Reduces the estimate by the value of `timeSpent` in the worklog.
     */
    adjustEstimate?: 'new' | 'leave' | 'manual' | 'auto' | string;
    /**
     * A comment about the worklog in [Atlassian Document
     * Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/). Optional when creating or
     * updating a worklog.
     */
    comment?: string | Document;
    /**
     * The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For
     * example, _2d_. Required when `adjustEstimate` is `new`.
     */
    newEstimate?: string;
    /**
     * The amount to reduce the issue's remaining estimate by, as days (#d), hours (#h), or minutes (#m). For example,
     * _2d_. Required when `adjustEstimate` is `manual`.
     */
    reduceBy?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about work logs in the response. This parameter accepts `properties`, which returns worklog
     * properties.
     */
    expand?: 'properties' | 'properties'[] | string | string[];
    /**
     * Whether the worklog entry should be added to the issue even if the issue is not editable, because
     * jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag.
     */
    overrideEditableFlag?: boolean;
}

interface AnalyseExpression extends JiraExpressionForAnalysis {
    /**
     * The check to perform:
     *
     * - `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are
     *   validated. For example, the expression's length.
     * - `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors
     *   that would result in the expression failure at runtime are reported. For example, accessing properties that don't
     *   exist or passing the wrong number of arguments to functions. Also performs the syntax check.
     * - `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive
     *   operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each
     *   expression may execute.
     */
    check?: 'syntax' | 'type' | 'complexity' | string;
}

interface AppendMappingsForIssueTypeScreenScheme extends IssueTypeScreenSchemeMappingDetails {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
}

interface ArchiveIssues extends IssueArchivalSyncRequest {
}

interface ArchiveIssuesAsync extends ArchiveIssueAsyncRequest {
}

interface ArchivePlan {
    /** The ID of the plan. */
    planId: number;
}

interface ArchiveProject {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface AssignFieldConfigurationSchemeToProject extends FieldConfigurationSchemeProjectAssociation {
}

interface AssignIssue extends Omit<User$2, 'accountId' | 'active'> {
    /** The ID or key of the issue to be assigned. */
    issueIdOrKey: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. If passed `null` it will unassigned issue.
     */
    accountId: string | null;
    /** Whether the user is active. */
    active?: boolean;
}

interface AssignIssueTypeSchemeToProject extends IssueTypeSchemeProjectAssociation {
}

interface AssignIssueTypeScreenSchemeToProject extends IssueTypeScreenSchemeProjectAssociation {
}

interface AssignPermissionScheme extends Id {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Note that permissions are included when
     * you specify any value. Expand options include:
     *
     * - `all` Returns all expandable information.
     * - `field` Returns information about the custom field granted the permission.
     * - `group` Returns information about the group that is granted the permission.
     * - `permissions` Returns all permission grants for each permission scheme.
     * - `projectRole` Returns information about the project role granted the permission.
     * - `user` Returns information about the user who is granted the permission.
     */
    expand?: 'all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'permissions' | 'projectRole' | 'user')[] | string | string[];
}

interface AssignProjectsToCustomFieldContext extends ProjectIds {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface AssignSchemeToProject extends WorkflowSchemeProjectAssociation {
}

/** Issue security scheme, project, and remapping details. */
interface AssociateSchemesToProjects {
    /** The list of scheme levels which should be remapped to new levels of the issue security scheme. */
    oldToNewSecurityLevelMappings?: OldToNewSecurityLevelMappings[];
    /** The ID of the project. */
    projectId: string;
    /** The ID of the issue security scheme. Providing null will clear the association with the issue security scheme. */
    schemeId: string;
}

interface BulkDeleteIssueProperty extends IssueFilterForBulkPropertyDelete {
    /** The key of the property. */
    propertyKey: string;
}

interface BulkDeleteWorklogs extends WorklogIdsRequest {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Defines how to update the issue's time estimate, the options are:
     *
     * - `leave` Leaves the estimate unchanged.
     * - `auto` Reduces the estimate by the aggregate value of `timeSpent` across all worklogs being deleted.
     */
    adjustEstimate?: 'leave' | 'auto' | string;
    /**
     * Whether the work log entries should be removed to the issue even if the issue is not editable, because
     * jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with
     * admin permission can use this flag.
     */
    overrideEditableFlag?: boolean;
}

/** Details of a request to bulk edit shareable entity. */
interface BulkEditDashboards {
    /** Allowed action for bulk edit shareable entity */
    action: string;
    changeOwnerDetails?: BulkChangeOwnerDetails;
    /** The id list of shareable entities to be changed. */
    entityIds: number[];
    /** Whether the actions are executed by users with Administer Jira global permission. */
    extendAdminPermissions?: boolean;
    permissionDetails?: PermissionDetails;
}

interface BulkFetchIssues {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about issues in the response. Note that, unlike the majority of instances where `expand` is specified,
     * `expand` is defined as a list of values. The expand options are:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     */
    expand?: 'renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | string | ('renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | string)[];
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * - `*all` Returns all fields.
     * - `*navigable` Returns navigable fields.
     * - Any issue field, prefixed with a minus to exclude.
     *
     *   The default is `*navigable`.
     *
     *   Examples:
     * - `summary,comment` Returns the summary and comments fields only.
     * - `-description` Returns all navigable (default) fields except description.
     * - `*all,-comment` Returns all fields except comments.
     *
     *   Multiple `fields` parameters can be included in a request.
     *
     *   Note: All navigable fields are returned by default. This differs from [GET
     *   issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.
     */
    fields?: ('*all' | '*navigable' | string)[];
    /** Reference fields by their key (rather than ID). The default is `false`. */
    fieldsByKeys?: boolean;
    /** An array of issue IDs or issue keys to fetch. You can mix issue IDs and keys in the same query. */
    issueIdsOrKeys: string[];
    /**
     * A list of issue property keys of issue properties to be included in the results. A maximum of 5 issue property keys
     * can be specified.
     */
    properties?: string[];
}

interface BulkGetGroups {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example,
     * `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`.
     */
    groupId?: string[];
    /**
     * The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example,
     * `groupName=administrators&groupName=jira-software-users`.
     */
    groupName?: string[];
    /** The access level of a group. Valid values: 'site-admin', 'admin', 'user'. */
    accessType?: 'site-admin' | 'admin' | 'user' | string;
    /**
     * The application key of the product user groups to search for. Valid values: 'jira-servicedesk', 'jira-software',
     * 'jira-product-discovery', 'jira-core'.
     */
    applicationKey?: 'jira-servicedesk' | 'jira-software' | 'jira-product-discovery' | 'jira-core' | string;
}

interface BulkGetUsers {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The account ID of a user. To specify multiple users, pass multiple `accountId` parameters. For example,
     * `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`.
     */
    accountId: string[];
}

interface BulkGetUsersMigration {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Username of a user. To specify multiple users, pass multiple copies of this parameter. For example,
     * `username=fred&username=barney`. Required if `key` isn't provided. Cannot be provided if `key` is present.
     */
    username?: string[];
    /**
     * Key of a user. To specify multiple users, pass multiple copies of this parameter. For example,
     * `key=fred&key=barney`. Required if `username` isn't provided. Cannot be provided if `username` is present.
     */
    key?: string[];
}

interface BulkMoveWorklogs {
    issueIdOrKey: string;
    /**
     * Defines how to update the issues' time estimate, the options are:
     *
     * - `leave` Leaves the estimate unchanged.
     * - `auto` Reduces the estimate by the aggregate value of `timeSpent` across all worklogs being moved in the source
     *   issue, and increases it in the destination issue.
     */
    adjustEstimate?: 'leave' | 'auto' | string;
    /**
     * Whether the work log entry should be moved to and from the issues even if the issues are not editable, because
     * jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with
     * admin permission can use this flag.
     */
    overrideEditableFlag?: boolean;
    worklogs: WorklogsMoveRequest;
}

interface BulkSetIssuePropertiesByIssue extends MultiIssueEntityProperties {
}

interface BulkSetIssueProperty extends BulkIssuePropertyUpdateRequest {
    /** The key of the property. The maximum length is 255 characters. */
    propertyKey: string;
}

interface BulkSetIssuesProperties extends IssueEntityProperties {
}

interface CancelTask {
    /** The ID of the task. */
    taskId: string;
}

interface ChangeFilterOwner {
    /** The ID of the filter to update. */
    id: number;
    accountId: string;
}

interface CopyDashboard extends DashboardDetails {
    id: string;
    /**
     * Whether admin level permissions are used. It should only be true if the user has _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    extendAdminPermissions?: boolean;
}

interface CountIssues extends JQLCountRequest {
}

interface CreateAssociations extends FieldAssociationsRequest {
}

interface CreateComponent extends ProjectComponent {
}

interface CreateCustomField extends CustomFieldDefinitionJson {
}

interface CreateCustomFieldContext {
    id: string;
    /** The ID of the custom field. */
    fieldId: string;
    /** The name of the context. */
    name: string;
    /** The description of the context. */
    description?: string;
    /** The list of project IDs associated with the context. If the list is empty, the context is global. */
    projectIds?: string[];
    /** The list of issue types IDs for the context. If the list is empty, the context refers to all issue types. */
    issueTypeIds?: string[];
}

interface CreateCustomFieldOption extends BulkCustomFieldOptionCreateRequest {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface CreateDashboard extends Omit<DashboardDetails, 'editPermissions'> {
    /** The edit permissions for the dashboard. */
    editPermissions?: SharePermission[];
    /**
     * Whether admin level permissions are used. It should only be true if the user has _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    extendAdminPermissions?: boolean;
}

interface CreateFieldConfiguration extends FieldConfigurationDetails {
}

interface CreateFieldConfigurationScheme extends UpdateFieldConfigurationSchemeDetails {
}

interface CreateFilter extends Filter {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
    /**
     * EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be created.
     * Available to users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideSharePermissions?: boolean;
}

type CreateGroup = AddGroup & Record<string, any>;

interface CreateIssue extends Omit<IssueUpdateDetails, 'fields'> {
    /**
     * Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown
     * under **Projects** in Jira. When provided, the issue type and request type are added to the user's history for a
     * project. These values are then used to provide defaults on the issue create screen.
     */
    updateHistory?: boolean;
    /**
     * List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field
     * provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are
     * required, use `update`. Fields included in here cannot be included in `update`.
     */
    fields: {
        [key: string]: any;
        summary: string;
        project: Partial<Project$1>;
        issuetype: {
            id?: string | number;
            name?: string;
        };
        parent?: {
            [key: string]: any;
            key?: string;
        };
        components?: Array<{
            [key: string]: any;
            id?: string | number;
        }>;
        description?: string | Document;
        reporter?: {
            [key: string]: any;
            id?: string | number;
        };
        fixVersions?: Array<{
            [key: string]: any;
            id?: string | number;
        }>;
        priority?: {
            [key: string]: any;
            id?: string | number;
        };
        labels?: string[];
        timetracking?: TimeTrackingDetails;
        security?: {
            [key: string]: any;
            id?: string | number;
        };
        environment?: any;
        versions?: Array<{
            [key: string]: any;
            id?: string | number;
        }>;
        duedate?: string;
        assignee?: {
            [key: string]: any;
            id?: string | number;
        };
    };
}

interface CreateIssueFieldOption extends IssueFieldOptionCreate {
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
}

interface CreateIssueLinkType extends IssueLinkType {
}

interface CreateIssues extends IssuesUpdate {
}

interface CreateIssueSecurityScheme extends CreateIssueSecuritySchemeDetails {
}

interface CreateIssueType extends IssueTypeCreate {
}

interface CreateIssueTypeAvatar {
    /** The ID of the issue type. */
    id: string;
    /** The X coordinate of the top-left corner of the crop region. */
    x?: number;
    /** The Y coordinate of the top-left corner of the crop region. */
    y?: number;
    /**
     * The length of each side of the crop region.
     *
     * @default 0
     */
    size?: number;
    mimeType: string;
    avatar: Buffer | ArrayBuffer | Uint8Array;
}

interface CreateIssueTypeScheme extends IssueTypeSchemeDetails {
}

interface CreateIssueTypeScreenScheme extends IssueTypeScreenSchemeDetails {
}

interface CreateNotificationScheme extends CreateNotificationSchemeDetails {
}

interface CreateOrUpdateRemoteIssueLink extends RemoteIssueLinkRequest {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface CreatePermissionGrant extends PermissionGrant {
    /** The ID of the permission scheme in which to create a new permission grant. */
    schemeId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `permissions` Returns all permission grants for each permission scheme. `user` Returns information about the user
     * who is granted the permission. `group` Returns information about the group that is granted the permission.
     * `projectRole` Returns information about the project role granted the permission. `field` Returns information about
     * the custom field granted the permission. `all` Returns all expandable information.
     */
    expand?: string;
}

interface CreatePermissionScheme extends PermissionScheme {
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `permissions` Returns all
     * permission grants for each permission scheme. `projectRole` Returns information about the project role granted the
     * permission. `user` Returns information about the user who is granted the permission.
     */
    expand?: string;
}

interface CreatePlan {
    /** Whether to accept group IDs instead of group names. Group names are deprecated. */
    useGroupId?: boolean;
    /** The cross-project releases to include in the plan. */
    crossProjectReleases?: CreateCrossProjectReleaseRequest[];
    /** The custom fields for the plan. */
    customFields?: CreateCustomFieldRequest[];
    exclusionRules?: CreateExclusionRulesRequest;
    /** The issue sources to include in the plan. */
    issueSources: CreateIssueSourceRequest[];
    /** The account ID of the plan lead. */
    leadAccountId?: string;
    /** The plan name. */
    name: string;
    /** The permissions for the plan. */
    permissions?: CreatePermissionRequest[];
    scheduling?: CreateSchedulingRequest;
}

interface CreatePlanOnlyTeam {
    /** The ID of the plan. */
    planId: number;
    /** The capacity for the plan-only team. */
    capacity?: number;
    /** The ID of the issue source for the plan-only team. */
    issueSourceId?: number;
    /** The account IDs of the plan-only team members. */
    memberAccountIds?: string[];
    /** The plan-only team name. */
    name: string;
    /** The planning style for the plan-only team. This must be "Scrum" or "Kanban". */
    planningStyle: 'Scrum' | 'Kanban' | string;
    /** The sprint length for the plan-only team. */
    sprintLength?: number;
}

interface CreatePriority extends CreatePriorityDetails {
}

/** Details of a new priority scheme */
interface CreatePriorityScheme {
    /** The ID of the default priority for the priority scheme. */
    defaultPriorityId: number;
    /** The description of the priority scheme. */
    description?: string;
    mappings?: PriorityMapping;
    /** The name of the priority scheme. Must be unique. */
    name: string;
    /** The IDs of priorities in the scheme. */
    priorityIds: number[];
    /** The IDs of projects that will use the priority scheme. */
    projectIds?: number[];
}

interface CreateProject extends CreateProjectDetails {
}

interface CreateProjectAvatar {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
    /** The X coordinate of the top-left corner of the crop region. */
    x?: number;
    /** The Y coordinate of the top-left corner of the crop region. */
    y?: number;
    /**
     * The length of each side of the crop region.
     *
     * @default 0
     */
    size?: number;
    mimeType: string;
    avatar: Buffer | ArrayBuffer | Uint8Array;
}

interface CreateProjectCategory extends ProjectCategory {
}

interface CreateProjectRole extends CreateUpdateRoleRequest {
}

interface CreateProjectWithCustomTemplate extends ProjectCustomTemplateCreateRequest {
}

interface CreateRelatedWork extends VersionRelatedWork {
    id: string;
}

type CreateResolution = CreateResolutionDetails & Record<string, any>;

interface CreateScreen extends ScreenDetails {
}

interface CreateScreenScheme extends ScreenSchemeDetails {
}

interface CreateStatuses extends StatusCreateRequest {
}

interface CreateUiModification extends CreateUiModificationDetails {
}

interface CreateUser extends NewUserDetails {
}

interface CreateVersion extends Version$1 {
}

interface CreateWorkflow extends CreateWorkflowDetails {
}

interface CreateWorkflows extends WorkflowCreateRequest {
}

interface CreateWorkflowScheme extends WorkflowScheme {
}

interface CreateWorkflowSchemeDraftFromParent {
    /** The ID of the active workflow scheme that the draft is created from. */
    id: number;
}

interface CreateWorkflowTransitionProperty extends WorkflowTransitionProperty {
    /**
     * The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown
     * next to the transition.
     */
    transitionId: number;
    /**
     * The key of the property being added, also known as the name of the property. Set this to the same value as the
     * `key` defined in the request body.
     */
    key: string;
    /** The name of the workflow that the transition belongs to. */
    workflowName: string;
    /**
     * The workflow status. Set to _live_ for inactive workflows or _draft_ for draft workflows. Active workflows cannot
     * be edited.
     */
    workflowMode?: 'live' | 'draft' | string;
}

interface DeleteActor {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
    /** The user account ID of the user to remove from the project role. */
    user?: string;
    /**
     * The name of the group to remove from the project role. This parameter cannot be used with the `groupId` parameter.
     * As a group's name can change, use of `groupId` is recommended.
     */
    group?: string;
    /** The ID of the group to remove from the project role. This parameter cannot be used with the `group` parameter. */
    groupId?: string;
}

interface DeleteAddonProperty {
    /** The key of the app, as defined in its descriptor. */
    addonKey: string;
    /** The key of the property. */
    propertyKey: string;
}

interface DeleteAndReplaceVersion extends DeleteAndReplaceVersion$1 {
    /** The ID of the version. */
    id: string;
}

interface DeleteAppProperty {
    /** The key of the property. */
    propertyKey: string;
}

interface DeleteAvatar {
    /** The avatar type. */
    type: 'project' | 'issuetype' | string;
    /** The ID of the item the avatar is associated with. */
    owningObjectId: string;
    /** The ID of the avatar. */
    id: number;
}

interface DeleteComment {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the comment. */
    id: string;
    parentId?: string;
}

interface DeleteCommentProperty {
    /** The ID of the comment. */
    commentId: string;
    /** The key of the property. */
    propertyKey: string;
}

interface DeleteComponent {
    /** The ID of the component. */
    id: string;
    /** The ID of the component to replace the deleted component. If this value is null no replacement is made. */
    moveIssuesTo?: string;
}

interface DeleteCustomField {
    /** The ID of a custom field. */
    id: string;
}

interface DeleteCustomFieldContext {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface DeleteCustomFieldOption {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context from which an option should be deleted. */
    contextId: number;
    /** The ID of the option to delete. */
    optionId: number;
}

interface DeleteDashboard {
    /** The ID of the dashboard. */
    id: string;
}

interface DeleteDashboardItemProperty {
    /** The ID of the dashboard. */
    dashboardId: string;
    /** The ID of the dashboard item. */
    itemId: string;
    /** The key of the dashboard item property. */
    propertyKey: string;
}

interface DeleteDefaultWorkflow {
    /** The ID of the workflow scheme. */
    id: number;
    /**
     * Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the
     * workflow scheme cannot be edited. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

interface DeleteDraftDefaultWorkflow {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
}

interface DeleteDraftWorkflowMapping {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The name of the workflow. */
    workflowName: string;
}

interface DeleteFavouriteForFilter {
    /** The ID of the filter. */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
}

interface DeleteFieldConfiguration {
    /** The ID of the field configuration. */
    id: number;
}

interface DeleteFieldConfigurationScheme {
    /** The ID of the field configuration scheme. */
    id: number;
}

interface DeleteFilter {
    /** The ID of the filter to delete. */
    id: number;
}

interface DeleteInactiveWorkflow {
    /** The entity ID of the workflow. */
    entityId: string;
}

interface DeleteIssue {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** Whether the issue's subtasks are deleted when the issue is deleted. */
    deleteSubtasks?: boolean;
}

interface DeleteIssueFieldOption {
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
    /** The ID of the option to be deleted. */
    optionId: number;
}

interface DeleteIssueLink {
    /** The ID of the issue link. */
    linkId: string;
}

interface DeleteIssueLinkType {
    /** The ID of the issue link type. */
    issueLinkTypeId: string;
}

interface DeleteIssueProperty {
    /** The key or ID of the issue. */
    issueIdOrKey: string;
    /** The key of the property. */
    propertyKey: string;
}

interface DeleteIssueType {
    /** The ID of the issue type. */
    id: string;
    /** The ID of the replacement issue type. */
    alternativeIssueTypeId?: string;
}

interface DeleteIssueTypeProperty {
    /** The ID of the issue type. */
    issueTypeId: string;
    /**
     * The key of the property. Use [Get issue type property keys](#api-rest-api-3-issuetype-issueTypeId-properties-get)
     * to get a list of all issue type property keys.
     */
    propertyKey: string;
}

interface DeleteIssueTypeScheme {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
}

interface DeleteIssueTypeScreenScheme {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
}

interface DeleteNotificationScheme {
    /** The ID of the notification scheme. */
    notificationSchemeId: string;
}

interface DeletePermissionScheme {
    /** The ID of the permission scheme being deleted. */
    schemeId: number;
}

interface DeletePermissionSchemeEntity {
    /** The ID of the permission scheme to delete the permission grant from. */
    schemeId: number;
    /** The ID of the permission grant to delete. */
    permissionId: number;
}

interface DeletePlanOnlyTeam {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the plan-only team. */
    planOnlyTeamId: number;
}

interface DeletePriority {
    /** The ID of the issue priority. */
    id: string;
}

interface DeletePriorityScheme {
    /** The priority scheme ID. */
    schemeId: number;
}

interface DeleteProject {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** Whether this project is placed in the Jira recycle bin where it will be available for restoration. */
    enableUndo?: boolean;
}

interface DeleteProjectAsynchronously {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface DeleteProjectAvatar {
    /** The project ID or (case-sensitive) key. */
    projectIdOrKey: string | number;
    /** The ID of the avatar. */
    id: number;
}

interface DeleteProjectProperty {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to
     * get a list of all project property keys.
     */
    propertyKey: string;
}

interface DeleteProjectRole {
    /**
     * The ID of the project role to delete. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of
     * project role IDs.
     */
    id: number;
    /** The ID of the project role that will replace the one being deleted. */
    swap?: number;
}

interface DeleteProjectRoleActorsFromRole {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
    /** The user account ID of the user to remove as a default actor. */
    user?: string;
    /**
     * The group ID of the group to be removed as a default actor. This parameter cannot be used with the `group`
     * parameter.
     */
    groupId?: string;
    /**
     * The group name of the group to be removed as a default actor.This parameter cannot be used with the `groupId`
     * parameter. As a group's name can change, use of `groupId` is recommended.
     */
    group?: string;
}

interface DeleteRelatedWork {
    /** The ID of the version that the target related work belongs to. */
    versionId: string;
    /** The ID of the related work to delete. */
    relatedWorkId: string;
}

interface DeleteRemoteIssueLinkByGlobalId {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The global ID of a remote issue link. */
    globalId: string;
}

interface DeleteRemoteIssueLinkById {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of a remote issue link. */
    linkId: string;
}

interface DeleteResolution {
    /** The ID of the issue resolution. */
    id: string;
    /** The ID of the issue resolution that will replace the currently selected resolution. */
    replaceWith: string;
}

interface DeleteScreen {
    /** The ID of the screen. */
    screenId: number;
}

interface DeleteScreenScheme {
    /** The ID of the screen scheme. */
    screenSchemeId: string;
}

interface DeleteScreenTab {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
}

interface DeleteSecurityScheme {
    /** The ID of the issue security scheme. */
    schemeId: string;
}

interface DeleteSharePermission {
    /** The ID of the filter. */
    id: number;
    /** The ID of the share permission. */
    permissionId: number;
}

interface DeleteStatusesById {
    /**
     * The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * id=10000&id=10001.
     *
     * Min items `1`, Max items `50`
     */
    id?: string[];
}

interface DeleteUiModification {
    /** The ID of the UI modification. */
    uiModificationId: string;
}

interface DeleteUserProperty {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    userKey?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** The key of the user's property. */
    propertyKey: string;
}

interface DeleteWebhookById extends ContainerForWebhookIDs {
}

interface DeleteWorkflowMapping {
    /** The ID of the workflow scheme. */
    id: number;
    /** The name of the workflow. */
    workflowName: string;
    /**
     * Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the
     * workflow scheme cannot be edited. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

interface DeleteWorkflowScheme {
    /**
     * The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the
     * URL as `schemeId`. For example, _schemeId=10301_.
     */
    id: number;
}

interface DeleteWorkflowSchemeDraft {
    /** The ID of the active workflow scheme that the draft was created from. */
    id: number;
}

interface DeleteWorkflowSchemeDraftIssueType {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
}

interface DeleteWorkflowSchemeIssueType {
    /** The ID of the workflow scheme. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
    /**
     * Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the
     * workflow scheme cannot be edited. Defaults to `false`.
     */
    updateDraftIfNeeded?: boolean;
}

interface DeleteWorkflowTransitionProperty {
    /**
     * The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown
     * next to the transition.
     */
    transitionId: number;
    /** The name of the transition property to delete, also known as the name of the property. */
    key: string;
    /** The name of the workflow that the transition belongs to. */
    workflowName: string;
    /**
     * The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot
     * be edited.
     */
    workflowMode?: 'live' | 'draft' | string;
}

interface DeleteWorkflowTransitionRuleConfigurations extends WorkflowsWithTransitionRulesDetails {
}

interface DeleteWorklog {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    id: string;
    /** Whether users watching the issue are notified by email. */
    notifyUsers?: boolean;
    /**
     * Defines how to update the issue's time estimate, the options are:
     *
     * - `new` Sets the estimate to a specific value, defined in `newEstimate`.
     * - `leave` Leaves the estimate unchanged.
     * - `manual` Increases the estimate by amount specified in `increaseBy`.
     * - `auto` Reduces the estimate by the value of `timeSpent` in the worklog.
     */
    adjustEstimate?: 'new' | 'leave' | 'manual' | 'auto' | string;
    /**
     * The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For
     * example, _2d_. Required when `adjustEstimate` is `new`.
     */
    newEstimate?: string;
    /**
     * The amount to increase the issue's remaining estimate by, as days (#d), hours (#h), or minutes (#m or #). For
     * example, _2d_. Required when `adjustEstimate` is `manual`.
     */
    increaseBy?: string;
    /**
     * Whether the work log entry should be added to the issue even if the issue is not editable, because
     * jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with
     * admin permission can use this flag.
     */
    overrideEditableFlag?: boolean;
}

interface DeleteWorklogProperty {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    worklogId: string;
    /** The key of the property. */
    propertyKey: string;
}

interface DoTransition extends IssueUpdateDetails {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface DuplicatePlan {
    /** The ID of the plan. */
    planId: number;
    /** The plan name. */
    name: string;
}

interface EditIssue extends IssueUpdateDetails {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Whether a notification email about the issue update is sent to all watchers. To disable the notification,
     * administer Jira or administer project permissions are required. If the user doesn't have the necessary permission
     * the request is ignored.
     */
    notifyUsers?: boolean;
    /**
     * Whether screen security is overridden to enable hidden fields to be edited. Available to Connect app users with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of
     * users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideScreenSecurity?: boolean;
    /**
     * Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of
     * users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideEditableFlag?: boolean;
    /**
     * Whether the response should contain the issue with fields edited in this request. The returned issue will have the
     * same format as in the [Get issue API](#api-rest-api-3-issue-issueidorkey-get).
     */
    returnIssue?: boolean;
    /** The Get issue API expand parameter to use in the response if the `returnIssue` parameter is `true`. */
    expand?: string;
}

interface EvaluateJiraExpression extends JiraExpressionEvalRequest {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts `meta.complexity` that returns information about the expression
     * complexity. For example, the number of expensive operations used by the expression and how close the expression is
     * to reaching the [complexity
     * limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing
     * and debugging your expressions.
     */
    expand?: 'meta.complexity' | string;
}

interface EvaluateJiraExpressionUsingEnhancedSearch extends JiraExpressionEvalUsingEnhancedSearchRequest {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts `meta.complexity` that returns information about the expression
     * complexity. For example, the number of expensive operations used by the expression and how close the expression is
     * to reaching the [complexity
     * limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing
     * and debugging your expressions.
     */
    expand?: string;
}

interface ExpandAttachmentForHumans {
    /** The ID of the attachment. */
    id: string;
}

interface ExpandAttachmentForMachines {
    /** The ID of the attachment. */
    id: string;
}

/** Details of a filter for exporting archived issues. */
interface ExportArchivedIssues {
    /** List archived issues archived by a specified account ID. */
    archivedBy?: string[];
    archivedDateRange?: DateRangeFilter;
    /** List archived issues with a specified issue type ID. */
    issueTypes?: string[];
    /** List archived issues with a specified project key. */
    projects?: string[];
    /** List archived issues where the reporter is a specified account ID. */
    reporters?: string[];
}

interface FindAssignableUsers {
    /**
     * A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `username` or `accountId` is specified.
     */
    query?: string;
    /** The sessionId of this request. SessionId is the same until the assignee is set. */
    sessionId?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. */
    accountId?: string;
    /** The project ID or project key (case sensitive). Required, unless `issueKey` or `issueId` is specified. */
    project?: string;
    /** The key of the issue. Required, unless `issueId` or `project` is specified. */
    issueKey?: string;
    /** The ID of the issue. Required, unless `issueKey` or `project` is specified. */
    issueId?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /**
     * The maximum number of items to return. This operation may return less than the maximum number of items even if more
     * are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the
     * users that can be assigned to the issue.
     */
    maxResults?: number;
    /** The ID of the transition. */
    actionDescriptorId?: number;
    recommend?: boolean;
}

interface FindBulkAssignableUsers {
    /**
     * A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `accountId` is specified.
     */
    query?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. */
    accountId?: string;
    /** A list of project keys (case sensitive). This parameter accepts a comma-separated list. */
    projectKeys: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface FindComponentsForProjects {
    /** The project IDs and/or project keys (case sensitive). */
    projectIdsOrKeys?: string[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by the component description.
     * - `name` Sorts by component name.
     */
    orderBy?: 'description' | '-description' | '+description' | 'name' | '-name' | '+name' | string;
    /**
     * Filter the results using a literal string. Components with a matching `name` or `description` are returned (case
     * insensitive).
     */
    query?: string;
}

interface FindGroups {
    /** Whether the search for groups should be case-insensitive. */
    caseInsensitive?: boolean;
    /**
     * As a group's name can change, use of `excludeGroupIds` is recommended to identify a group. A group to exclude from
     * the result. To exclude multiple groups, provide an ampersand-separated list. For example,
     * `exclude=group1&exclude=group2`. This parameter cannot be used with the `excludeGroupIds` parameter.
     */
    exclude?: string | string[];
    /**
     * A group ID to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For
     * example, `excludeId=group1-id&excludeId=group2-id`. This parameter cannot be used with the `excludeGroups`
     * parameter.
     */
    excludeId?: string[];
    /**
     * The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system
     * property `jira.ajax.autocomplete.limit`.
     */
    maxResults?: number;
    /** The string to find in group names. */
    query?: string;
}

interface FindUserKeysByQuery {
    /** The search query. */
    query: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /**
     * The maximum number of items to return per page.
     *
     * @deprecated Use `maxResult` instead.
     */
    maxResults?: number;
    /** The maximum number of items to return per page. */
    maxResult?: number;
}

interface FindUsers {
    /**
     * A query string that is matched against user attributes ( `displayName`, and `emailAddress`) to find relevant users.
     * The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `accountId` or `property` is specified.
     */
    query?: string;
    username?: string;
    /**
     * A query string that is matched exactly against a user `accountId`. Required, unless `query` or `property` is
     * specified.
     */
    accountId?: string;
    /** The index of the first item to return in a page of filtered results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * A query string used to search properties. Property keys are specified by path, so property keys containing dot (.)
     * or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To
     * search for the value of `nested` from `{"something":{"nested":1,"other":2}}` use
     * `thepropertykey.something.nested=1`. Required, unless `accountId` or `query` is specified.
     */
    property?: string;
}

interface FindUsersAndGroups {
    /** The search string. */
    query: string;
    /** The maximum number of items to return in each list. */
    maxResults?: number;
    /** Whether the user avatar should be returned. If an invalid value is provided, the default value is used. */
    showAvatar?: boolean;
    /** The custom field ID of the field this request is for. */
    fieldId?: string;
    /**
     * The ID of a project that returned users and groups must have permission to view. To include multiple projects,
     * provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`. This parameter is only used
     * when `fieldId` is present.
     */
    projectId?: string[];
    /**
     * The ID of an issue type that returned users and groups must have permission to view. To include multiple issue
     * types, provide an ampersand-separated list. For example, `issueTypeId=10000&issueTypeId=10001`. Special values,
     * such as `-1` (all standard issue types) and `-2` (all subtask issue types), are supported. This parameter is only
     * used when `fieldId` is present.
     */
    issueTypeId?: string[];
    /** The size of the avatar to return. If an invalid value is provided, the default value is used. */
    avatarSize?: 'xsmall' | 'xsmall@2x' | 'xsmall@3x' | 'small' | 'small@2x' | 'small@3x' | 'medium' | 'medium@2x' | 'medium@3x' | 'large' | 'large@2x' | 'large@3x' | 'xlarge' | 'xlarge@2x' | 'xlarge@3x' | 'xxlarge' | 'xxlarge@2x' | 'xxlarge@3x' | 'xxxlarge' | 'xxxlarge@2x' | 'xxxlarge@3x' | string;
    /** Whether the search for groups should be case insensitive. */
    caseInsensitive?: boolean;
    /**
     * Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided,
     * the default value is used.
     */
    excludeConnectAddons?: boolean;
}

interface FindUsersByQuery {
    /** The search query. */
    query: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface FindUsersForPicker {
    /**
     * A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_.
     */
    query: string;
    /** The maximum number of items to return. The total number of matched users is returned in `total`. */
    maxResults?: number;
    /** Include the URI to the user's avatar. */
    showAvatar?: boolean;
    /**
     * A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple
     * account IDs can also be provided using an ampersand-separated list. For example,
     * `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`.
     */
    excludeAccountIds?: string[];
    avatarSize?: string;
    excludeConnectUsers?: boolean;
}

interface FindUsersWithAllPermissions {
    /**
     * A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `accountId` is specified.
     */
    query?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. */
    accountId?: string;
    /**
     * A comma separated list of permissions. Permissions can be specified as any:
     *
     * Permission returned by [Get all permissions](#api-rest-api-3-permissions-get). custom project permission added by
     * Connect apps. (deprecated) one of the following:
     *
     * ASSIGNABLE_USER ASSIGN_ISSUE ATTACHMENT_DELETE_ALL ATTACHMENT_DELETE_OWN BROWSE CLOSE_ISSUE COMMENT_DELETE_ALL
     * COMMENT_DELETE_OWN COMMENT_EDIT_ALL COMMENT_EDIT_OWN COMMENT_ISSUE CREATE_ATTACHMENT CREATE_ISSUE DELETE_ISSUE
     * EDIT_ISSUE LINK_ISSUE MANAGE_WATCHER_LIST MODIFY_REPORTER MOVE_ISSUE PROJECT_ADMIN RESOLVE_ISSUE SCHEDULE_ISSUE
     * SET_ISSUE_SECURITY TRANSITION_ISSUE VIEW_VERSION_CONTROL VIEW_VOTERS_AND_WATCHERS VIEW_WORKFLOW_READONLY
     * WORKLOG_DELETE_ALL WORKLOG_DELETE_OWN WORKLOG_EDIT_ALL WORKLOG_EDIT_OWN WORK_ISSUE
     */
    permissions: string;
    /** The issue key for the issue. */
    issueKey?: string;
    /** The project key for the project (case sensitive). */
    projectKey?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface FindUsersWithBrowsePermission {
    /**
     * A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant
     * users. The string can match the prefix of the attribute's value. For example, _query=john_ matches a user with a
     * `displayName` of _John Smith_ and a user with an `emailAddress` of _johnson@example.com_. Required, unless
     * `accountId` is specified.
     */
    query?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. */
    accountId?: string;
    /** The issue key for the issue. Required, unless `projectKey` is specified. */
    issueKey?: string;
    /** The project key for the project (case sensitive). Required, unless `issueKey` is specified. */
    projectKey?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface FullyUpdateProjectRole extends CreateUpdateRoleRequest {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface GetAccessibleProjectTypeByKey {
    /** The key of the project type. */
    projectTypeKey: 'software' | 'service_desk' | 'business' | 'product_discovery' | string;
}

interface GetAddonProperties {
    /** The key of the app, as defined in its descriptor. */
    addonKey: string;
}

interface GetAddonProperty {
    /** The key of the app, as defined in its descriptor. */
    addonKey: string;
    /** The key of the property. */
    propertyKey: string;
}

interface GetAllDashboards {
    /**
     * The filter applied to the list of dashboards. Valid values are:
     *
     * - `favourite` Returns dashboards the user has marked as favorite.
     * - `my` Returns dashboards owned by the user.
     */
    filter?: 'my' | 'favourite' | string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetAllFieldConfigurations {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`.
     */
    id?: number[];
    /** If _true_ returns default field configurations only. */
    isDefault?: boolean;
    /** The query string used to match against field configuration names and descriptions. */
    query?: string;
}

interface GetAllFieldConfigurationSchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For
     * example, `id=10000&id=10001`.
     */
    id?: number[];
}

interface GetAllGadgets {
    /** The ID of the dashboard. */
    dashboardId: number;
    /**
     * The list of gadgets module keys. To include multiple module keys, separate module keys with ampersand:
     * `moduleKey=key:one&moduleKey=key:two`.
     */
    moduleKey?: string[];
    /**
     * The list of gadgets URIs. To include multiple URIs, separate URIs with ampersand:
     * `uri=/rest/example/uri/1&uri=/rest/example/uri/2`.
     */
    uri?: string[];
    /** The list of gadgets IDs. To include multiple IDs, separate IDs with ampersand: `gadgetId=10000&gadgetId=10001`. */
    gadgetId?: number[];
}

interface GetAllIssueFieldOptions {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
}

interface GetAllIssueTypeSchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`.
     */
    id?: number[];
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `name` Sorts by issue type scheme name.
     * - `id` Sorts by issue type scheme ID.
     */
    orderBy?: 'name' | '-name' | '+name' | 'id' | '-id' | '+id' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `projects` For each issue type schemes, returns information about the projects the issue type scheme is assigned
     *   to. -`issueTypes` For each issue type schemes, returns information about the issueTypes the issue type scheme
     *   have.
     */
    expand?: 'projects' | 'issueTypes' | ('projects' | 'issueTypes')[] | string | string[];
    /** String used to perform a case-insensitive partial match with issue type scheme name. */
    queryString?: string;
}

interface GetAllLabels {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetAllPermissionSchemes {
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are included when you specify any value. Expand options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `permissions` Returns all
     * permission grants for each permission scheme. `projectRole` Returns information about the project role granted the
     * permission. `user` Returns information about the user who is granted the permission.
     */
    expand?: string;
}

interface GetAllProjectAvatars {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
}

interface GetAllScreenTabFields {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
    /** The key of the project. */
    projectKey?: string;
}

interface GetAllScreenTabs {
    /** The ID of the screen. */
    screenId: number;
    /** The key of the project. */
    projectKey?: string;
}

interface GetAllStatuses {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface GetAllSystemAvatars {
    /** The avatar type. */
    type: 'issuetype' | 'project' | 'user' | string;
}

interface GetAllUserDataClassificationLevels {
    /** Optional set of statuses to filter by. */
    status?: ('PUBLISHED' | 'ARCHIVED' | 'DRAFT' | string)[];
    /** Ordering of the results by a given field. If not provided, values will not be sorted. */
    orderBy?: 'rank' | '-rank' | '+rank' | string;
}

interface GetAllUsers {
    /** The index of the first item to return. */
    startAt?: number;
    /** The maximum number of items to return. */
    maxResults?: number;
}

interface GetAllUsersDefault {
    /** The index of the first item to return. */
    startAt?: number;
    /** The maximum number of items to return. */
    maxResults?: number;
}

interface GetAllWorkflowSchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetAlternativeIssueTypes {
    /** The ID of the issue type. */
    id: string;
}

interface GetApplicationProperty {
    /** The key of the application property. */
    key?: string;
    /** The permission level of all items being returned in the list. */
    permissionLevel?: string;
    /**
     * When a `key` isn't provided, this filters the list of results by the application property `key` using a regular
     * expression. For example, using `jira.lf.*` will return all application properties with keys that start with
     * _jira.lf._.
     */
    keyFilter?: string;
}

interface GetApplicationRole {
    /**
     * The key of the application role. Use the [Get all application roles](#api-rest-api-3-applicationrole-get) operation
     * to get the key for each application role.
     */
    key: string;
}

interface GetAssignedPermissionScheme {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Note that permissions are included when
     * you specify any value. Expand options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `permissions` Returns all
     * permission grants for each permission scheme. `projectRole` Returns information about the project role granted the
     * permission. `user` Returns information about the user who is granted the permission.
     */
    expand?: string;
}

interface GetAtlassianTeam {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the Atlassian team. */
    atlassianTeamId: string;
}

interface GetAttachment {
    /** The ID of the attachment. */
    id: string;
}

interface GetAttachmentContent$1 {
    /** The ID of the attachment. */
    id: string;
    /**
     * Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can
     * set this to `false` to avoid making multiple requests to download the attachment.
     */
    redirect?: boolean;
}

interface GetAttachmentThumbnail$1 {
    /** The ID of the attachment. */
    id: string;
    /**
     * Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can
     * set this to `false` to avoid making multiple requests to download the attachment.
     */
    redirect?: boolean;
    /** Whether a default thumbnail is returned when the requested thumbnail is not found. */
    fallbackToDefault?: boolean;
    /** The maximum width to scale the thumbnail to. */
    width?: number;
    /** The maximum height to scale the thumbnail to. */
    height?: number;
}

interface GetAuditRecords {
    /** The number of records to skip before returning the first result. */
    offset?: number;
    /** The maximum number of results to return. */
    limit?: number;
    /** The strings to match with audit field content, space separated. */
    filter?: string;
    /**
     * The date and time on or after which returned audit records must have been created. If `to` is provided `from` must
     * be before `to` or no audit records are returned.
     */
    from?: string;
    /**
     * The date and time on or before which returned audit results must have been created. If `from` is provided `to` must
     * be after `from` or no audit records are returned.
     */
    to?: string;
}

interface GetAutoCompletePost extends SearchAutoCompleteFilter {
}

interface GetAvailablePrioritiesByPriorityScheme {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The string to query priorities on by name. */
    query?: string;
    /** The priority scheme ID. */
    schemeId: string;
    /** A list of priority IDs to exclude from the results. */
    exclude?: string[];
}

interface GetAvailableScreenFields {
    /** The ID of the screen. */
    screenId: number;
}

interface GetAvailableTransitions {
    /** Ids or keys of the issues to get transitions available for them. */
    issueIdsOrKeys: string[];
    /** The end cursor for use in pagination. */
    endingBefore?: string;
    /** The start cursor for use in pagination. */
    startingAfter?: string;
}

interface GetAvatarImageByID {
    /** The icon type of the avatar. */
    type: 'issuetype' | 'project' | string;
    /** The ID of the avatar. */
    id: number | string;
    /** The size of the avatar image. If not provided the default size is returned. */
    size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | string;
    /** The format to return the avatar image in. If not provided the original content format is returned. */
    format?: 'png' | 'svg' | string;
}

interface GetAvatarImageByOwner {
    /** The icon type of the avatar. */
    type: 'issuetype' | 'project' | string;
    /** The ID of the project or issue type the avatar belongs to. */
    entityId: string;
    /** The size of the avatar image. If not provided the default size is returned. */
    size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | string;
    /** The format to return the avatar image in. If not provided the original content format is returned. */
    format?: 'png' | 'svg' | string;
}

interface GetAvatarImageByType {
    /** The icon type of the avatar. */
    type: 'issuetype' | 'project' | string;
    /** The size of the avatar image. If not provided the default size is returned. */
    size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | string;
    /** The format to return the avatar image in. If not provided the original content format is returned. */
    format?: 'png' | 'svg' | string;
}

interface GetAvatars {
    /** The avatar type. */
    type: 'project' | 'issuetype' | string;
    /** The ID of the item the avatar is associated with. */
    entityId: number | string;
}

interface GetBulkChangelogs extends BulkChangelogRequest {
}

interface GetBulkEditableFields {
    /** The IDs or keys of the issues to get editable fields from. */
    issueIdsOrKeys: string;
    /** (Optional)The text to search for in the editable fields. */
    searchText?: string;
    /** (Optional)The end cursor for use in pagination. */
    endingBefore?: string;
    /** (Optional)The start cursor for use in pagination. */
    startingAfter?: string;
}

interface GetBulkOperationProgress {
    /** The ID of the task. */
    taskId: string;
}

interface GetBulkPermissions extends BulkPermissionsRequest {
}

interface GetBulkScreenTabs {
    /**
     * The list of screen IDs. To include multiple screen IDs, provide an ampersand-separated list. For example,
     * `screenId=10000&screenId=10001`.
     */
    screenId?: number[];
    /**
     * The list of tab IDs. To include multiple tab IDs, provide an ampersand-separated list. For example,
     * `tabId=10000&tabId=10001`.
     */
    tabId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. The maximum number is 100, */
    maxResult?: number;
}

interface GetChangeLogs {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetChangeLogsByIds extends IssueChangelogIds {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface GetColumns {
    /** The ID of the filter. */
    id: number;
}

interface GetComment {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the comment. */
    id: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body
     * rendered in HTML.
     */
    expand?: string;
}

interface GetCommentProperty {
    /** The ID of the comment. */
    commentId: string;
    /** The key of the property. */
    propertyKey: string;
}

interface GetCommentPropertyKeys {
    /** The ID of the comment. */
    commentId: string;
}

interface GetComments {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field.
     * Accepts _created_ to sort comments by their created date.
     */
    orderBy?: 'created' | '-created' | '+created' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body
     * rendered in HTML.
     */
    expand?: string;
}

interface GetCommentsByIds extends IssueCommentListRequest {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `renderedBody` Returns the comment body rendered in HTML.
     * - `properties` Returns the comment's properties.
     */
    expand?: 'renderedBody' | 'properties' | string | string[];
}

interface GetComponent {
    /** The ID of the component. */
    id: string;
}

interface GetComponentRelatedIssues {
    /** The ID of the component. */
    id: string;
}

interface GetContextsForField {
    /** The ID of the custom field. */
    fieldId: string;
    /** Whether to return contexts that apply to all issue types. */
    isAnyIssueType?: boolean;
    /** Whether to return contexts that apply to all projects. */
    isGlobalContext?: boolean;
    /**
     * The list of context IDs. To include multiple contexts, separate IDs with ampersand:
     * `contextId=10000&contextId=10001`.
     */
    contextId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCreateIssueMeta {
    /**
     * List of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using
     * an ampersand-separated list. For example, `projectIds=10000,10001&projectIds=10020,10021`. This parameter may be
     * provided with `projectKeys`.
     */
    projectIds?: string[];
    /**
     * List of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided
     * using an ampersand-separated list. For example, `projectKeys=proj1,proj2&projectKeys=proj3`. This parameter may be
     * provided with `projectIds`.
     */
    projectKeys?: string[];
    /**
     * List of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided
     * using an ampersand-separated list. For example, `issuetypeIds=10000,10001&issuetypeIds=10020,10021`. This parameter
     * may be provided with `issuetypeNames`.
     */
    issuetypeIds?: string[];
    /**
     * List of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be
     * provided using an ampersand-separated list. For example, `issuetypeNames=name1,name2&issuetypeNames=name3`. This
     * parameter may be provided with `issuetypeIds`.
     */
    issuetypeNames?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about issue metadata in the response. This parameter accepts `projects.issuetypes.fields`, which
     * returns information about the fields in the issue creation screen for each issue type. Fields hidden from the
     * screen are not returned. Use the information to populate the `fields` and `update` fields in [Create
     * issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).
     */
    expand?: string;
}

interface GetCreateIssueMetaIssueTypeId {
    /** The ID or key of the project. */
    projectIdOrKey: string;
    /** The issuetype ID. */
    issueTypeId: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCreateIssueMetaIssueTypes {
    /** The ID or key of the project. */
    projectIdOrKey: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCurrentUser {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about user in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `groups` Returns all groups, including nested groups, the user belongs to.
     * - `applicationRoles` Returns the application roles the user is assigned to.
     */
    expand?: 'groups' | 'applicationRoles' | ('groups' | 'applicationRoles')[] | string | string[];
}

interface GetCustomFieldConfiguration {
    /** The ID or key of the custom field, for example `customfield_10000`. */
    fieldIdOrKey: string;
    /**
     * The list of configuration IDs. To include multiple configurations, separate IDs with an ampersand:
     * `id=10000&id=10001`. Can't be provided with `fieldContextId`, `issueId`, `projectKeyOrId`, or `issueTypeId`.
     */
    id?: number[];
    /**
     * The list of field context IDs. To include multiple field contexts, separate IDs with an ampersand:
     * `fieldContextId=10000&fieldContextId=10001`. Can't be provided with `id`, `issueId`, `projectKeyOrId`, or
     * `issueTypeId`.
     */
    fieldContextId?: number[];
    /**
     * The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided
     * with `projectKeyOrId`, or `issueTypeId`.
     */
    issueId?: number;
    /**
     * The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with
     * `issueId`.
     */
    projectKeyOrId?: string;
    /**
     * The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with
     * `issueId`.
     */
    issueTypeId?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCustomFieldContextsForProjectsAndIssueTypes extends ProjectIssueTypeMappings {
    /** The ID of the custom field. */
    fieldId: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetCustomFieldOption {
    /** The ID of the custom field option. */
    id: string;
}

interface GetCustomFieldsConfigurations extends ConfigurationsListParameters {
    /**
     * The list of configuration IDs. To include multiple configurations, separate IDs with an ampersand:
     * `id=10000&id=10001`. Can't be provided with `fieldContextId`, `issueId`, `projectKeyOrId`, or `issueTypeId`.
     */
    id?: number[];
    /**
     * The list of field context IDs. To include multiple field contexts, separate IDs with an ampersand:
     * `fieldContextId=10000&fieldContextId=10001`. Can't be provided with `id`, `issueId`, `projectKeyOrId`, or
     * `issueTypeId`.
     */
    fieldContextId?: number[];
    /**
     * The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided
     * with `projectKeyOrId`, or `issueTypeId`.
     */
    issueId?: number;
    /**
     * The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with
     * `issueId`.
     */
    projectKeyOrId?: string;
    /**
     * The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with
     * `issueId`.
     */
    issueTypeId?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetDashboard {
    /** The ID of the dashboard. */
    id: string;
}

interface GetDashboardItemProperty {
    /** The ID of the dashboard. */
    dashboardId: string;
    /** The ID of the dashboard item. */
    itemId: string;
    /** The key of the dashboard item property. */
    propertyKey: string;
}

interface GetDashboardItemPropertyKeys {
    /** The ID of the dashboard. */
    dashboardId: string;
    /** The ID of the dashboard item. */
    itemId: string;
}

interface GetDashboardsPaginated {
    /** String used to perform a case-insensitive partial match with `name`. */
    dashboardName?: string;
    /**
     * User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with
     * the `owner` parameter.
     */
    accountId?: string;
    /**
     * As a group's name can change, use of `groupId` is recommended. Group name used to return dashboards that are shared
     * with a group that matches `sharePermissions.group.name`. This parameter cannot be used with the `groupId`
     * parameter.
     */
    groupname?: string;
    /**
     * Group ID used to return dashboards that are shared with a group that matches `sharePermissions.group.groupId`. This
     * parameter cannot be used with the `groupname` parameter.
     */
    groupId?: string;
    /** Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`. */
    projectId?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to
     *   display the description field is in use.
     * - `favourite_count` Sorts by dashboard popularity.
     * - `id` Sorts by dashboard ID.
     * - `is_favourite` Sorts by whether the dashboard is marked as a favorite.
     * - `name` Sorts by dashboard name.
     * - `owner` Sorts by dashboard owner name.
     */
    orderBy?: 'description' | '-description' | '+description' | 'favorite_count' | '-favorite_count' | '+favorite_count' | 'id' | '-id' | '+id' | 'is_favorite' | '-is_favorite' | '+is_favorite' | 'name' | '-name' | '+name' | 'owner' | '-owner' | '+owner' | string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The status to filter by. It may be active, archived or deleted. */
    status?: 'active' | 'archived' | 'deleted' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about dashboard in the response. This parameter accepts a comma-separated list. Expand options
     * include:
     *
     * - `description` Returns the description of the dashboard.
     * - `owner` Returns the owner of the dashboard.
     * - `viewUrl` Returns the URL that is used to view the dashboard.
     * - `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.
     * - `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.
     * - `sharePermissions` Returns details of the share permissions defined for the dashboard.
     * - `editPermissions` Returns details of the edit permissions defined for the dashboard.
     * - `isWritable` Returns whether the current user has permission to edit the dashboard.
     */
    expand?: 'description' | 'owner' | 'viewUrl' | 'favourite' | 'favouritedCount' | 'sharePermissions' | 'editPermissions' | 'isWritable' | ('description' | 'owner' | 'viewUrl' | 'favourite' | 'favouritedCount' | 'sharePermissions' | 'editPermissions' | 'isWritable')[] | string | string[];
}

interface GetDefaultProjectClassification {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string;
}

interface GetDefaultValues {
    /** The ID of the custom field, for example `customfield\_10000`. */
    fieldId: string;
    /** The IDs of the contexts. */
    contextId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetDefaultWorkflow {
    /** The ID of the workflow scheme. */
    id: number;
    /**
     * Set to `true` to return the default workflow for the workflow scheme's draft rather than scheme itself. If the
     * workflow scheme does not have a draft, then the default workflow for the workflow scheme is returned.
     */
    returnDraftIfExists?: boolean;
}

interface GetDraftDefaultWorkflow {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
}

interface GetDraftWorkflow {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /**
     * The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified
     * workflow.
     */
    workflowName?: string;
}

interface GetDynamicWebhooksForApp {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetEditIssueMeta {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Whether hidden fields are returned. Available to Connect app users with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideScreenSecurity?: boolean;
    /**
     * Whether non-editable fields are returned. Available to Connect app users with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideEditableFlag?: boolean;
}

interface GetFailedWebhooks {
    /**
     * The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with
     * the same failure time being split across pages, the directive is ignored and all records with the same failure time
     * included on the page.
     */
    maxResults?: number;
    /**
     * The time after which any webhook failure must have occurred for the record to be returned, expressed as
     * milliseconds since the UNIX epoch.
     */
    after?: number;
}

interface GetFavouriteFilters {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
}

interface GetFeaturesForProject {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
}

interface GetFieldAutoCompleteForQueryString {
    /** The name of the field. */
    fieldName?: string;
    /** The partial field item name entered by the user. */
    fieldValue?: string;
    /**
     * The name of the [ CHANGED operator
     * predicate](https://confluence.atlassian.com/x/hQORLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for which
     * the suggestions are generated. The valid predicate operators are _by_, _from_, and _to_.
     */
    predicateName?: string;
    /** The partial predicate item name entered by the user. */
    predicateValue?: string;
}

interface GetFieldConfigurationItems {
    /** The ID of the field configuration. */
    id: number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetFieldConfigurationSchemeMappings {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of field configuration scheme IDs. To include multiple field configuration schemes separate IDs with
     * ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`.
     */
    fieldConfigurationSchemeId?: number[];
}

interface GetFieldConfigurationSchemeProjectMapping {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of project IDs. To include multiple projects, separate IDs with ampersand:
     * `projectId=10000&projectId=10001`.
     */
    projectId: (string | number)[];
}

interface GetFieldsPaginated {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The type of fields to search. */
    type?: ('custom' | 'system' | string)[];
    /** The IDs of the custom fields to return or, where `query` is specified, filter. */
    id?: string[];
    /** String used to perform a case-insensitive partial match with field names or descriptions. */
    query?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `contextsCount` sorts by the number of contexts related to a field
     * - `lastUsed` sorts by the date when the value of the field last changed
     * - `name` sorts by the field name
     * - `screensCount` sorts by the number of screens related to a field
     */
    orderBy?: 'contextsCount' | '-contextsCount' | '+contextsCount' | 'lastUsed' | '-lastUsed' | '+lastUsed' | 'name' | '-name' | '+name' | 'screensCount' | '-screensCount' | '+screensCount' | 'projectsCount' | '-projectsCount' | '+projectsCount' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `key` returns the key for each field
     * - `lastUsed` returns the date when the value of the field last changed
     * - `screensCount` returns the number of screens related to a field `contextsCount` returns the number of contexts
     *   related to a field
     * - `isLocked` returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og)
     * - `searcherKey` returns the searcher key for each custom field
     */
    expand?: OneOrMany<'key' | 'lastUsed' | 'screensCount' | 'isLocked' | 'searcherKey' | string>;
    projectIds?: number[];
}

interface GetFilter {
    /** The ID of the filter to return. */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
    /**
     * EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be returned.
     * Available to users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideSharePermissions?: boolean;
}

interface GetFiltersPaginated {
    /** String used to perform a case-insensitive partial match with `name`. */
    filterName?: string;
    /**
     * User account ID used to return filters with the matching `owner.accountId`. This parameter cannot be used with
     * `owner`.
     */
    accountId?: string;
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. Group name used to returns
     * filters that are shared with a group that matches `sharePermissions.group.groupname`. This parameter cannot be used
     * with the `groupId` parameter.
     */
    groupname?: string;
    /**
     * Group ID used to returns filters that are shared with a group that matches `sharePermissions.group.groupId`. This
     * parameter cannot be used with the `groupname` parameter.
     */
    groupId?: string;
    /** Project ID used to returns filters that are shared with a project that matches `sharePermissions.project.id`. */
    projectId?: number;
    /**
     * The list of filter IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`. Do not exceed 200 filter IDs.
     */
    id?: number[];
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by filter description. Note that this sorting works independently of whether the expand to
     *   display the description field is in use.
     * - `favourite_count` Sorts by the count of how many users have this filter as a favorite.
     * - `is_favourite` Sorts by whether the filter is marked as a favorite.
     * - `id` Sorts by filter ID.
     * - `name` Sorts by filter name.
     * - `owner` Sorts by the ID of the filter owner.
     * - `is_shared` Sorts by whether the filter is shared.
     */
    orderBy?: 'description' | '-description' | '+description' | 'favourite_count' | '-favourite_count' | '+favourite_count' | 'id' | '-id' | '+id' | 'is_favourite' | '-is_favourite' | '+is_favourite' | 'name' | '-name' | '+name' | 'owner' | '-owner' | '+owner' | 'is_shared' | '-is_shared' | '+is_shared' | string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `description` Returns the description of the filter.
     * - `favourite` Returns an indicator of whether the user has set the filter as a favorite.
     * - `favouritedCount` Returns a count of how many users have set this filter as a favorite.
     * - `jql` Returns the JQL query that the filter uses.
     * - `owner` Returns the owner of the filter.
     * - `searchUrl` Returns a URL to perform the filter's JQL query.
     * - `sharePermissions` Returns the share permissions defined for the filter.
     * - `editPermissions` Returns the edit permissions defined for the filter.
     * - `isWritable` Returns whether the current user has permission to edit the filter.
     * - `approximateLastUsed` [Experimental] Returns the approximate date and time when the filter was last evaluated.
     * - `subscriptions` Returns the users that are subscribed to the filter.
     * - `viewUrl` Returns a URL to view the filter.
     */
    expand?: 'description' | 'favourite' | 'favouritedCount' | 'jql' | 'owner' | 'searchUrl' | 'sharePermissions' | 'editPermissions' | 'isWritable' | 'approximateLastUsed' | 'subscriptions' | 'viewUrl' | ('description' | 'favourite' | 'favouritedCount' | 'jql' | 'owner' | 'searchUrl' | 'sharePermissions' | 'editPermissions' | 'isWritable' | 'approximateLastUsed' | 'subscriptions' | 'viewUrl')[] | string | string[];
    /**
     * @experimental EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be returned.
     * Available to users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideSharePermissions?: boolean;
    /**
     * When `true` this will perform a case-insensitive substring match for the provided `filterName`. When `false` the
     * filter name will be searched using [full text search
     * syntax](https://support.atlassian.com/jira-software-cloud/docs/search-for-issues-using-the-text-field/).
     */
    isSubstringMatch?: boolean;
}

interface GetHierarchy {
    /** The ID of the project. */
    projectId: string | number;
}

interface GetIdsOfWorklogsDeletedSince {
    /** The date and time, as a UNIX timestamp in milliseconds, after which deleted worklogs are returned. */
    since?: number;
}

interface GetIdsOfWorklogsModifiedSince {
    /** The date and time, as a UNIX timestamp in milliseconds, after which updated worklogs are returned. */
    since?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about worklogs in the response. This parameter accepts `properties` that returns the properties of each
     * worklog.
     */
    expand?: string;
}

interface GetIssue {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a
     * subset of fields. Allowed values:
     *
     * - `*all` Returns all fields.
     * - `*navigable` Returns navigable fields. Any issue field, prefixed with a minus to exclude.
     *
     * Examples:
     *
     * `summary,comment` Returns only the summary and comments fields. `-description` Returns all (default) fields except
     * description. `*navigable,-comment` Returns all navigable fields except comment.
     *
     * This parameter may be specified multiple times. For example, `fields=field1,field2& fields=field3`.
     *
     * Note: All fields are returned by default. This differs from [Search for issues using JQL
     * (GET)](#api-rest-api-3-search-get) and [Search for issues using JQL (POST)](#api-rest-api-3-search-post) where the
     * default is all navigable fields.
     */
    fields?: string[];
    /**
     * Whether fields in `fields` are referenced by keys rather than IDs. This parameter is useful where fields have been
     * added by a connect app and a field's key may differ from its ID.
     */
    fieldsByKeys?: boolean;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about the issues in the response. This parameter accepts a comma-separated list. Expand options
     * include:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Returns a JSON array for each version of a field's value, with the highest number
     *   representing the most recent version. Note: When included in the request, the `fields` parameter is ignored.
     */
    expand?: 'renderedFields' | 'name' | 'schema' | 'transitions' | 'editmeta' | 'changelog' | 'versionedRepresentations' | ('renderedFields' | 'name' | 'schema' | 'transitions' | 'editmeta' | 'changelog' | 'versionedRepresentations')[] | string | string[];
    /**
     * A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:
     *
     * `*all` Returns all issue properties. Any issue property key, prefixed with a minus to exclude.
     *
     * Examples:
     *
     * `*all` Returns all properties. `*all,-prop1` Returns all properties except `prop1`. `prop1,prop2` Returns `prop1`
     * and `prop2` properties.
     *
     * This parameter may be specified multiple times. For example, `properties=prop1,prop2& properties=prop3`.
     */
    properties?: string[];
    /**
     * Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown
     * under **Projects** in Jira. This also populates the [JQL issues search](#api-rest-api-3-search-get) `lastViewed`
     * field.
     */
    updateHistory?: boolean;
    /**
     * Whether to fail the request quickly in case of an error while loading fields for an issue. For `failFast=true`, if
     * one field fails, the entire operation fails. For `failFast=false`, the operation will continue even if a field
     * fails. It will return a valid response, but without values for the failed field(s).
     */
    failFast?: boolean;
}

interface GetIssueFieldOption {
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
    /** The ID of the option to be returned. */
    optionId: number;
}

interface GetIssueLimitReport {
    /** Return issue keys instead of issue ids in the response. */
    isReturningKeys?: boolean;
    /**
     * A list of fields and their respective approaching limit threshold. Required for querying issues approaching limits.
     * Optional for querying issues breaching limits. Accepted fields are:
     *
     * - `comment`
     * - `worklog`
     * - `attachment`
     * - `remoteIssueLinks`,
     * - `issuelinks`.
     *
     * @example
     *   {
     *     "issuesApproachingLimitParams": {
     *       "comment": 4500,
     *       "attachment": 1800
     *     }
     *   }
     */
    issuesApproachingLimitParams?: {
        /** The limit for the number of comments. */
        comment?: number;
        /** The limit for the number of worklogs. */
        worklog?: number;
        /** The limit for the number of attachments. */
        attachment?: number;
        /** The limit for the number of remote issue links. */
        remoteIssueLinks?: number;
        /** The limit for the number of issue links. */
        issuelinks?: number;
    };
}

interface GetIssueLink {
    /** The ID of the issue link. */
    linkId: string;
}

interface GetIssueLinkType {
    /** The ID of the issue link type. */
    issueLinkTypeId: string;
}

interface GetIssuePickerResource {
    /** A string to match against text fields in the issue such as title, description, or comments. */
    query?: string;
    /**
     * A JQL query defining a list of issues to search for the query term. Note that `username` and `userkey` cannot be
     * used as search terms for this parameter, due to privacy reasons. Use `accountId` instead.
     */
    currentJQL?: string;
    /**
     * The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform
     * this query.
     */
    currentIssueKey?: string;
    /** The ID of a project that suggested issues must belong to. */
    currentProjectId?: string;
    /** Indicate whether to include subtasks in the suggestions list. */
    showSubTasks?: boolean;
    /**
     * When `currentIssueKey` is a subtask, whether to include the parent issue in the suggestions if it matches the
     * query.
     */
    showSubTaskParent?: boolean;
}

interface GetIssueProperty {
    /** The key or ID of the issue. */
    issueIdOrKey: string;
    /** The key of the property. */
    propertyKey: string;
}

interface GetIssuePropertyKeys {
    /** The key or ID of the issue. */
    issueIdOrKey: string;
}

interface GetIssueSecurityLevel {
    /** The ID of the issue security level. */
    id: string;
}

interface GetIssueSecurityLevelMembers {
    /**
     * The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get)
     * operation to get a list of issue security scheme IDs.
     */
    issueSecuritySchemeId: number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue security level IDs. To include multiple issue security levels separate IDs with ampersand:
     * `issueSecurityLevelId=10000&issueSecurityLevelId=10001`.
     */
    issueSecurityLevelId?: number[];
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand
     * options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `projectRole` Returns
     * information about the project role granted the permission. `user` Returns information about the user who is granted
     * the permission.
     */
    expand?: string;
}

interface GetIssueSecurityScheme {
    /**
     * The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get)
     * operation to get a list of issue security scheme IDs.
     */
    id: number;
}

interface GetIssueType {
    /** The ID of the issue type. */
    id: string;
}

interface GetIssueTypeMappingsForContexts {
    /** The ID of the custom field. */
    fieldId: string;
    /**
     * The ID of the context. To include multiple contexts, provide an ampersand-separated list. For example,
     * `contextId=10001&contextId=10002`.
     */
    contextId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetIssueTypeProperty {
    /** The ID of the issue type. */
    issueTypeId: string;
    /**
     * The key of the property. Use [Get issue type property keys](#api-rest-api-3-issuetype-issueTypeId-properties-get)
     * to get a list of all issue type property keys.
     */
    propertyKey: string;
}

interface GetIssueTypePropertyKeys {
    /** The ID of the issue type. */
    issueTypeId: string;
}

interface GetIssueTypeSchemeForProjects {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of project IDs. To include multiple project IDs, provide an ampersand-separated list. For example,
     * `projectId=10000&projectId=10001`.
     */
    projectId: (string | number)[];
}

interface GetIssueTypeSchemesMapping {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue type scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `issueTypeSchemeId=10000&issueTypeSchemeId=10001`.
     */
    issueTypeSchemeId?: number[];
}

interface GetIssueTypeScreenSchemeMappings {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue type screen scheme IDs. To include multiple issue type screen schemes, separate IDs with
     * ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`.
     */
    issueTypeScreenSchemeId?: number[];
}

interface GetIssueTypeScreenSchemeProjectAssociations {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of project IDs. To include multiple projects, separate IDs with ampersand:
     * `projectId=10000&projectId=10001`.
     */
    projectId: (string | number)[];
}

interface GetIssueTypeScreenSchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue type screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For
     * example, `id=10000&id=10001`.
     */
    id?: number[];
    /** String used to perform a case-insensitive partial match with issue type screen scheme name. */
    queryString?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `name` Sorts by issue type screen scheme name.
     * - `id` Sorts by issue type screen scheme ID.
     */
    orderBy?: 'name' | '-name' | '+name' | 'id' | '-id' | '+id' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts `projects` that, for each issue type screen schemes, returns
     * information about the projects the issue type screen scheme is assigned to.
     */
    expand?: string;
}

interface GetIssueTypesForProject {
    /** The ID of the project. */
    projectId: string | number;
    /**
     * The level of the issue type to filter by. Use:
     *
     * `-1` for Subtask. `0` for Base. `1` for Epic.
     */
    level?: number;
}

interface GetIssueWatchers {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface GetIssueWorklog {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned. */
    startedAfter?: number;
    /** The worklog start date and time, as a UNIX timestamp in milliseconds, before which worklogs are returned. */
    startedBefore?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about worklogs in the response. This parameter accepts`properties`, which returns worklog properties.
     */
    expand?: string;
}

interface GetIsWatchingIssueBulk extends IssueList {
}

interface GetMyFilters {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
    /** Include the user's favorite filters in the response. */
    includeFavourites?: boolean;
}

interface GetMyPermissions {
    /** The key of project. Ignored if `projectId` is provided. */
    projectKey?: string;
    /** The ID of project. */
    projectId?: string;
    /** The key of the issue. Ignored if `issueId` is provided. */
    issueKey?: string;
    /** The ID of the issue. */
    issueId?: string;
    /**
     * A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available
     * permissions, use [Get all permissions](#api-rest-api-3-permissions-get).
     */
    permissions?: string;
    projectUuid?: string;
    projectConfigurationUuid?: string;
    /** The ID of the comment. */
    commentId?: string;
}

interface GetNotificationScheme {
    /**
     * The ID of the notification scheme. Use [Get notification schemes paginated](#api-rest-api-3-notificationscheme-get)
     * to get a list of notification scheme IDs.
     */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `all` Returns all expandable information
     * - `field` Returns information about any custom fields assigned to receive an event
     * - `group` Returns information about any groups assigned to receive an event
     * - `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable
     *   information
     * - `projectRole` Returns information about any project roles assigned to receive an event
     * - `user` Returns information about any users assigned to receive an event
     */
    expand?: 'all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user')[] | string | string[];
}

interface GetNotificationSchemeForProject {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `all` Returns all expandable information
     * - `field` Returns information about any custom fields assigned to receive an event
     * - `group` Returns information about any groups assigned to receive an event
     * - `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable
     *   information
     * - `projectRole` Returns information about any project roles assigned to receive an event
     * - `user` Returns information about any users assigned to receive an event
     */
    expand?: 'all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user')[] | string | string[];
}

interface GetNotificationSchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of notification schemes IDs to be filtered by */
    id?: string[];
    /** The list of projects IDs to be filtered by */
    projectId?: string[];
    /**
     * When set to true, returns only the default notification scheme. If you provide project IDs not associated with the
     * default, returns an empty page. The default value is false.
     */
    onlyDefault?: boolean;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `all` Returns all expandable information
     * - `field` Returns information about any custom fields assigned to receive an event
     * - `group` Returns information about any groups assigned to receive an event
     * - `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable
     *   information
     * - `projectRole` Returns information about any project roles assigned to receive an event
     * - `user` Returns information about any users assigned to receive an event
     */
    expand?: 'all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'notificationSchemeEvents' | 'projectRole' | 'user')[] | string | string[];
}

interface GetNotificationSchemeToProjectMappings {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of notifications scheme IDs to be filtered out */
    notificationSchemeId?: string[];
    /** The list of project IDs to be filtered out */
    projectId?: string[];
}

interface GetOptionsForContext {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
    /** The ID of the option. */
    optionId?: number;
    /** Whether only options are returned. */
    onlyOptions?: boolean;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetPermissionScheme {
    /** The ID of the permission scheme to return. */
    schemeId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are included when you specify any value. Expand options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `permissions` Returns all
     * permission grants for each permission scheme. `projectRole` Returns information about the project role granted the
     * permission. `user` Returns information about the user who is granted the permission.
     */
    expand?: string;
}

interface GetPermissionSchemeGrant {
    /** The ID of the permission scheme. */
    schemeId: number;
    /** The ID of the permission grant. */
    permissionId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `permissions` Returns all
     * permission grants for each permission scheme. `projectRole` Returns information about the project role granted the
     * permission. `user` Returns information about the user who is granted the permission.
     */
    expand?: string;
}

interface GetPermissionSchemeGrants {
    /** The ID of the permission scheme. */
    schemeId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `permissions` Returns all permission grants for each permission scheme. `user` Returns information about the user
     * who is granted the permission. `group` Returns information about the group that is granted the permission.
     * `projectRole` Returns information about the project role granted the permission. `field` Returns information about
     * the custom field granted the permission. `all` Returns all expandable information.
     */
    expand?: string;
}

interface GetPermittedProjects extends PermissionsKeys {
}

interface GetPlan {
    /** The ID of the plan. */
    planId: number;
    /** Whether to return group IDs instead of group names. Group names are deprecated. */
    useGroupId?: boolean;
}

interface GetPlanOnlyTeam {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the plan-only team. */
    planOnlyTeamId: number;
}

interface GetPlans {
    /** Whether to include trashed plans in the results. */
    includeTrashed?: boolean;
    /** Whether to include archived plans in the results. */
    includeArchived?: boolean;
    /** The cursor to start from. If not provided, the first page will be returned. */
    cursor?: string;
    /** The maximum number of plans to return per page. The maximum value is 50. The default value is 50. */
    maxResults?: number;
}

interface GetPolicies {
    /** A list of project identifiers. This parameter accepts a comma-separated list. */
    ids: string | string[];
}

interface GetPrecomputations {
    /**
     * The function key in format:
     *
     * Forge: `ari:cloud:ecosystem::extension/[App ID]/[Environment ID]/static/[Function key from manifest]` Connect:
     * `[App key]__[Module key]`
     */
    functionKey?: string[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `functionKey` Sorts by the functionKey.
     * - `used` Sorts by the used timestamp.
     * - `created` Sorts by the created timestamp.
     * - `updated` Sorts by the updated timestamp.
     */
    orderBy?: 'functionKey' | 'used' | 'created' | 'updated' | '+functionKey' | '+used' | '+created' | '+updated' | '-functionKey' | '-used' | '-created' | '-updated' | string;
    /** @deprecated This property is no longer used. */
    filter?: string;
}

interface GetPrecomputationsByID extends JqlFunctionPrecomputationGetByIdRequest {
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `functionKey` Sorts by the functionKey.
     * - `used` Sorts by the used timestamp.
     * - `created` Sorts by the created timestamp.
     * - `updated` Sorts by the updated timestamp.
     *
     * You can also use `+` or `-` prefixes to specify ascending or descending order (e.g., `+functionKey`, `-used`).
     */
    orderBy?: 'functionKey' | 'used' | 'created' | 'updated' | '+functionKey' | '+used' | '+created' | '+updated' | '-functionKey' | '-used' | '-created' | '-updated' | string;
}

interface GetPreference {
    /** The key of the preference. */
    key: string;
}

interface GetPrioritiesByPriorityScheme {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The priority scheme ID. */
    schemeId: string;
}

interface GetPriority {
    /** The ID of the issue priority. */
    id: string;
}

interface GetPrioritySchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * A set of priority IDs to filter by. To include multiple IDs, provide an ampersand-separated list. For example,
     * `priorityId=10000&priorityId=10001`.
     */
    priorityId?: number[];
    /**
     * A set of priority scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `schemeId=10000&schemeId=10001`.
     */
    schemeId?: number[];
    /** The name of scheme to search for. */
    schemeName?: string;
    /** Whether only the default priority is returned. */
    onlyDefault?: boolean;
    /** The ordering to return the priority schemes by. */
    orderBy?: 'name' | '+name' | '-name' | string;
    /**
     * A comma separated list of additional information to return.
     *
     * - `priorities` will return priorities associated with the priority scheme.
     * - `projects` will return projects associated with the priority scheme.
     *
     * @example
     *   expand: ['priorities', 'projects'].
     */
    expand?: 'priorities' | 'projects' | ('priorities' | 'projects')[] | string | string[];
}

interface GetProject {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string | number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Note that the project description,
     * issue types, and project lead are included in all responses by default. Expand options include:
     *
     * - `description` The project description.
     * - `issueTypes` The issue types associated with the project.
     * - `lead` The project lead.
     * - `projectKeys` All project keys associated with the project.
     * - `issueTypeHierarchy` The project issue type hierarchy.
     */
    expand?: 'description' | 'issueTypes' | 'lead' | 'projectKeys' | 'issueTypeHierarchy' | ('description' | 'issueTypes' | 'lead' | 'projectKeys' | 'issueTypeHierarchy')[] | string | string[];
    /** A list of project properties to return for the project. This parameter accepts a comma-separated list. */
    properties?: string[];
}

interface GetProjectCategoryById {
    /** The ID of the project category. */
    id: number;
}

interface GetProjectComponents {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the
     * API will return connected Compass components if the project is opted into Compass, otherwise it will return Jira
     * components. Defaults to `jira`.
     *
     * @default jira
     */
    componentSource?: 'jira' | 'compass' | 'auto' | string;
}

interface GetProjectComponentsPaginated {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by the component description.
     * - `issueCount` Sorts by the count of issues associated with the component.
     * - `lead` Sorts by the user key of the component's project lead.
     * - `name` Sorts by component name.
     */
    orderBy?: 'description' | '-description' | '+description' | 'issueCount' | '-issueCount' | '+issueCount' | 'lead' | '-lead' | '+lead' | 'name' | '-name' | '+name' | string;
    /**
     * Filter the results using a literal string. Components with a matching `name` or `description` are returned (case
     * insensitive).
     */
    query?: string;
    /**
     * The source of the components to return. Can be `jira` (default), `compass` or `auto`. When `auto` is specified, the
     * API will return connected Compass components if the project is opted into Compass, otherwise it will return Jira
     * components. Defaults to `jira`.
     *
     * @default jira
     */
    componentSource?: 'jira' | 'compass' | 'auto' | string;
}

interface GetProjectContextMapping {
    /** The ID of the custom field, for example `customfield\_10000`. */
    fieldId: string;
    /**
     * The list of context IDs. To include multiple context, separate IDs with ampersand:
     * `contextId=10000&contextId=10001`.
     */
    contextId?: number[];
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetProjectEmail {
    /** The project ID. */
    projectId: string | number;
}

interface GetProjectIssueSecurityScheme {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
}

interface GetProjectIssueTypeUsagesForStatus {
    /** The statusId to fetch issue type usages for */
    statusId: string;
    /** The projectId to fetch issue type usages for */
    projectId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetProjectProperty {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to
     * get a list of all project property keys.
     */
    propertyKey: string;
}

interface GetProjectPropertyKeys {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface GetProjectRole {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
    /** Exclude inactive users. */
    excludeInactiveUsers?: boolean;
}

interface GetProjectRoleActorsForRole {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface GetProjectRoleById {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface GetProjectRoleDetails {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** Whether the roles should be filtered to include only those the user is assigned to. */
    currentMember?: boolean;
    excludeConnectAddons?: boolean;
}

interface GetProjectRoles {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface GetProjectsByPriorityScheme {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The project IDs to filter by. For example, `projectId=10000&projectId=10001`. */
    projectId?: number[];
    /** The priority scheme ID. */
    schemeId: string;
    /** The string to query projects on by name. */
    query?: string;
}

interface GetProjectsForIssueTypeScreenScheme {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    query?: string;
}

interface GetProjectTypeByKey {
    /** The key of the project type. */
    projectTypeKey: 'software' | 'service_desk' | 'business' | 'product_discovery' | string;
}

interface GetProjectUsagesForStatus {
    /** The statusId to fetch project usages for */
    statusId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetProjectUsagesForWorkflow {
    /** The workflow ID */
    workflowId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetProjectUsagesForWorkflowScheme {
    /** The workflow scheme ID */
    workflowSchemeId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetProjectVersions {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts `operations`, which returns actions that can be performed on
     * the version.
     */
    expand?: string;
}

interface GetProjectVersionsPaginated {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `description` Sorts by version description.
     * - `name` Sorts by version name.
     * - `releaseDate` Sorts by release date, starting with the oldest date. Versions with no release date are listed last.
     * - `sequence` Sorts by the order of appearance in the user interface.
     * - `startDate` Sorts by start date, starting with the oldest date. Versions with no start date are listed last.
     */
    orderBy?: 'description' | '-description' | '+description' | 'name' | '-name' | '+name' | 'releaseDate' | '-releaseDate' | '+releaseDate' | 'sequence' | '-sequence' | '+sequence' | 'startDate' | '-startDate' | '+startDate' | string;
    /**
     * Filter the results using a literal string. Versions with matching `name` or `description` are returned (case
     * insensitive).
     */
    query?: string;
    /**
     * A list of status values used to filter the results by version status. This parameter accepts a comma-separated
     * list. The status values are `released`, `unreleased`, and `archived`.
     */
    status?: 'released' | 'unreleased' | 'archived' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `issuesstatus` Returns the number of issues in each status category for each version.
     * - `operations` Returns actions that can be performed on the specified version.
     * - `driver` Returns the Atlassian account ID of the version driver.
     * - `approvers` Returns a list containing the approvers for this version.
     */
    expand?: 'issuesstatus' | 'operations' | 'driver' | 'approvers' | string | string[];
}

interface GetRecent {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expanded options include:
     *
     * - `description` Returns the project description.
     * - `projectKeys` Returns all project keys associated with a project.
     * - `lead` Returns information about the project lead.
     * - `issueTypes` Returns all issue types associated with the project.
     * - `url` Returns the URL associated with the project.
     * - `permissions` Returns the permissions associated with the project.
     * - `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the
     *   project.
     * - `*` Returns the project with all available expand options.
     */
    expand?: 'description' | 'projectKeys' | 'lead' | 'issueTypes' | 'url' | 'permissions' | 'insight' | '*' | ('description' | 'projectKeys' | 'lead' | 'issueTypes' | 'url' | 'permissions' | 'insight' | '*')[] | string | string[];
    /**
     * EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated
     * list. Invalid property names are ignored.
     */
    properties?: string[];
}

interface GetRelatedWork {
    /** The ID of the version. */
    id: string;
}

interface GetRemoteIssueLinkById {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the remote issue link. */
    linkId: string;
}

interface GetRemoteIssueLinks {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The global ID of the remote issue link. */
    globalId?: string;
}

interface GetResolution {
    /** The ID of the issue resolution value. */
    id: string;
}

interface GetScreens {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of screen IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`.
     */
    id?: number[];
    /** String used to perform a case-insensitive partial match with screen name. */
    queryString?: string;
    /**
     * The scope filter string. To filter by multiple scope, provide an ampersand-separated list. For example,
     * `scope=GLOBAL&scope=PROJECT`.
     */
    scope?: ('GLOBAL' | 'TEMPLATE' | 'PROJECT' | string)[];
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `id` Sorts by screen ID.
     * - `name` Sorts by screen name.
     */
    orderBy?: 'name' | '-name' | '+name' | 'id' | '-id' | '+id' | string;
}

interface GetScreenSchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `id=10000&id=10001`.
     */
    id?: number[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) include additional
     * information in the response. This parameter accepts `issueTypeScreenSchemes` that, for each screen schemes, returns
     * information about the issue type screen scheme the screen scheme is assigned to.
     */
    expand?: string;
    /** String used to perform a case-insensitive partial match with screen scheme name. */
    queryString?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `id` Sorts by screen scheme ID.
     * - `name` Sorts by screen scheme name.
     */
    orderBy?: 'name' | '-name' | '+name' | 'id' | '-id' | '+id' | string;
}

interface GetScreensForField {
    /** The ID of the field to return screens for. */
    fieldId: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about screens in the response. This parameter accepts `tab` which returns details about the screen tabs
     * the field is used in.
     */
    expand?: string;
}

interface GetSecurityLevelMembers {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue security level member IDs. To include multiple issue security level members separate IDs with an
     * ampersand: `id=10000&id=10001`.
     */
    id?: string[];
    /**
     * The list of issue security scheme IDs. To include multiple issue security schemes separate IDs with an ampersand:
     * `schemeId=10000&schemeId=10001`.
     */
    schemeId?: string[];
    /**
     * The list of issue security level IDs. To include multiple issue security levels separate IDs with an ampersand:
     * `levelId=10000&levelId=10001`.
     */
    levelId?: string[];
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand
     * options include:
     *
     * - `all` Returns all expandable information
     * - `field` Returns information about the custom field granted the permission
     * - `group` Returns information about the group that is granted the permission
     * - `projectRole` Returns information about the project role granted the permission
     * - `user` Returns information about the user who is granted the permission
     */
    expand?: 'all' | 'field' | 'group' | 'projectRole' | 'user' | ('all' | 'field' | 'group' | 'projectRole' | 'user')[] | string | string[];
}

interface GetSecurityLevels {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue security scheme level IDs. To include multiple issue security levels, separate IDs with an
     * ampersand: `id=10000&id=10001`.
     */
    id?: string[];
    /**
     * The list of issue security scheme IDs. To include multiple issue security schemes, separate IDs with an ampersand:
     * `schemeId=10000&schemeId=10001`.
     */
    schemeId?: string[];
    /**
     * When set to true, returns multiple default levels for each security scheme containing a default. If you provide
     * scheme and level IDs not associated with the default, returns an empty page. The default value is false.
     */
    onlyDefault?: boolean;
}

interface GetSecurityLevelsForProject {
    /** The project ID or project key (case sensitive). */
    projectKeyOrId: string;
}

interface GetSelectableIssueFieldOptions {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** Filters the results to options that are only available in the specified project. */
    projectId?: number;
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
}

interface GetSharePermission {
    /** The ID of the filter. */
    id: number;
    /** The ID of the share permission. */
    permissionId: number;
}

interface GetSharePermissions {
    /** The ID of the filter. */
    id: number;
}

interface GetStatus {
    /** The ID or name of the status. */
    idOrName: string;
}

interface GetStatusCategory {
    /** The ID or key of the status category. */
    idOrKey: string;
}

interface GetStatusesById {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `usages` Returns the project and issue types that use the status in their workflow.
     * - `workflowUsages` Returns the workflows that use the status.
     */
    expand?: 'usages' | 'workflowUsages' | ('usages' | 'workflowUsages')[] | string | string[];
    /**
     * The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * id=10000&id=10001.
     *
     * Min items `1`, Max items `50`
     */
    id: string[];
}

interface GetTask {
    /** The ID of the task. */
    taskId: string;
}

interface GetTeams {
    /** The ID of the plan. */
    planId: number;
    /** The cursor to start from. If not provided, the first page will be returned. */
    cursor?: string;
    /** The maximum number of plan teams to return per page. The maximum value is 50. The default value is 50. */
    maxResults?: number;
}

interface GetTransitions {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about transitions in the response. This parameter accepts `transitions.fields`, which returns
     * information about the fields in the transition screen for each transition. Fields hidden from the screen are not
     * returned. Use this information to populate the `fields` and `update` fields in [Transition
     * issue](#api-rest-api-3-issue-issueIdOrKey-transitions-post).
     */
    expand?: string;
    /** The ID of the transition. */
    transitionId?: string;
    /** Whether transitions with the condition _Hide From User Condition_ are included in the response. */
    skipRemoteOnlyCondition?: boolean;
    /** Whether details of transitions that fail a condition are included in the response */
    includeUnavailableTransitions?: boolean;
    /**
     * Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or
     * only by ops-bar sequence value.
     */
    sortByOpsBarAndStatus?: boolean;
}

interface GetTrashedFieldsPaginated {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    id?: string[];
    /** String used to perform a case-insensitive partial match with field names or descriptions. */
    query?: string;
    expand?: string | string[];
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `name` sorts by the field name
     * - `trashDate` sorts by the date the field was moved to the trash
     * - `plannedDeletionDate` sorts by the planned deletion date
     */
    orderBy?: 'name' | '-name' | '+name' | 'trashDate' | '-trashDate' | '+trashDate' | 'plannedDeletionDate' | '-plannedDeletionDate' | '+plannedDeletionDate' | 'projectsCount' | '-projectsCount' | '+projectsCount' | string;
}

interface GetUiModifications {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand
     * options include:
     *
     * - `data` Returns UI modification data.
     * - `contexts` Returns UI modification contexts.
     */
    expand?: 'data' | 'contexts' | ('data' | 'contexts')[] | string | string[];
}

interface GetUser {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Required.
     */
    accountId?: string;
    /**
     * @deprecated This parameter is no longer available. See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide)
     *   for details.
     */
    username?: string;
    /**
     * @deprecated This parameter is no longer available. See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide)
     *   for details.
     */
    key?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about users in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `groups` includes all groups and nested groups to which the user belongs.
     * - `applicationRoles` includes details of all the applications to which the user has access.
     */
    expand?: 'groups' | 'applicationRoles' | ('groups' | 'applicationRoles')[] | string | string[];
}

interface GetUserDefaultColumns {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
}

interface GetUserEmail {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * `5b10ac8d82e05b22cc7d4ef5`.
     */
    accountId: string;
}

interface GetUserEmailBulk {
    /**
     * The account IDs of the users for which emails are required. An `accountId` is an identifier that uniquely
     * identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`. Note, this should be
     * treated as an opaque identifier (that is, do not assume any structure in the value).
     */
    accountId: string[];
}

interface GetUserGroups {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId: string;
}

interface GetUserNavProperty {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The key of the user's property. */
    propertyKey: string;
}

interface GetUserProperty {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    userKey?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /** The key of the user's property. */
    propertyKey: string;
}

interface GetUserPropertyKeys {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    userKey?: string;
    /**
     * This parameter is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
}

interface GetUsersFromGroup {
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. The name of the group. This
     * parameter cannot be used with the `groupId` parameter.
     */
    groupname?: string;
    /** The ID of the group. This parameter cannot be used with the `groupName` parameter. */
    groupId?: string;
    /** Include inactive users. */
    includeInactiveUsers?: boolean;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
}

interface GetValidProjectKey {
    /** The project key. */
    key?: string;
}

interface GetValidProjectName {
    /** The project name. */
    name: string;
}

interface GetVersion {
    /** The ID of the version. */
    id: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about version in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `operations` Returns the list of operations available for this version.
     * - `issuesstatus` Returns the count of issues in this version for each of the status categories _to do_, _in
     *   progress_, _done_, and _unmapped_. The _unmapped_ property represents the number of issues with a status other
     *   than _to do_, _in progress_, and _done_.
     * - `driver` Returns the Atlassian account ID of the version driver.
     * - `approvers` Returns a list containing the Atlassian account IDs of approvers for this version.
     */
    expand?: 'operations' | 'issuesstatus' | 'driver' | 'approvers' | ('operations' | 'issuesstatus' | 'driver' | 'approvers')[] | string | string[];
}

interface GetVersionRelatedIssues {
    /** The ID of the version. */
    id: string;
}

interface GetVersionUnresolvedIssues {
    /** The ID of the version. */
    id: string;
}

interface GetVisibleIssueFieldOptions {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** Filters the results to options that are only available in the specified project. */
    projectId?: number;
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
}

interface GetVotes {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface GetWorkflow {
    /** The ID of the workflow scheme. */
    id: number;
    /**
     * The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified
     * workflow.
     */
    workflowName?: string;
    /**
     * Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft
     * exists, the mapping from the workflow scheme is returned.
     */
    returnDraftIfExists?: boolean;
}

interface GetWorkflowProjectIssueTypeUsages {
    /** The workflow ID */
    workflowId: string;
    /** The project ID */
    projectId: number;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetWorkflowScheme {
    /**
     * The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the
     * URL as `schemeId`. For example, _schemeId=10301_.
     */
    id: number;
    /**
     * Returns the workflow scheme's draft rather than scheme itself, if set to true. If the workflow scheme does not have
     * a draft, then the workflow scheme is returned.
     */
    returnDraftIfExists?: boolean;
}

interface GetWorkflowSchemeDraft {
    /** The ID of the active workflow scheme that the draft was created from. */
    id: number;
}

interface GetWorkflowSchemeDraftIssueType {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
}

interface GetWorkflowSchemeIssueType {
    /** The ID of the workflow scheme. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
    /**
     * Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft
     * exists, the mapping from the workflow scheme is returned.
     */
    returnDraftIfExists?: boolean;
}

interface GetWorkflowSchemeProjectAssociations {
    /**
     * The ID of a project to return the workflow schemes for. To include multiple projects, provide an ampersand-Jim:
     * oneseparated list. For example, `projectId=10000&projectId=10001`.
     */
    projectId: (string | number)[];
}

interface GetWorkflowSchemeUsagesForWorkflow {
    /** The workflow ID */
    workflowId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetWorkflowsPaginated {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The name of a workflow to return. To include multiple workflows, provide an ampersand-separated list. For example,
     * `workflowName=name1&workflowName=name2`.
     */
    workflowName?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `transitions` For each workflow, returns information about the transitions inside the workflow.
     * - `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included
     *   automatically if this expand is requested.
     * - `transitions.properties` For each workflow transition, returns information about its properties. Transitions are
     *   included automatically if this expand is requested.
     * - `statuses` For each workflow, returns information about the statuses inside the workflow.
     * - `statuses.properties` For each workflow status, returns information about its properties. Statuses are included
     *   automatically if this expand is requested.
     * - `default` For each workflow, returns information about whether this is the default workflow.
     * - `schemes` For each workflow, returns information about the workflow schemes the workflow is assigned to.
     * - `projects` For each workflow, returns information about the projects the workflow is assigned to, through workflow
     *   schemes.
     * - `hasDraftWorkflow` For each workflow, returns information about whether the workflow has a draft version.
     * - `operations` For each workflow, returns information about the actions that can be undertaken on the workflow.
     */
    expand?: 'transitions' | 'transitions.rules' | 'transitions.properties' | 'statuses' | 'statuses.properties' | 'default' | 'schemes' | 'projects' | 'hasDraftWorkflow' | 'operations' | ('transitions' | 'transitions.rules' | 'transitions.properties' | 'statuses' | 'statuses.properties' | 'default' | 'schemes' | 'projects' | 'hasDraftWorkflow' | 'operations')[] | string | string[];
    /** String used to perform a case-insensitive partial match with workflow name. */
    queryString?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field:
     *
     * - `name` Sorts by workflow name.
     * - `created` Sorts by create time.
     * - `updated` Sorts by update time.
     */
    orderBy?: 'name' | '-name' | '+name' | 'created' | '-created' | '+created' | 'updated' | '+updated' | '-updated' | string;
    /** Filters active and inactive workflows. */
    isActive?: boolean;
}

interface GetWorkflowTransitionProperties {
    /**
     * The ID of the transition. To get the ID, view the workflow in text mode in the Jira administration console. The ID
     * is shown next to the transition.
     */
    transitionId: number;
    /**
     * Some properties with keys that have the _jira._ prefix are reserved, which means they are not editable. To include
     * these properties in the results, set this parameter to _true_.
     */
    includeReservedKeys?: boolean;
    /**
     * The key of the property being returned, also known as the name of the property. If this parameter is not specified,
     * all properties on the transition are returned.
     */
    key?: string;
    /** The name of the workflow that the transition belongs to. */
    workflowName: string;
    /** The workflow status. Set to _live_ for active and inactive workflows, or _draft_ for draft workflows. */
    workflowMode?: 'live' | 'draft' | string;
}

interface GetWorkflowTransitionRuleConfigurations {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The types of the transition rules to return. */
    types: ('postfunction' | 'condition' | 'validator' | string)[];
    /**
     * The transition rule class keys, as defined in the Connect or the Forge app descriptor, of the transition rules to
     * return.
     */
    keys?: string[];
    /** The list of workflow names to filter by. */
    workflowNames?: string[];
    /** The list of `tags` to filter by. */
    withTags?: string[];
    /** Whether draft or published workflows are returned. If not provided, both workflow types are returned. */
    draft?: boolean;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts `transition`, which, for each rule, returns information about
     * the transition the rule is assigned to.
     */
    expand?: 'transition' | string;
}

interface GetWorkflowUsagesForStatus {
    /** The statusId to fetch workflow usages for */
    statusId: string;
    /** The cursor for pagination */
    nextPageToken?: string;
    /** The maximum number of results to return. Must be an integer between 1 and 200. */
    maxResults?: number;
}

interface GetWorklog {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    id: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about work logs in the response. This parameter accepts
     *
     * `properties`, which returns worklog properties.
     */
    expand?: string;
}

interface GetWorklogProperty {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    worklogId: string;
    /** The key of the property. */
    propertyKey: string;
}

interface GetWorklogPropertyKeys {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    worklogId: string;
}

interface GetWorklogsForIds extends WorklogIdsRequest {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about worklogs in the response. This parameter accepts `properties` that returns the properties of each
     * worklog.
     */
    expand?: string;
}

interface LinkIssues extends LinkIssueRequestJson {
}

interface MatchIssues extends IssuesAndJQLQueries {
}

interface MergeVersions {
    /** The ID of the version to delete. */
    id: string;
    /** The ID of the version to merge into. */
    moveIssuesTo: string;
}

interface MigrateQueries extends JQLPersonalDataMigrationRequest {
}

interface MovePriorities extends ReorderIssuePriorities {
}

interface MoveResolutions extends ReorderIssueResolutionsRequest {
}

interface MoveScreenTab {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
    /** The position of tab. The base index is 0. */
    pos: number;
}

interface MoveScreenTabField extends MoveField {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
    /** The ID of the field. */
    id: string;
}

interface MoveVersion extends VersionMove {
    /** The ID of the version to be moved. */
    id: string;
}

interface Notify extends Notification {
    /** ID or key of the issue that the notification is sent for. */
    issueIdOrKey: string;
}

interface ParseJqlQueries extends JqlQueriesToParse {
    /**
     * How to validate the JQL query and treat the validation results. Validation options include:
     *
     * - `strict` Returns all errors. If validation fails, the query structure is not returned.
     * - `warn` Returns all errors. If validation fails but the JQL query is correctly formed, the query structure is
     *   returned.
     * - `none` No validation is performed. If JQL query is correctly formed, the query structure is returned.
     */
    validation?: 'strict' | 'warn' | 'none' | string;
}

interface PartialUpdateProjectRole extends CreateUpdateRoleRequest {
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface PublishDraftWorkflowScheme {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** Whether the request only performs a validation. */
    validateOnly?: boolean;
    statusMappings?: StatusMapping[];
}

interface PutAddonProperty {
    /** The key of the app, as defined in its descriptor. */
    addonKey: string;
    /** The key of the property. */
    propertyKey: string;
    propertyValue: any;
}

interface PutAppProperty {
    /** The key of the property. */
    propertyKey: string;
    /** The value of the property. */
    propertyValue: string;
}

interface ReadWorkflows {
    /**
     * Return the new fields (`toStatusReference`/`links`) instead of the deprecated fields (`to`/`from`) for workflow
     * transition port mappings.
     */
    useTransitionLinksFormat?: boolean;
    /**
     * Return the new field `approvalConfiguration` instead of the deprecated status properties for approval
     * configuration.
     */
    useApprovalConfiguration?: boolean;
    /** The list of projects and issue types to query. */
    projectAndIssueTypes?: ProjectAndIssueTypePair[];
    /** The list of workflow IDs to query. */
    workflowIds?: string[];
    /** The list of workflow names to query. */
    workflowNames?: string[];
}

interface ReadWorkflowSchemes extends WorkflowSchemeReadRequest {
}

interface RefreshWebhooks extends ContainerForWebhookIDs {
}

interface RegisterDynamicWebhooks extends WebhookRegistrationDetails {
}

interface RegisterModules extends ConnectModules {
}

interface RemoveAssociations extends FieldAssociationsRequest {
}

interface RemoveAtlassianTeam {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the Atlassian team. */
    atlassianTeamId: string;
}

interface RemoveAttachment {
    /** The ID of the attachment. */
    id: string;
}

interface RemoveCustomFieldContextFromProjects extends ProjectIds {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface RemoveDefaultProjectClassification {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string;
}

interface RemoveGadget {
    /** The ID of the dashboard. */
    dashboardId: number;
    /** The ID of the gadget. */
    gadgetId: number;
}

interface RemoveGroup {
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. The name of the group. This
     * parameter cannot be used with the `groupId` parameter.
     */
    groupname?: string;
    /**
     * The ID of the group. This parameter cannot be used with the `groupId` parameter. This parameter cannot be used with
     * the `groupName` parameter.
     */
    groupId?: string;
    /**
     * As a group's name can change, use of `swapGroupId` is recommended to identify a group. The group to transfer
     * restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and
     * worklogs are inaccessible after the deletion. This parameter cannot be used with the `swapGroupId` parameter.
     */
    swapGroup?: string;
    /**
     * The ID of the group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are
     * not transferred, comments and worklogs are inaccessible after the deletion. This parameter cannot be used with the
     * `swapGroup` parameter.
     */
    swapGroupId?: string;
}

interface RemoveIssueTypeFromIssueTypeScheme {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
    /** The ID of the issue type. */
    issueTypeId: number;
}

interface RemoveIssueTypesFromContext extends IssueTypeIds {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface RemoveIssueTypesFromGlobalFieldConfigurationScheme extends IssueTypeIdsToRemove {
    /** The ID of the field configuration scheme. */
    id: number;
}

interface RemoveLevel {
    /** The ID of the issue security scheme. */
    schemeId: string;
    /** The ID of the issue security level to remove. */
    levelId: string;
    /** The ID of the issue security level that will replace the currently selected level. */
    replaceWith?: string;
}

interface RemoveMappingsFromIssueTypeScreenScheme extends IssueTypeIds {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
}

interface RemoveMemberFromSecurityLevel {
    /** The ID of the issue security scheme. */
    schemeId: string;
    /** The ID of the issue security level. */
    levelId: string;
    /** The ID of the issue security level member to be removed. */
    memberId: string;
}

interface RemoveModules {
    /**
     * The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter. For
     * example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`. Nonexistent keys are
     * ignored.
     */
    moduleKey?: string[];
}

interface RemoveNotificationFromNotificationScheme {
    /** The ID of the notification scheme. */
    notificationSchemeId: string;
    /** The ID of the notification. */
    notificationId: string;
}

interface RemovePreference {
    /** The key of the preference. */
    key: string;
}

interface RemoveProjectCategory {
    /** ID of the project category to delete. */
    id: number;
}

interface RemoveScreenTabField {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
    /** The ID of the field. */
    id: string;
}

interface RemoveUser {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId: string;
    /**
     * @deprecated This parameter is no longer available. See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     *   for details.
     */
    username?: string;
    /**
     * @deprecated This parameter is no longer available. See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     *   for details.
     */
    key?: string;
}

interface RemoveUserFromGroup {
    /**
     * As a group's name can change, use of `groupId` is recommended to identify a group. The name of the group. This
     * parameter cannot be used with the `groupId` parameter.
     */
    groupname?: string;
    /** The ID of the group. This parameter cannot be used with the `groupName` parameter. */
    groupId?: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId: string;
}

interface RemoveVote {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
}

interface RemoveWatcher {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /**
     * This parameter is no longer available. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    username?: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_. Required.
     */
    accountId?: string;
}

interface RenameScreenTab extends ScreenableTab {
    /** The ID of the screen. */
    screenId: number;
    /** The ID of the screen tab. */
    tabId: number;
}

interface ReorderCustomFieldOptions extends OrderOfCustomFieldOptions {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface ReorderIssueTypesInIssueTypeScheme extends OrderOfIssueTypes {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
}

interface ReplaceCustomFieldOption {
    /** The ID of the option that will replace the currently selected option. */
    replaceWith?: number;
    /** A JQL query that specifies the issues to be updated. For example, _project=10000_. */
    jql?: string;
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the option to be deselected. */
    optionId: number;
    /** The ID of the context. */
    contextId: number;
}

interface ReplaceIssueFieldOption {
    /** The ID of the option that will replace the currently selected option. */
    replaceWith?: number;
    /** A JQL query that specifies the issues to be updated. For example, _project=10000_. */
    jql?: string;
    /**
     * Whether screen security is overridden to enable hidden fields to be edited. Available to Connect and Forge app
     * users with admin permission.
     */
    overrideScreenSecurity?: boolean;
    /**
     * Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect and Forge app
     * users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideEditableFlag?: boolean;
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
    /** The ID of the option to be deselected. */
    optionId: number;
}

interface ResetColumns {
    /** The ID of the filter. */
    id: number;
}

interface ResetUserColumns {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /**
     * @deprecated This parameter is no longer available. See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     *   for details.
     */
    username?: string;
}

interface Restore {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
}

interface RestoreCustomField {
    /** The ID of a custom field. */
    id: string;
}

interface SanitiseJqlQueries extends JqlQueriesToSanitize {
}

interface Search {
    /**
     * @deprecated See the [deprecation
     *   notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-2298) for details.
     *
     *   Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     *   information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     *   - `usages` Returns the project and issue types that use the status in their workflow.
     *   - `workflowUsages` Returns the workflows that use the status.
     */
    expand?: 'usages' | 'workflowUsages' | ('usages' | 'workflowUsages')[] | string | string[];
    /** The project the status is part of or null for global statuses. */
    projectId?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** Term to match status names against or null to search for all statuses in the search scope. */
    searchString?: string;
    /** Category of the status to filter by. The supported values are: `TODO`, `IN_PROGRESS`, and `DONE`. */
    statusCategory?: 'TODO' | 'IN_PROGRESS' | 'DONE' | string;
}

interface SearchForIssuesIds extends IdSearchRequest {
}

interface SearchForIssuesUsingJql {
    /**
     * The [JQL](https://confluence.atlassian.com/x/egORLQ) that defines the search. Note:
     *
     * If no JQL expression is provided, all issues are returned. `username` and `userkey` cannot be used as search terms
     * due to privacy reasons. Use `accountId` instead. If a user has hidden their email address in their user profile,
     * partial matches of the email address will not find the user. An exact match is required.
     */
    jql?: string;
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /**
     * The maximum number of items to return per page. To manage page size, Jira may return fewer items per page where a
     * large number of fields are requested. The greatest number of items returned per page is achieved when requesting
     * `id` or `key` only.
     */
    maxResults?: number;
    /**
     * Determines how to validate the JQL query and treat the validation results. Supported values are:
     *
     * - `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).
     * - `warn` Returns all errors as warnings. `none` No validation is performed. `true` _Deprecated_ A legacy synonym for
     * - `strict`. `false` _Deprecated_ A legacy synonym for `warn`.
     *
     * Note: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.
     */
    validateQuery?: 'strict' | 'warn' | 'none' | string;
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * `*all` Returns all fields. `*navigable` Returns navigable fields. Any issue field, prefixed with a minus to
     * exclude.
     *
     * Examples:
     *
     * `summary,comment` Returns only the summary and comments fields. `-description` Returns all navigable (default)
     * fields except description. `*all,-comment` Returns all fields except comments.
     *
     * This parameter may be specified multiple times. For example, `fields=field1,field2&fields=field3`.
     *
     * Note: All navigable fields are returned by default. This differs from [GET
     * issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.
     */
    fields?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about issues in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     */
    expand?: 'renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | string | ('renderedFields' | 'names' | 'schema' | 'transitions' | 'operations' | 'editmeta' | 'changelog' | 'versionedRepresentations' | string)[];
    /**
     * A list of issue property keys for issue properties to include in the results. This parameter accepts a
     * comma-separated list. Multiple properties can also be provided using an ampersand separated list. For example,
     * `properties=prop1,prop2&properties=prop3`. A maximum of 5 issue property keys can be specified.
     */
    properties?: string[];
    /** Reference fields by their key (rather than ID). */
    fieldsByKeys?: boolean;
    /**
     * Whether to fail the request quickly in case of an error while loading fields for an issue. For `failFast=true`, if
     * one field fails, the entire operation fails. For `failFast=false`, the operation will continue even if a field
     * fails. It will return a valid response, but without values for the failed field(s).
     */
    failFast?: boolean;
}

interface SearchForIssuesUsingJqlEnhancedSearch {
    /**
     * The [JQL](https://confluence.atlassian.com/x/egORLQ) expression. For performance reasons, this parameter requires a
     * bounded query. A bounded query is a query with a search restriction.
     *
     * - Example of an unbounded query: `order by key desc`.
     * - Example of a bounded query: `assignee = currentUser() order by key`.
     *
     * Additionally, `orderBy` clause can contain a maximum of 7 fields.
     */
    jql: string;
    /**
     * The token for a page to fetch that is not the first page. The first page has a `nextPageToken` of `null`. Use the
     * `nextPageToken` to fetch the next page of issues.
     */
    nextPageToken?: string;
    /**
     * The maximum number of items to return per page. To manage page size, API may return fewer items per page where a
     * large number of fields are requested. The greatest number of items returned per page is achieved when requesting
     * `id` or `key` only.
     *
     * It returns max 5000 issues.
     *
     * Default: `50`
     *
     * Format: `int32`
     */
    maxResults?: number;
    /**
     * A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a
     * comma-separated list. Expand options include:
     *
     * - `*all` Returns all fields.
     * - `*navigable` Returns navigable fields.
     * - `id` Returns only issue IDs.
     * - Any issue field, prefixed with a minus to exclude.
     *
     * The default is `id`.
     *
     * Examples:
     *
     * - `summary,comment` Returns only the summary and comments fields.
     * - `-description` Returns all navigable (default) fields except description.
     * - `*all,-comment` Returns all fields except comments.
     *
     * Multiple `fields` parameters can be included in a request.
     *
     * Note: By default, this resource returns IDs only. This differs from [GET
     * issue](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-get)
     * where the default is all fields.
     */
    fields?: string[];
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about issues in the response. Note that, unlike the majority of instances where `expand` is specified,
     * `expand` is defined as a comma-delimited string of values. The expand options are:
     *
     * - `renderedFields` Returns field values rendered in HTML format.
     * - `names` Returns the display name of each field.
     * - `schema` Returns the schema describing a field type.
     * - `transitions` Returns all possible transitions for the issue.
     * - `operations` Returns all possible operations for the issue.
     * - `editmeta` Returns information about how each field can be edited.
     * - `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.
     * - `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each
     *   version of a field's value, with the highest numbered item representing the most recent version.
     *
     * Examples: `names,changelog` Returns the display name of each field as well as a list of recent updates to an issue.
     */
    expand?: string;
    /** A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list. */
    properties?: string[];
    /** Reference fields by their key (rather than ID). The default is `false`. */
    fieldsByKeys?: boolean;
    /** Fail this request early if we can't retrieve all field data. The default is `false`. */
    failFast?: boolean;
    /** Strong consistency issue ids to be reconciled with search results. Accepts max 50 ids. All issues must exist. */
    reconcileIssues?: number[];
}

interface SearchForIssuesUsingJqlEnhancedSearchPost extends EnhancedSearchRequest {
}

interface SearchForIssuesUsingJqlPost extends SearchRequest {
}

interface SearchPriorities {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of priority IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=2&id=3`. */
    id?: string[];
    /**
     * The list of projects IDs. To include multiple IDs, provide an ampersand-separated list. For example,
     * `projectId=10010&projectId=10111`.
     */
    projectId?: string[];
    /** The name of priority to search for. */
    priorityName?: string;
    /** Whether only the default priority is returned. */
    onlyDefault?: boolean;
    /**
     * Use `schemes` to return the associated priority schemes for each priority. Limited to returning first 15 priority
     * schemes per priority.
     */
    expand?: 'schemes' | string;
}

interface SearchProjects {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#ordering) the results by a field.
     *
     * - `category` Sorts by project category. A complete list of category IDs is found using [Get all project
     *   categories](#api-rest-api-3-projectCategory-get).
     * - `issueCount` Sorts by the total number of issues in each project.
     * - `key` Sorts by project key.
     * - `lastIssueUpdatedTime` Sorts by the last issue update time.
     * - `name` Sorts by project name.
     * - `owner` Sorts by project lead.
     * - `archivedDate` EXPERIMENTAL. Sorts by project archived date.
     * - `deletedDate` EXPERIMENTAL. Sorts by project deleted date.
     */
    orderBy?: 'category' | '-category' | '+category' | 'key' | '-key' | '+key' | 'name' | '-name' | '+name' | 'owner' | '-owner' | '+owner' | 'issueCount' | '-issueCount' | '+issueCount' | 'lastIssueUpdatedDate' | '-lastIssueUpdatedDate' | '+lastIssueUpdatedDate' | 'archivedDate' | '+archivedDate' | '-archivedDate' | 'deletedDate' | '+deletedDate' | '-deletedDate' | string;
    /**
     * The project IDs to filter the results by. To include multiple IDs, provide an ampersand-separated list. For
     * example, `id=10000&id=10001`. Up to 50 project IDs can be provided.
     */
    id?: number[];
    /**
     * The project keys to filter the results by. To include multiple keys, provide an ampersand-separated list. For
     * example, `keys=PA&keys=PB`. Up to 50 project keys can be provided.
     */
    keys?: string[];
    /**
     * Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case
     * insensitive).
     */
    query?: string;
    /**
     * Orders results by the [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This
     * parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`.
     */
    typeKey?: string;
    /**
     * The ID of the project's category. A complete list of category IDs is found using the [Get all project
     * categories](#api-rest-api-3-projectCategory-get) operation.
     */
    categoryId?: number;
    /**
     * Filter results by projects for which the user can:
     *
     * `view` the project, meaning that they have one of the following permissions:
     *
     * _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. _Administer
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. _Administer Jira_
     * [global permission](https://confluence.atlassian.com/x/x4dKLg). `browse` the project, meaning that they have the
     * _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. `edit` the
     * project, meaning that they have one of the following permissions:
     *
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). `create` the project, meaning that they have
     * the _Create issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the
     * issue is created.
     */
    action?: 'view' | 'browse' | 'edit' | 'create' | string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expanded options include:
     *
     * - `description` Returns the project description.
     * - `projectKeys` Returns all project keys associated with a project.
     * - `lead` Returns information about the project lead.
     * - `issueTypes` Returns all issue types associated with the project.
     * - `url` Returns the URL associated with the project.
     * - `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the
     *   project.
     */
    expand?: 'description' | 'projectKeys' | 'lead' | 'issueTypes' | 'url' | 'insight' | ('description' | 'projectKeys' | 'lead' | 'issueTypes' | 'url' | 'insight')[] | string | string[];
    /**
     * EXPERIMENTAL. Filter results by project status:
     *
     * `live` Search live projects. `archived` Search archived projects. `deleted` Search deleted projects, those in the
     * recycle bin.
     */
    status?: ('live' | 'archived' | 'deleted' | string)[];
    /**
     * EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated
     * list.
     */
    properties?: string[];
    /**
     * EXPERIMENTAL. A query string used to search properties. The query string cannot be specified using a JSON object.
     * For example, to search for the value of `nested` from `{"something":{"nested":1,"other":2}}` use
     * `[thepropertykey].something.nested=1`. Note that the propertyQuery key is enclosed in square brackets to enable
     * searching where the propertyQuery key includes dot (.) or equals (=) characters. Note that `thepropertykey` is only
     * returned when included in `properties`.
     */
    propertyQuery?: string;
}

interface SearchProjectsUsingSecuritySchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of security scheme IDs to be filtered out. */
    issueSecuritySchemeId?: string[];
    /** The list of project IDs to be filtered out. */
    projectId?: string[];
}

interface SearchResolutions {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /** The list of resolutions IDs to be filtered out */
    id?: string[];
    /**
     * When set to true, return default only, when IDs provided, if none of them is default, return empty page. Default
     * value is false
     */
    onlyDefault?: boolean;
}

interface SearchSecuritySchemes {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * The list of issue security scheme IDs. To include multiple issue security scheme IDs, separate IDs with an
     * ampersand: `id=10000&id=10001`.
     */
    id?: string[];
    /**
     * The list of project IDs. To include multiple project IDs, separate IDs with an ampersand:
     * `projectId=10000&projectId=10001`.
     */
    projectId?: string[];
}

interface SearchWorkflows {
    /** The index of the first item to return in a page of results (page offset). */
    startAt?: number;
    /** The maximum number of items to return per page. */
    maxResults?: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `values.transitions` Returns the transitions that each workflow is associated with.
     */
    expand?: 'values.transitions' | string;
    /** String used to perform a case-insensitive partial match with workflow name. */
    queryString?: string;
    /**
     * [Order](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#ordering) the results by a field:
     *
     * - `name` Sorts by workflow name.
     * - `created` Sorts by create time.
     * - `updated` Sorts by update time.
     */
    orderBy?: 'name' | 'created' | 'updated' | '+name' | '+created' | '+updated' | '-name' | '-created' | '-updated' | string;
    /** The scope of the workflow. Global for company-managed projects and Project for team-managed projects. */
    scope?: string;
    /** Filters active and inactive workflows. */
    isActive?: boolean;
}

interface SelectTimeTrackingImplementation extends TimeTrackingProvider {
}

interface Services {
    /** The ID of the services (the strings starting with "b:" need to be decoded in Base64). */
    serviceIds: string[];
}

interface SetActors extends ProjectRoleActorsUpdate {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /**
     * The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role
     * IDs.
     */
    id: number;
}

interface SetApplicationProperty extends SimpleApplicationProperty {
    /** The key of the application property to update. */
    id: string;
    body?: {
        /** The ID of the application property. */
        id?: string;
        /** The new value. */
        value?: string;
    };
}

interface SetBanner extends AnnouncementBannerConfigurationUpdate {
}

interface SetColumns {
    /** The ID of the filter. */
    id: number;
    columns: string[];
}

interface SetCommentProperty {
    /** The ID of the comment. */
    commentId: string;
    /** The key of the property. The maximum length is 255 characters. */
    propertyKey: string;
    property: any;
}

interface SetDashboardItemProperty {
    /** The ID of the dashboard. */
    dashboardId: string;
    /** The ID of the dashboard item. */
    itemId: string;
    /**
     * The key of the dashboard item property. The maximum length is 255 characters. For dashboard items with a spec URI
     * and no complete module key, if the provided propertyKey is equal to "config", the request body's JSON must be an
     * object with all keys and values as strings.
     */
    propertyKey: string;
    propertyValue: any;
}

interface SetDefaultLevels extends SetDefaultLevelsRequest {
}

interface SetDefaultPriority extends SetDefaultPriorityRequest {
}

interface SetDefaultResolution extends SetDefaultResolutionRequest {
}

interface SetDefaultShareScope extends DefaultShareScope {
}

interface SetDefaultValues extends CustomFieldContextDefaultValueUpdate {
    /** The ID of the custom field. */
    fieldId: string;
}

interface SetFavouriteForFilter {
    /** The ID of the filter. */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     * the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     * doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     * `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     * `?expand=sharedUsers[1001:2000]`. `subscriptions` Returns the users that are subscribed to the filter. If you don't
     * specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of
     * subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to
     * the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: string;
}

interface SetFieldConfigurationSchemeMapping extends AssociateFieldConfigurationsWithIssueTypesRequest {
    /** The ID of the field configuration scheme. */
    id: number;
}

interface SetIssueProperty {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The key of the issue property. The maximum length is 255 characters. */
    propertyKey: string;
    /** The value of the issue property. Can be of any type. */
    propertyValue: any;
}

interface SetIssueTypeProperty {
    /** The ID of the issue type. */
    issueTypeId: string;
    /** The key of the issue type property. The maximum length is 255 characters. */
    propertyKey: string;
}

interface SetPreference {
    /** The key of the preference. The maximum length is 255 characters. */
    key: string;
}

interface SetProjectProperty {
    /** The project ID or project key (case sensitive). */
    projectIdOrKey: string | number;
    /** The key of the project property. The maximum length is 255 characters. */
    propertyKey: string;
    propertyValue: any;
}

interface SetSharedTimeTrackingConfiguration extends TimeTrackingConfiguration {
}

interface SetUserColumns {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    columns: any;
}

interface SetUserNavProperty {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The key of the nav property. The maximum length is 255 characters. */
    propertyKey: string;
}

interface SetUserProperty {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The key of the user's property. The maximum length is 255 characters. */
    propertyKey: string;
    propertyValue: any;
}

interface SetWorkflowSchemeDraftIssueType extends IssueTypeWorkflowMapping {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
    /** Details about the mapping between an issue type and a workflow. */
    details?: {
        /** The ID of the issue type. Not required if updating the issue type-workflow mapping. */
        issueType?: string;
        /** The name of the workflow. */
        workflow?: string;
        /**
         * Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the
         * workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types
         * mapping.
         */
        updateDraftIfNeeded?: boolean;
    };
}

interface SetWorkflowSchemeIssueType extends IssueTypeWorkflowMapping {
    /** The ID of the workflow scheme. */
    id: number;
    /** The ID of the issue type. */
    issueType: string;
    /** Details about the mapping between an issue type and a workflow. */
    details?: {
        /** The ID of the issue type. Not required if updating the issue type-workflow mapping. */
        issueType?: string;
        /** The name of the workflow. */
        workflow?: string;
        /**
         * Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the
         * workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types
         * mapping.
         */
        updateDraftIfNeeded?: boolean;
    };
}

interface SetWorklogProperty {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    worklogId: string;
    /** The key of the issue property. The maximum length is 255 characters. */
    propertyKey: string;
}

interface StoreAvatar {
    /** The avatar type. */
    type: 'project' | 'issuetype' | string;
    /** The ID of the item the avatar is associated with. */
    entityId: number | string;
    /** The X coordinate of the top-left corner of the crop region. */
    x?: number;
    /** The Y coordinate of the top-left corner of the crop region. */
    y?: number;
    /**
     * The length of each side of the crop region.
     *
     * @default 0
     */
    size?: number;
    mimeType: string;
    avatar: Buffer | ArrayBuffer | Uint8Array;
}

interface SubmitBulkDelete extends IssueBulkDeletePayload {
}

interface SubmitBulkEdit extends IssueBulkEditPayload {
}

interface SubmitBulkMove extends IssueBulkMovePayload {
}

interface SubmitBulkTransition extends IssueBulkTransitionPayload {
}

interface SubmitBulkUnwatch extends IssueBulkWatchOrUnwatchPayload {
}

interface SubmitBulkWatch extends IssueBulkWatchOrUnwatchPayload {
}

interface SuggestedPrioritiesForMappings extends SuggestedMappingsRequest {
}

interface ToggleFeatureForProject extends ProjectFeatureToggleRequest {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
    /** The key of the feature. */
    featureKey: string;
}

interface TrashCustomField {
    /** The ID of a custom field. */
    id: string;
}

interface TrashPlan {
    /** The ID of the plan. */
    planId: number;
}

interface UnarchiveIssues extends IssueArchivalSyncRequest {
}

interface UpdateAtlassianTeam {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the Atlassian team. */
    atlassianTeamId: string;
}

interface UpdateComment extends Omit<Comment$1, 'body'> {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the comment. */
    id: string;
    /** Whether users are notified when a comment is updated. */
    notifyUsers?: boolean;
    /**
     * Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with
     * the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on
     * behalf of users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideEditableFlag?: boolean;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body
     * rendered in HTML.
     */
    expand?: 'renderedBody' | ['renderedBody'] | string | string[];
    body?: Document | string;
}

interface UpdateComponent extends ProjectComponent {
    /** The ID of the component. */
    id: string;
}

interface UpdateCustomField extends UpdateCustomFieldDetails {
    /** The ID of the custom field. */
    fieldId: string;
}

interface UpdateCustomFieldConfiguration extends CustomFieldConfigurations {
    /** The ID or key of the custom field, for example `customfield_10000`. */
    fieldIdOrKey: string;
}

interface UpdateCustomFieldContext extends CustomFieldContextUpdateDetails {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface UpdateCustomFieldOption extends BulkCustomFieldOptionUpdateRequest {
    /** The ID of the custom field. */
    fieldId: string;
    /** The ID of the context. */
    contextId: number;
}

interface UpdateCustomFieldValue extends CustomFieldValueUpdateRequest {
    /** The ID or key of the custom field. For example, `customfield_10010`. */
    fieldIdOrKey: string;
    /** Whether to generate a changelog for this update. */
    generateChangelog?: boolean;
}

interface UpdateDashboard extends DashboardDetails {
    /** The ID of the dashboard to update. */
    id: string;
    /**
     * Whether admin level permissions are used. It should only be true if the user has _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    extendAdminPermissions?: boolean;
}

interface UpdateDefaultProjectClassification extends UpdateDefaultProjectClassification$1 {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string;
}

interface UpdateDefaultScreenScheme {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
    /** The ID of the screen scheme. */
    screenSchemeId: string;
}

interface UpdateDefaultWorkflow extends DefaultWorkflow {
    /** The ID of the workflow scheme. */
    id: number;
}

interface UpdateDraftDefaultWorkflow extends DefaultWorkflow {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
}

interface UpdateDraftWorkflowMapping extends IssueTypesWorkflowMapping {
    /** The ID of the workflow scheme that the draft belongs to. */
    id: number;
    /** The name of the workflow. */
    workflowName: string;
}

interface UpdateEntityPropertiesValue {
    /** The app migration transfer ID. */
    transferId: string;
    /** The Atlassian account ID of the impersonated user. This user must be a member of the site admin group. */
    accountId: string;
    /** The type indicating the object that contains the entity properties. */
    entityType: 'IssueProperty' | 'CommentProperty' | 'DashboardItemProperty' | 'IssueTypeProperty' | 'ProjectProperty' | 'UserProperty' | 'WorklogProperty' | 'BoardProperty' | 'SprintProperty' | string;
    entities?: Array<EntityPropertyDetails>;
}

interface UpdateFieldConfiguration extends FieldConfigurationDetails {
    /** The ID of the field configuration. */
    id: number;
}

interface UpdateFieldConfigurationItems extends FieldConfigurationItemsDetails {
    /** The ID of the field configuration. */
    id: number;
}

interface UpdateFieldConfigurationScheme extends UpdateFieldConfigurationSchemeDetails {
    /** The ID of the field configuration scheme. */
    id: number;
}

interface UpdateFilter extends Omit<Filter, 'id'> {
    /** The ID of the filter to update. */
    id: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about filter in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that
     *   the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it
     *   doesn't list any users. The list of users returned is limited to 1000, to access additional users append
     *   `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use
     *   `?expand=sharedUsers[1001:2000]`.
     * - `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the
     *   `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is
     *   limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For
     *   example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
     */
    expand?: 'sharedUsers' | 'subscriptions' | ('sharedUsers' | 'subscriptions')[] | string | string[];
    /**
     * EXPERIMENTAL: Whether share permissions are overridden to enable the addition of any share permissions to filters.
     * Available to users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    overrideSharePermissions?: boolean;
}

interface UpdateGadget extends DashboardGadgetUpdateRequest {
    /** The ID of the dashboard. */
    dashboardId: number;
    /** The ID of the gadget. */
    gadgetId: number;
}

interface UpdateIssueFieldOption extends IssueFieldOption {
    /**
     * The field key is specified in the following format: **$(app-key)__$(field-key)**. For example,
     * _example-add-on__example-issue-field_. To determine the `fieldKey` value, do one of the following:
     *
     * Open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the
     * `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin
     * Manager. run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For
     * example, `"key": "teams-add-on__team-issue-field"`
     */
    fieldKey: string;
    /** The ID of the option to be updated. */
    optionId: number;
}

interface UpdateIssueFields extends ConnectCustomFieldValues {
    /** The ID of the transfer. */
    transferId: string;
    /** The Atlassian account ID of the impersonated user. This user must be a member of the site admin group. */
    accountId: string;
}

interface UpdateIssueLinkType extends IssueLinkType {
    /** The ID of the issue link type. */
    issueLinkTypeId: string;
}

interface UpdateIssueSecurityScheme extends UpdateIssueSecuritySchemeRequest {
    /** The ID of the issue security scheme. */
    id: string;
}

interface UpdateIssueType extends IssueTypeUpdate {
    /** The ID of the issue type. */
    id: string;
}

interface UpdateIssueTypeScheme extends IssueTypeSchemeUpdateDetails {
    /** The ID of the issue type scheme. */
    issueTypeSchemeId: number;
}

interface UpdateIssueTypeScreenScheme extends IssueTypeScreenSchemeUpdateDetails {
    /** The ID of the issue type screen scheme. */
    issueTypeScreenSchemeId: string;
}

interface UpdateMultipleCustomFieldValues extends MultipleCustomFieldValuesUpdateDetails {
    /** Whether to generate a changelog for this update. */
    generateChangelog?: boolean;
}

interface UpdateNotificationScheme extends UpdateNotificationSchemeDetails {
    /** The ID of the notification scheme. */
    id: string;
}

interface UpdatePermissionScheme extends PermissionScheme {
    /** The ID of the permission scheme to update. */
    schemeId: number;
    /**
     * Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note
     * that permissions are always included when you specify any value. Expand options include:
     *
     * `all` Returns all expandable information. `field` Returns information about the custom field granted the
     * permission. `group` Returns information about the group that is granted the permission. `permissions` Returns all
     * permission grants for each permission scheme. `projectRole` Returns information about the project role granted the
     * permission. `user` Returns information about the user who is granted the permission.
     */
    expand?: string;
}

interface UpdatePlan {
    /** The ID of the plan. */
    planId: number;
    /** Whether to accept group IDs instead of group names. Group names are deprecated. */
    useGroupId?: boolean;
    /** The cross-project releases to include in the plan. */
    crossProjectReleases?: CreateCrossProjectReleaseRequest[];
    /** The custom fields for the plan. */
    customFields?: CreateCustomFieldRequest[];
    exclusionRules?: CreateExclusionRulesRequest;
    /** The issue sources to include in the plan. */
    issueSources?: CreateIssueSourceRequest[];
    /** The account ID of the plan lead. */
    leadAccountId?: string;
    /** The plan name. */
    name?: string;
    /** The permissions for the plan. */
    permissions?: CreatePermissionRequest[];
    scheduling?: CreateSchedulingRequest;
}

interface UpdatePlanOnlyTeam {
    /** The ID of the plan. */
    planId: number;
    /** The ID of the plan-only team. */
    planOnlyTeamId: number;
}

interface UpdatePrecomputations extends JqlFunctionPrecomputationUpdateRequest {
    skipNotFoundPrecomputations?: boolean;
}

interface UpdatePriority extends UpdatePriorityDetails {
    /** The ID of the issue priority. */
    id: string;
}

interface UpdatePriorityScheme extends UpdatePrioritySchemeRequest {
    /** The ID of the priority scheme. */
    schemeId: number;
}

interface UpdateProject extends UpdateProjectDetails {
    /** The project ID or project key (case-sensitive). */
    projectIdOrKey: string | number;
    projectTypeKey?: string;
    projectTemplateKey?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Note that the project description,
     * issue types, and project lead are included in all responses by default. Expand options include:
     *
     * - `description` The project description.
     * - `issueTypes` The issue types associated with the project.
     * - `lead` The project lead.
     * - `projectKeys` All project keys associated with the project.
     */
    expand?: 'description' | 'issueTypes' | 'lead' | 'projectKeys' | ('description' | 'issueTypes' | 'lead' | 'projectKeys')[] | string | string[];
}

interface UpdateProjectAvatar extends Avatar {
    /** The ID or (case-sensitive) key of the project. */
    projectIdOrKey: string | number;
}

interface UpdateProjectCategory extends Omit<ProjectCategory, 'id'> {
    id: number;
}

interface UpdateProjectEmail extends ProjectEmailAddress {
    /** The project ID. */
    projectId: string | number;
}

interface UpdateRelatedWork extends VersionRelatedWork {
    /** The ID of the version to update the related work on. For the related work id, pass it to the input JSON. */
    id: string;
}

interface UpdateRemoteIssueLink extends RemoteIssueLinkRequest {
    /** The ID or key of the issue. */
    issueIdOrKey: string;
    /** The ID of the remote issue link. */
    linkId: string;
}

interface UpdateResolution extends UpdateResolutionDetails {
    /** The ID of the issue resolution. */
    id: string;
}

/** The update workflow scheme payload. */
interface UpdateSchemes {
    /**
     * The ID of the workflow for issue types without having a mapping defined in this workflow scheme. Only used in
     * global-scoped workflow schemes. If the `defaultWorkflowId` isn't specified, this is set to _Jira Workflow (jira)_.
     */
    defaultWorkflowId?: string;
    /** The new description for this workflow scheme. */
    description: string;
    /** The ID of this workflow scheme. */
    id: string;
    /** The new name for this workflow scheme. */
    name: string;
    /**
     * Overrides, for the selected issue types, any status mappings provided in `statusMappingsByWorkflows`. Status
     * mappings are required when the new workflow for an issue type doesn't contain all statuses that the old workflow
     * has. Status mappings can be provided by a combination of `statusMappingsByWorkflows` and
     * `statusMappingsByIssueTypeOverride`.
     */
    statusMappingsByIssueTypeOverride?: MappingsByIssueTypeOverride[];
    /**
     * The status mappings by workflows. Status mappings are required when the new workflow for an issue type doesn't
     * contain all statuses that the old workflow has. Status mappings can be provided by a combination of
     * `statusMappingsByWorkflows` and `statusMappingsByIssueTypeOverride`.
     */
    statusMappingsByWorkflows?: MappingsByWorkflow[];
    version: DocumentVersion;
    /** Mappings from workflows to issue types. */
    workflowsForIssueTypes?: WorkflowSchemeAssociation[];
}

interface UpdateScreen extends UpdateScreenDetails {
    /** The ID of the screen. */
    screenId: number;
}

interface UpdateScreenScheme extends UpdateScreenSchemeDetails {
    /** The ID of the screen scheme. */
    screenSchemeId: string;
}

interface UpdateSecurityLevel extends UpdateIssueSecurityLevelDetails {
    /** The ID of the issue security scheme level belongs to. */
    schemeId: string;
    /** The ID of the issue security level to update. */
    levelId: string;
}

interface UpdateStatuses extends StatusUpdateRequest {
}

interface UpdateUiModification extends UpdateUiModificationDetails {
    /** The ID of the UI modification. */
    uiModificationId: string;
}

interface UpdateVersion extends Version$1 {
    /** The ID of the version. */
    id: string;
}

interface UpdateWorkflowMapping extends IssueTypesWorkflowMapping {
    /** The ID of the workflow scheme. */
    id: number;
    /** The name of the workflow. */
    workflowName: string;
}

interface UpdateWorkflows extends WorkflowUpdateRequest {
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information in the response. This parameter accepts a comma-separated list. Expand options include:
     *
     * - `workflows.usages` Returns the project and issue types that each workflow is associated with.
     * - `statuses.usages` Returns the project and issue types that each status is associated with.
     */
    expand?: 'workflows.usages' | 'statuses.usages' | ('workflows.usages' | 'statuses.usages')[] | string;
}

interface UpdateWorkflowScheme extends WorkflowScheme {
    /**
     * The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the
     * URL as `schemeId`. For example, _schemeId=10301_.
     */
    id: number;
}

interface UpdateWorkflowSchemeDraft extends WorkflowScheme {
    /** The ID of the active workflow scheme that the draft was created from. */
    id: number;
}

/** The request payload to get the required mappings for updating a workflow scheme. */
interface UpdateWorkflowSchemeMappings {
    /**
     * The ID of the new default workflow for this workflow scheme. Only used in global-scoped workflow schemes. If it
     * isn't specified, is set to _Jira Workflow (jira)_.
     */
    defaultWorkflowId?: string;
    /** The ID of the workflow scheme. */
    id: string;
    /** The new workflow to issue type mappings for this workflow scheme. */
    workflowsForIssueTypes: WorkflowSchemeAssociation[];
}

interface UpdateWorkflowTransitionProperty extends WorkflowTransitionProperty {
    /**
     * The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown
     * next to the transition.
     */
    transitionId: number;
    /**
     * The key of the property being updated, also known as the name of the property. Set this to the same value as the
     * `key` defined in the request body.
     */
    key: string;
    /** The name of the workflow that the transition belongs to. */
    workflowName: string;
    /**
     * The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot
     * be edited.
     */
    workflowMode?: 'live' | 'draft' | string;
}

interface UpdateWorkflowTransitionRuleConfigurations extends WorkflowTransitionRulesUpdate {
}

interface UpdateWorklog extends Omit<Worklog, 'comment'> {
    /** The ID or key the issue. */
    issueIdOrKey: string;
    /** The ID of the worklog. */
    id: string;
    /** Whether users watching the issue are notified by email. */
    notifyUsers?: boolean;
    /**
     * Defines how to update the issue's time estimate, the options are:
     *
     * - `new` Sets the estimate to a specific value, defined in `newEstimate`.
     * - `leave` Leaves the estimate unchanged.
     * - `auto` Updates the estimate by the difference between the original and updated value of `timeSpent` or
     *   `timeSpentSeconds`.
     */
    adjustEstimate?: 'new' | 'leave' | 'manual' | 'auto' | string;
    /**
     * A comment about the worklog in [Atlassian Document
     * Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/). Optional when creating or
     * updating a worklog.
     */
    comment?: string | Document;
    /**
     * The value to set as the issue's remaining time estimate, as days (#d), hours (#h), or minutes (#m or #). For
     * example, _2d_. Required when `adjustEstimate` is `new`.
     */
    newEstimate?: string;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#expansion) to include additional
     * information about worklogs in the response. This parameter accepts `properties`, which returns worklog properties.
     */
    expand?: string;
    /**
     * Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue
     * is closed. Connect and Forge app users with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag.
     */
    overrideEditableFlag?: boolean;
}

interface ValidateCreateWorkflows {
    payload: WorkflowCreateRequest;
    validationOptions?: ValidationOptionsForCreate;
}

interface ValidateProjectKey {
    /** The project key. */
    key?: string;
}

interface ValidateUpdateWorkflows extends WorkflowUpdateValidateRequest {
}

type WorkflowCapabilities = WorkflowCapabilities$1;

interface WorkflowRuleSearch extends WorkflowRulesSearch {
    /** The app migration transfer ID. */
    transferId: string;
}

type index$6_AddActorUsers = AddActorUsers;
type index$6_AddAtlassianTeam = AddAtlassianTeam;
type index$6_AddAttachment = AddAttachment;
type index$6_AddComment = AddComment;
type index$6_AddFieldToDefaultScreen = AddFieldToDefaultScreen;
type index$6_AddGadget = AddGadget;
type index$6_AddIssueTypesToContext = AddIssueTypesToContext;
type index$6_AddIssueTypesToIssueTypeScheme = AddIssueTypesToIssueTypeScheme;
type index$6_AddNotifications = AddNotifications;
type index$6_AddProjectRoleActorsToRole = AddProjectRoleActorsToRole;
type index$6_AddScreenTab = AddScreenTab;
type index$6_AddScreenTabField = AddScreenTabField;
type index$6_AddSecurityLevel = AddSecurityLevel;
type index$6_AddSecurityLevelMembers = AddSecurityLevelMembers;
type index$6_AddSharePermission = AddSharePermission;
type index$6_AddUserToGroup = AddUserToGroup;
type index$6_AddVote = AddVote;
type index$6_AddWatcher = AddWatcher;
type index$6_AddWorklog = AddWorklog;
type index$6_AnalyseExpression = AnalyseExpression;
type index$6_AppendMappingsForIssueTypeScreenScheme = AppendMappingsForIssueTypeScreenScheme;
type index$6_ArchiveIssues = ArchiveIssues;
type index$6_ArchiveIssuesAsync = ArchiveIssuesAsync;
type index$6_ArchivePlan = ArchivePlan;
type index$6_ArchiveProject = ArchiveProject;
type index$6_AssignFieldConfigurationSchemeToProject = AssignFieldConfigurationSchemeToProject;
type index$6_AssignIssue = AssignIssue;
type index$6_AssignIssueTypeSchemeToProject = AssignIssueTypeSchemeToProject;
type index$6_AssignIssueTypeScreenSchemeToProject = AssignIssueTypeScreenSchemeToProject;
type index$6_AssignPermissionScheme = AssignPermissionScheme;
type index$6_AssignProjectsToCustomFieldContext = AssignProjectsToCustomFieldContext;
type index$6_AssignSchemeToProject = AssignSchemeToProject;
type index$6_AssociateSchemesToProjects = AssociateSchemesToProjects;
type index$6_BulkDeleteIssueProperty = BulkDeleteIssueProperty;
type index$6_BulkDeleteWorklogs = BulkDeleteWorklogs;
type index$6_BulkEditDashboards = BulkEditDashboards;
type index$6_BulkFetchIssues = BulkFetchIssues;
type index$6_BulkGetGroups = BulkGetGroups;
type index$6_BulkGetUsers = BulkGetUsers;
type index$6_BulkGetUsersMigration = BulkGetUsersMigration;
type index$6_BulkMoveWorklogs = BulkMoveWorklogs;
type index$6_BulkSetIssuePropertiesByIssue = BulkSetIssuePropertiesByIssue;
type index$6_BulkSetIssueProperty = BulkSetIssueProperty;
type index$6_BulkSetIssuesProperties = BulkSetIssuesProperties;
type index$6_CancelTask = CancelTask;
type index$6_ChangeFilterOwner = ChangeFilterOwner;
type index$6_CopyDashboard = CopyDashboard;
type index$6_CountIssues = CountIssues;
type index$6_CreateAssociations = CreateAssociations;
type index$6_CreateComponent = CreateComponent;
type index$6_CreateCustomField = CreateCustomField;
type index$6_CreateCustomFieldContext = CreateCustomFieldContext;
type index$6_CreateCustomFieldOption = CreateCustomFieldOption;
type index$6_CreateDashboard = CreateDashboard;
type index$6_CreateFieldConfiguration = CreateFieldConfiguration;
type index$6_CreateFieldConfigurationScheme = CreateFieldConfigurationScheme;
type index$6_CreateFilter = CreateFilter;
type index$6_CreateGroup = CreateGroup;
type index$6_CreateIssue = CreateIssue;
type index$6_CreateIssueFieldOption = CreateIssueFieldOption;
type index$6_CreateIssueLinkType = CreateIssueLinkType;
type index$6_CreateIssueSecurityScheme = CreateIssueSecurityScheme;
type index$6_CreateIssueType = CreateIssueType;
type index$6_CreateIssueTypeAvatar = CreateIssueTypeAvatar;
type index$6_CreateIssueTypeScheme = CreateIssueTypeScheme;
type index$6_CreateIssueTypeScreenScheme = CreateIssueTypeScreenScheme;
type index$6_CreateIssues = CreateIssues;
type index$6_CreateNotificationScheme = CreateNotificationScheme;
type index$6_CreateOrUpdateRemoteIssueLink = CreateOrUpdateRemoteIssueLink;
type index$6_CreatePermissionGrant = CreatePermissionGrant;
type index$6_CreatePermissionScheme = CreatePermissionScheme;
type index$6_CreatePlan = CreatePlan;
type index$6_CreatePlanOnlyTeam = CreatePlanOnlyTeam;
type index$6_CreatePriority = CreatePriority;
type index$6_CreatePriorityScheme = CreatePriorityScheme;
type index$6_CreateProject = CreateProject;
type index$6_CreateProjectAvatar = CreateProjectAvatar;
type index$6_CreateProjectCategory = CreateProjectCategory;
type index$6_CreateProjectRole = CreateProjectRole;
type index$6_CreateProjectWithCustomTemplate = CreateProjectWithCustomTemplate;
type index$6_CreateRelatedWork = CreateRelatedWork;
type index$6_CreateResolution = CreateResolution;
type index$6_CreateScreen = CreateScreen;
type index$6_CreateScreenScheme = CreateScreenScheme;
type index$6_CreateStatuses = CreateStatuses;
type index$6_CreateUiModification = CreateUiModification;
type index$6_CreateUser = CreateUser;
type index$6_CreateVersion = CreateVersion;
type index$6_CreateWorkflow = CreateWorkflow;
type index$6_CreateWorkflowScheme = CreateWorkflowScheme;
type index$6_CreateWorkflowSchemeDraftFromParent = CreateWorkflowSchemeDraftFromParent;
type index$6_CreateWorkflowTransitionProperty = CreateWorkflowTransitionProperty;
type index$6_CreateWorkflows = CreateWorkflows;
type index$6_DeleteActor = DeleteActor;
type index$6_DeleteAddonProperty = DeleteAddonProperty;
type index$6_DeleteAndReplaceVersion = DeleteAndReplaceVersion;
type index$6_DeleteAppProperty = DeleteAppProperty;
type index$6_DeleteAvatar = DeleteAvatar;
type index$6_DeleteComment = DeleteComment;
type index$6_DeleteCommentProperty = DeleteCommentProperty;
type index$6_DeleteComponent = DeleteComponent;
type index$6_DeleteCustomField = DeleteCustomField;
type index$6_DeleteCustomFieldContext = DeleteCustomFieldContext;
type index$6_DeleteCustomFieldOption = DeleteCustomFieldOption;
type index$6_DeleteDashboard = DeleteDashboard;
type index$6_DeleteDashboardItemProperty = DeleteDashboardItemProperty;
type index$6_DeleteDefaultWorkflow = DeleteDefaultWorkflow;
type index$6_DeleteDraftDefaultWorkflow = DeleteDraftDefaultWorkflow;
type index$6_DeleteDraftWorkflowMapping = DeleteDraftWorkflowMapping;
type index$6_DeleteFavouriteForFilter = DeleteFavouriteForFilter;
type index$6_DeleteFieldConfiguration = DeleteFieldConfiguration;
type index$6_DeleteFieldConfigurationScheme = DeleteFieldConfigurationScheme;
type index$6_DeleteFilter = DeleteFilter;
type index$6_DeleteInactiveWorkflow = DeleteInactiveWorkflow;
type index$6_DeleteIssue = DeleteIssue;
type index$6_DeleteIssueFieldOption = DeleteIssueFieldOption;
type index$6_DeleteIssueLink = DeleteIssueLink;
type index$6_DeleteIssueLinkType = DeleteIssueLinkType;
type index$6_DeleteIssueProperty = DeleteIssueProperty;
type index$6_DeleteIssueType = DeleteIssueType;
type index$6_DeleteIssueTypeProperty = DeleteIssueTypeProperty;
type index$6_DeleteIssueTypeScheme = DeleteIssueTypeScheme;
type index$6_DeleteIssueTypeScreenScheme = DeleteIssueTypeScreenScheme;
type index$6_DeleteNotificationScheme = DeleteNotificationScheme;
type index$6_DeletePermissionScheme = DeletePermissionScheme;
type index$6_DeletePermissionSchemeEntity = DeletePermissionSchemeEntity;
type index$6_DeletePlanOnlyTeam = DeletePlanOnlyTeam;
type index$6_DeletePriority = DeletePriority;
type index$6_DeletePriorityScheme = DeletePriorityScheme;
type index$6_DeleteProject = DeleteProject;
type index$6_DeleteProjectAsynchronously = DeleteProjectAsynchronously;
type index$6_DeleteProjectAvatar = DeleteProjectAvatar;
type index$6_DeleteProjectProperty = DeleteProjectProperty;
type index$6_DeleteProjectRole = DeleteProjectRole;
type index$6_DeleteProjectRoleActorsFromRole = DeleteProjectRoleActorsFromRole;
type index$6_DeleteRelatedWork = DeleteRelatedWork;
type index$6_DeleteRemoteIssueLinkByGlobalId = DeleteRemoteIssueLinkByGlobalId;
type index$6_DeleteRemoteIssueLinkById = DeleteRemoteIssueLinkById;
type index$6_DeleteResolution = DeleteResolution;
type index$6_DeleteScreen = DeleteScreen;
type index$6_DeleteScreenScheme = DeleteScreenScheme;
type index$6_DeleteScreenTab = DeleteScreenTab;
type index$6_DeleteSecurityScheme = DeleteSecurityScheme;
type index$6_DeleteSharePermission = DeleteSharePermission;
type index$6_DeleteStatusesById = DeleteStatusesById;
type index$6_DeleteUiModification = DeleteUiModification;
type index$6_DeleteUserProperty = DeleteUserProperty;
type index$6_DeleteWebhookById = DeleteWebhookById;
type index$6_DeleteWorkflowMapping = DeleteWorkflowMapping;
type index$6_DeleteWorkflowScheme = DeleteWorkflowScheme;
type index$6_DeleteWorkflowSchemeDraft = DeleteWorkflowSchemeDraft;
type index$6_DeleteWorkflowSchemeDraftIssueType = DeleteWorkflowSchemeDraftIssueType;
type index$6_DeleteWorkflowSchemeIssueType = DeleteWorkflowSchemeIssueType;
type index$6_DeleteWorkflowTransitionProperty = DeleteWorkflowTransitionProperty;
type index$6_DeleteWorkflowTransitionRuleConfigurations = DeleteWorkflowTransitionRuleConfigurations;
type index$6_DeleteWorklog = DeleteWorklog;
type index$6_DeleteWorklogProperty = DeleteWorklogProperty;
type index$6_DoTransition = DoTransition;
type index$6_DuplicatePlan = DuplicatePlan;
type index$6_EditIssue = EditIssue;
type index$6_EvaluateJiraExpression = EvaluateJiraExpression;
type index$6_EvaluateJiraExpressionUsingEnhancedSearch = EvaluateJiraExpressionUsingEnhancedSearch;
type index$6_ExpandAttachmentForHumans = ExpandAttachmentForHumans;
type index$6_ExpandAttachmentForMachines = ExpandAttachmentForMachines;
type index$6_ExportArchivedIssues = ExportArchivedIssues;
type index$6_FindAssignableUsers = FindAssignableUsers;
type index$6_FindBulkAssignableUsers = FindBulkAssignableUsers;
type index$6_FindComponentsForProjects = FindComponentsForProjects;
type index$6_FindGroups = FindGroups;
type index$6_FindUserKeysByQuery = FindUserKeysByQuery;
type index$6_FindUsers = FindUsers;
type index$6_FindUsersAndGroups = FindUsersAndGroups;
type index$6_FindUsersByQuery = FindUsersByQuery;
type index$6_FindUsersForPicker = FindUsersForPicker;
type index$6_FindUsersWithAllPermissions = FindUsersWithAllPermissions;
type index$6_FindUsersWithBrowsePermission = FindUsersWithBrowsePermission;
type index$6_FullyUpdateProjectRole = FullyUpdateProjectRole;
type index$6_GetAccessibleProjectTypeByKey = GetAccessibleProjectTypeByKey;
type index$6_GetAddonProperties = GetAddonProperties;
type index$6_GetAddonProperty = GetAddonProperty;
type index$6_GetAllDashboards = GetAllDashboards;
type index$6_GetAllFieldConfigurationSchemes = GetAllFieldConfigurationSchemes;
type index$6_GetAllFieldConfigurations = GetAllFieldConfigurations;
type index$6_GetAllGadgets = GetAllGadgets;
type index$6_GetAllIssueFieldOptions = GetAllIssueFieldOptions;
type index$6_GetAllIssueTypeSchemes = GetAllIssueTypeSchemes;
type index$6_GetAllLabels = GetAllLabels;
type index$6_GetAllPermissionSchemes = GetAllPermissionSchemes;
type index$6_GetAllProjectAvatars = GetAllProjectAvatars;
type index$6_GetAllScreenTabFields = GetAllScreenTabFields;
type index$6_GetAllScreenTabs = GetAllScreenTabs;
type index$6_GetAllStatuses = GetAllStatuses;
type index$6_GetAllSystemAvatars = GetAllSystemAvatars;
type index$6_GetAllUserDataClassificationLevels = GetAllUserDataClassificationLevels;
type index$6_GetAllUsers = GetAllUsers;
type index$6_GetAllUsersDefault = GetAllUsersDefault;
type index$6_GetAllWorkflowSchemes = GetAllWorkflowSchemes;
type index$6_GetAlternativeIssueTypes = GetAlternativeIssueTypes;
type index$6_GetApplicationProperty = GetApplicationProperty;
type index$6_GetApplicationRole = GetApplicationRole;
type index$6_GetAssignedPermissionScheme = GetAssignedPermissionScheme;
type index$6_GetAtlassianTeam = GetAtlassianTeam;
type index$6_GetAttachment = GetAttachment;
type index$6_GetAuditRecords = GetAuditRecords;
type index$6_GetAutoCompletePost = GetAutoCompletePost;
type index$6_GetAvailablePrioritiesByPriorityScheme = GetAvailablePrioritiesByPriorityScheme;
type index$6_GetAvailableScreenFields = GetAvailableScreenFields;
type index$6_GetAvailableTransitions = GetAvailableTransitions;
type index$6_GetAvatarImageByID = GetAvatarImageByID;
type index$6_GetAvatarImageByOwner = GetAvatarImageByOwner;
type index$6_GetAvatarImageByType = GetAvatarImageByType;
type index$6_GetAvatars = GetAvatars;
type index$6_GetBulkChangelogs = GetBulkChangelogs;
type index$6_GetBulkEditableFields = GetBulkEditableFields;
type index$6_GetBulkOperationProgress = GetBulkOperationProgress;
type index$6_GetBulkPermissions = GetBulkPermissions;
type index$6_GetBulkScreenTabs = GetBulkScreenTabs;
type index$6_GetChangeLogs = GetChangeLogs;
type index$6_GetChangeLogsByIds = GetChangeLogsByIds;
type index$6_GetColumns = GetColumns;
type index$6_GetComment = GetComment;
type index$6_GetCommentProperty = GetCommentProperty;
type index$6_GetCommentPropertyKeys = GetCommentPropertyKeys;
type index$6_GetComments = GetComments;
type index$6_GetCommentsByIds = GetCommentsByIds;
type index$6_GetComponent = GetComponent;
type index$6_GetComponentRelatedIssues = GetComponentRelatedIssues;
type index$6_GetContextsForField = GetContextsForField;
type index$6_GetCreateIssueMeta = GetCreateIssueMeta;
type index$6_GetCreateIssueMetaIssueTypeId = GetCreateIssueMetaIssueTypeId;
type index$6_GetCreateIssueMetaIssueTypes = GetCreateIssueMetaIssueTypes;
type index$6_GetCurrentUser = GetCurrentUser;
type index$6_GetCustomFieldConfiguration = GetCustomFieldConfiguration;
type index$6_GetCustomFieldContextsForProjectsAndIssueTypes = GetCustomFieldContextsForProjectsAndIssueTypes;
type index$6_GetCustomFieldOption = GetCustomFieldOption;
type index$6_GetCustomFieldsConfigurations = GetCustomFieldsConfigurations;
type index$6_GetDashboard = GetDashboard;
type index$6_GetDashboardItemProperty = GetDashboardItemProperty;
type index$6_GetDashboardItemPropertyKeys = GetDashboardItemPropertyKeys;
type index$6_GetDashboardsPaginated = GetDashboardsPaginated;
type index$6_GetDefaultProjectClassification = GetDefaultProjectClassification;
type index$6_GetDefaultValues = GetDefaultValues;
type index$6_GetDefaultWorkflow = GetDefaultWorkflow;
type index$6_GetDraftDefaultWorkflow = GetDraftDefaultWorkflow;
type index$6_GetDraftWorkflow = GetDraftWorkflow;
type index$6_GetDynamicWebhooksForApp = GetDynamicWebhooksForApp;
type index$6_GetEditIssueMeta = GetEditIssueMeta;
type index$6_GetFailedWebhooks = GetFailedWebhooks;
type index$6_GetFavouriteFilters = GetFavouriteFilters;
type index$6_GetFeaturesForProject = GetFeaturesForProject;
type index$6_GetFieldAutoCompleteForQueryString = GetFieldAutoCompleteForQueryString;
type index$6_GetFieldConfigurationItems = GetFieldConfigurationItems;
type index$6_GetFieldConfigurationSchemeMappings = GetFieldConfigurationSchemeMappings;
type index$6_GetFieldConfigurationSchemeProjectMapping = GetFieldConfigurationSchemeProjectMapping;
type index$6_GetFieldsPaginated = GetFieldsPaginated;
type index$6_GetFilter = GetFilter;
type index$6_GetFiltersPaginated = GetFiltersPaginated;
type index$6_GetHierarchy = GetHierarchy;
type index$6_GetIdsOfWorklogsDeletedSince = GetIdsOfWorklogsDeletedSince;
type index$6_GetIdsOfWorklogsModifiedSince = GetIdsOfWorklogsModifiedSince;
type index$6_GetIsWatchingIssueBulk = GetIsWatchingIssueBulk;
type index$6_GetIssue = GetIssue;
type index$6_GetIssueFieldOption = GetIssueFieldOption;
type index$6_GetIssueLimitReport = GetIssueLimitReport;
type index$6_GetIssueLink = GetIssueLink;
type index$6_GetIssueLinkType = GetIssueLinkType;
type index$6_GetIssuePickerResource = GetIssuePickerResource;
type index$6_GetIssueProperty = GetIssueProperty;
type index$6_GetIssuePropertyKeys = GetIssuePropertyKeys;
type index$6_GetIssueSecurityLevel = GetIssueSecurityLevel;
type index$6_GetIssueSecurityLevelMembers = GetIssueSecurityLevelMembers;
type index$6_GetIssueSecurityScheme = GetIssueSecurityScheme;
type index$6_GetIssueType = GetIssueType;
type index$6_GetIssueTypeMappingsForContexts = GetIssueTypeMappingsForContexts;
type index$6_GetIssueTypeProperty = GetIssueTypeProperty;
type index$6_GetIssueTypePropertyKeys = GetIssueTypePropertyKeys;
type index$6_GetIssueTypeSchemeForProjects = GetIssueTypeSchemeForProjects;
type index$6_GetIssueTypeSchemesMapping = GetIssueTypeSchemesMapping;
type index$6_GetIssueTypeScreenSchemeMappings = GetIssueTypeScreenSchemeMappings;
type index$6_GetIssueTypeScreenSchemeProjectAssociations = GetIssueTypeScreenSchemeProjectAssociations;
type index$6_GetIssueTypeScreenSchemes = GetIssueTypeScreenSchemes;
type index$6_GetIssueTypesForProject = GetIssueTypesForProject;
type index$6_GetIssueWatchers = GetIssueWatchers;
type index$6_GetIssueWorklog = GetIssueWorklog;
type index$6_GetMyFilters = GetMyFilters;
type index$6_GetMyPermissions = GetMyPermissions;
type index$6_GetNotificationScheme = GetNotificationScheme;
type index$6_GetNotificationSchemeForProject = GetNotificationSchemeForProject;
type index$6_GetNotificationSchemeToProjectMappings = GetNotificationSchemeToProjectMappings;
type index$6_GetNotificationSchemes = GetNotificationSchemes;
type index$6_GetOptionsForContext = GetOptionsForContext;
type index$6_GetPermissionScheme = GetPermissionScheme;
type index$6_GetPermissionSchemeGrant = GetPermissionSchemeGrant;
type index$6_GetPermissionSchemeGrants = GetPermissionSchemeGrants;
type index$6_GetPermittedProjects = GetPermittedProjects;
type index$6_GetPlan = GetPlan;
type index$6_GetPlanOnlyTeam = GetPlanOnlyTeam;
type index$6_GetPlans = GetPlans;
type index$6_GetPolicies = GetPolicies;
type index$6_GetPrecomputations = GetPrecomputations;
type index$6_GetPrecomputationsByID = GetPrecomputationsByID;
type index$6_GetPreference = GetPreference;
type index$6_GetPrioritiesByPriorityScheme = GetPrioritiesByPriorityScheme;
type index$6_GetPriority = GetPriority;
type index$6_GetPrioritySchemes = GetPrioritySchemes;
type index$6_GetProject = GetProject;
type index$6_GetProjectCategoryById = GetProjectCategoryById;
type index$6_GetProjectComponents = GetProjectComponents;
type index$6_GetProjectComponentsPaginated = GetProjectComponentsPaginated;
type index$6_GetProjectContextMapping = GetProjectContextMapping;
type index$6_GetProjectEmail = GetProjectEmail;
type index$6_GetProjectIssueSecurityScheme = GetProjectIssueSecurityScheme;
type index$6_GetProjectIssueTypeUsagesForStatus = GetProjectIssueTypeUsagesForStatus;
type index$6_GetProjectProperty = GetProjectProperty;
type index$6_GetProjectPropertyKeys = GetProjectPropertyKeys;
type index$6_GetProjectRole = GetProjectRole;
type index$6_GetProjectRoleActorsForRole = GetProjectRoleActorsForRole;
type index$6_GetProjectRoleById = GetProjectRoleById;
type index$6_GetProjectRoleDetails = GetProjectRoleDetails;
type index$6_GetProjectRoles = GetProjectRoles;
type index$6_GetProjectTypeByKey = GetProjectTypeByKey;
type index$6_GetProjectUsagesForStatus = GetProjectUsagesForStatus;
type index$6_GetProjectUsagesForWorkflow = GetProjectUsagesForWorkflow;
type index$6_GetProjectUsagesForWorkflowScheme = GetProjectUsagesForWorkflowScheme;
type index$6_GetProjectVersions = GetProjectVersions;
type index$6_GetProjectVersionsPaginated = GetProjectVersionsPaginated;
type index$6_GetProjectsByPriorityScheme = GetProjectsByPriorityScheme;
type index$6_GetProjectsForIssueTypeScreenScheme = GetProjectsForIssueTypeScreenScheme;
type index$6_GetRecent = GetRecent;
type index$6_GetRelatedWork = GetRelatedWork;
type index$6_GetRemoteIssueLinkById = GetRemoteIssueLinkById;
type index$6_GetRemoteIssueLinks = GetRemoteIssueLinks;
type index$6_GetResolution = GetResolution;
type index$6_GetScreenSchemes = GetScreenSchemes;
type index$6_GetScreens = GetScreens;
type index$6_GetScreensForField = GetScreensForField;
type index$6_GetSecurityLevelMembers = GetSecurityLevelMembers;
type index$6_GetSecurityLevels = GetSecurityLevels;
type index$6_GetSecurityLevelsForProject = GetSecurityLevelsForProject;
type index$6_GetSelectableIssueFieldOptions = GetSelectableIssueFieldOptions;
type index$6_GetSharePermission = GetSharePermission;
type index$6_GetSharePermissions = GetSharePermissions;
type index$6_GetStatus = GetStatus;
type index$6_GetStatusCategory = GetStatusCategory;
type index$6_GetStatusesById = GetStatusesById;
type index$6_GetTask = GetTask;
type index$6_GetTeams = GetTeams;
type index$6_GetTransitions = GetTransitions;
type index$6_GetTrashedFieldsPaginated = GetTrashedFieldsPaginated;
type index$6_GetUiModifications = GetUiModifications;
type index$6_GetUser = GetUser;
type index$6_GetUserDefaultColumns = GetUserDefaultColumns;
type index$6_GetUserEmail = GetUserEmail;
type index$6_GetUserEmailBulk = GetUserEmailBulk;
type index$6_GetUserGroups = GetUserGroups;
type index$6_GetUserNavProperty = GetUserNavProperty;
type index$6_GetUserProperty = GetUserProperty;
type index$6_GetUserPropertyKeys = GetUserPropertyKeys;
type index$6_GetUsersFromGroup = GetUsersFromGroup;
type index$6_GetValidProjectKey = GetValidProjectKey;
type index$6_GetValidProjectName = GetValidProjectName;
type index$6_GetVersion = GetVersion;
type index$6_GetVersionRelatedIssues = GetVersionRelatedIssues;
type index$6_GetVersionUnresolvedIssues = GetVersionUnresolvedIssues;
type index$6_GetVisibleIssueFieldOptions = GetVisibleIssueFieldOptions;
type index$6_GetVotes = GetVotes;
type index$6_GetWorkflow = GetWorkflow;
type index$6_GetWorkflowProjectIssueTypeUsages = GetWorkflowProjectIssueTypeUsages;
type index$6_GetWorkflowScheme = GetWorkflowScheme;
type index$6_GetWorkflowSchemeDraft = GetWorkflowSchemeDraft;
type index$6_GetWorkflowSchemeDraftIssueType = GetWorkflowSchemeDraftIssueType;
type index$6_GetWorkflowSchemeIssueType = GetWorkflowSchemeIssueType;
type index$6_GetWorkflowSchemeProjectAssociations = GetWorkflowSchemeProjectAssociations;
type index$6_GetWorkflowSchemeUsagesForWorkflow = GetWorkflowSchemeUsagesForWorkflow;
type index$6_GetWorkflowTransitionProperties = GetWorkflowTransitionProperties;
type index$6_GetWorkflowTransitionRuleConfigurations = GetWorkflowTransitionRuleConfigurations;
type index$6_GetWorkflowUsagesForStatus = GetWorkflowUsagesForStatus;
type index$6_GetWorkflowsPaginated = GetWorkflowsPaginated;
type index$6_GetWorklog = GetWorklog;
type index$6_GetWorklogProperty = GetWorklogProperty;
type index$6_GetWorklogPropertyKeys = GetWorklogPropertyKeys;
type index$6_GetWorklogsForIds = GetWorklogsForIds;
type index$6_LinkIssues = LinkIssues;
type index$6_MatchIssues = MatchIssues;
type index$6_MergeVersions = MergeVersions;
type index$6_MigrateQueries = MigrateQueries;
type index$6_MovePriorities = MovePriorities;
type index$6_MoveResolutions = MoveResolutions;
type index$6_MoveScreenTab = MoveScreenTab;
type index$6_MoveScreenTabField = MoveScreenTabField;
type index$6_MoveVersion = MoveVersion;
type index$6_Notify = Notify;
type index$6_ParseJqlQueries = ParseJqlQueries;
type index$6_PartialUpdateProjectRole = PartialUpdateProjectRole;
type index$6_PublishDraftWorkflowScheme = PublishDraftWorkflowScheme;
type index$6_PutAddonProperty = PutAddonProperty;
type index$6_PutAppProperty = PutAppProperty;
type index$6_ReadWorkflowSchemes = ReadWorkflowSchemes;
type index$6_ReadWorkflows = ReadWorkflows;
type index$6_RefreshWebhooks = RefreshWebhooks;
type index$6_RegisterDynamicWebhooks = RegisterDynamicWebhooks;
type index$6_RegisterModules = RegisterModules;
type index$6_RemoveAssociations = RemoveAssociations;
type index$6_RemoveAtlassianTeam = RemoveAtlassianTeam;
type index$6_RemoveAttachment = RemoveAttachment;
type index$6_RemoveCustomFieldContextFromProjects = RemoveCustomFieldContextFromProjects;
type index$6_RemoveDefaultProjectClassification = RemoveDefaultProjectClassification;
type index$6_RemoveGadget = RemoveGadget;
type index$6_RemoveGroup = RemoveGroup;
type index$6_RemoveIssueTypeFromIssueTypeScheme = RemoveIssueTypeFromIssueTypeScheme;
type index$6_RemoveIssueTypesFromContext = RemoveIssueTypesFromContext;
type index$6_RemoveIssueTypesFromGlobalFieldConfigurationScheme = RemoveIssueTypesFromGlobalFieldConfigurationScheme;
type index$6_RemoveLevel = RemoveLevel;
type index$6_RemoveMappingsFromIssueTypeScreenScheme = RemoveMappingsFromIssueTypeScreenScheme;
type index$6_RemoveMemberFromSecurityLevel = RemoveMemberFromSecurityLevel;
type index$6_RemoveModules = RemoveModules;
type index$6_RemoveNotificationFromNotificationScheme = RemoveNotificationFromNotificationScheme;
type index$6_RemovePreference = RemovePreference;
type index$6_RemoveProjectCategory = RemoveProjectCategory;
type index$6_RemoveScreenTabField = RemoveScreenTabField;
type index$6_RemoveUser = RemoveUser;
type index$6_RemoveUserFromGroup = RemoveUserFromGroup;
type index$6_RemoveVote = RemoveVote;
type index$6_RemoveWatcher = RemoveWatcher;
type index$6_RenameScreenTab = RenameScreenTab;
type index$6_ReorderCustomFieldOptions = ReorderCustomFieldOptions;
type index$6_ReorderIssueTypesInIssueTypeScheme = ReorderIssueTypesInIssueTypeScheme;
type index$6_ReplaceCustomFieldOption = ReplaceCustomFieldOption;
type index$6_ReplaceIssueFieldOption = ReplaceIssueFieldOption;
type index$6_ResetColumns = ResetColumns;
type index$6_ResetUserColumns = ResetUserColumns;
type index$6_Restore = Restore;
type index$6_RestoreCustomField = RestoreCustomField;
type index$6_SanitiseJqlQueries = SanitiseJqlQueries;
type index$6_Search = Search;
type index$6_SearchForIssuesIds = SearchForIssuesIds;
type index$6_SearchForIssuesUsingJql = SearchForIssuesUsingJql;
type index$6_SearchForIssuesUsingJqlEnhancedSearch = SearchForIssuesUsingJqlEnhancedSearch;
type index$6_SearchForIssuesUsingJqlEnhancedSearchPost = SearchForIssuesUsingJqlEnhancedSearchPost;
type index$6_SearchForIssuesUsingJqlPost = SearchForIssuesUsingJqlPost;
type index$6_SearchPriorities = SearchPriorities;
type index$6_SearchProjects = SearchProjects;
type index$6_SearchProjectsUsingSecuritySchemes = SearchProjectsUsingSecuritySchemes;
type index$6_SearchResolutions = SearchResolutions;
type index$6_SearchSecuritySchemes = SearchSecuritySchemes;
type index$6_SearchWorkflows = SearchWorkflows;
type index$6_SelectTimeTrackingImplementation = SelectTimeTrackingImplementation;
type index$6_Services = Services;
type index$6_SetActors = SetActors;
type index$6_SetApplicationProperty = SetApplicationProperty;
type index$6_SetBanner = SetBanner;
type index$6_SetColumns = SetColumns;
type index$6_SetCommentProperty = SetCommentProperty;
type index$6_SetDashboardItemProperty = SetDashboardItemProperty;
type index$6_SetDefaultLevels = SetDefaultLevels;
type index$6_SetDefaultPriority = SetDefaultPriority;
type index$6_SetDefaultResolution = SetDefaultResolution;
type index$6_SetDefaultShareScope = SetDefaultShareScope;
type index$6_SetDefaultValues = SetDefaultValues;
type index$6_SetFavouriteForFilter = SetFavouriteForFilter;
type index$6_SetFieldConfigurationSchemeMapping = SetFieldConfigurationSchemeMapping;
type index$6_SetIssueProperty = SetIssueProperty;
type index$6_SetIssueTypeProperty = SetIssueTypeProperty;
type index$6_SetPreference = SetPreference;
type index$6_SetProjectProperty = SetProjectProperty;
type index$6_SetSharedTimeTrackingConfiguration = SetSharedTimeTrackingConfiguration;
type index$6_SetUserColumns = SetUserColumns;
type index$6_SetUserNavProperty = SetUserNavProperty;
type index$6_SetUserProperty = SetUserProperty;
type index$6_SetWorkflowSchemeDraftIssueType = SetWorkflowSchemeDraftIssueType;
type index$6_SetWorkflowSchemeIssueType = SetWorkflowSchemeIssueType;
type index$6_SetWorklogProperty = SetWorklogProperty;
type index$6_StoreAvatar = StoreAvatar;
type index$6_SubmitBulkDelete = SubmitBulkDelete;
type index$6_SubmitBulkEdit = SubmitBulkEdit;
type index$6_SubmitBulkMove = SubmitBulkMove;
type index$6_SubmitBulkTransition = SubmitBulkTransition;
type index$6_SubmitBulkUnwatch = SubmitBulkUnwatch;
type index$6_SubmitBulkWatch = SubmitBulkWatch;
type index$6_SuggestedPrioritiesForMappings = SuggestedPrioritiesForMappings;
type index$6_ToggleFeatureForProject = ToggleFeatureForProject;
type index$6_TrashCustomField = TrashCustomField;
type index$6_TrashPlan = TrashPlan;
type index$6_UnarchiveIssues = UnarchiveIssues;
type index$6_UpdateAtlassianTeam = UpdateAtlassianTeam;
type index$6_UpdateComment = UpdateComment;
type index$6_UpdateComponent = UpdateComponent;
type index$6_UpdateCustomField = UpdateCustomField;
type index$6_UpdateCustomFieldConfiguration = UpdateCustomFieldConfiguration;
type index$6_UpdateCustomFieldContext = UpdateCustomFieldContext;
type index$6_UpdateCustomFieldOption = UpdateCustomFieldOption;
type index$6_UpdateCustomFieldValue = UpdateCustomFieldValue;
type index$6_UpdateDashboard = UpdateDashboard;
type index$6_UpdateDefaultProjectClassification = UpdateDefaultProjectClassification;
type index$6_UpdateDefaultScreenScheme = UpdateDefaultScreenScheme;
type index$6_UpdateDefaultWorkflow = UpdateDefaultWorkflow;
type index$6_UpdateDraftDefaultWorkflow = UpdateDraftDefaultWorkflow;
type index$6_UpdateDraftWorkflowMapping = UpdateDraftWorkflowMapping;
type index$6_UpdateEntityPropertiesValue = UpdateEntityPropertiesValue;
type index$6_UpdateFieldConfiguration = UpdateFieldConfiguration;
type index$6_UpdateFieldConfigurationItems = UpdateFieldConfigurationItems;
type index$6_UpdateFieldConfigurationScheme = UpdateFieldConfigurationScheme;
type index$6_UpdateFilter = UpdateFilter;
type index$6_UpdateGadget = UpdateGadget;
type index$6_UpdateIssueFieldOption = UpdateIssueFieldOption;
type index$6_UpdateIssueFields = UpdateIssueFields;
type index$6_UpdateIssueLinkType = UpdateIssueLinkType;
type index$6_UpdateIssueSecurityScheme = UpdateIssueSecurityScheme;
type index$6_UpdateIssueType = UpdateIssueType;
type index$6_UpdateIssueTypeScheme = UpdateIssueTypeScheme;
type index$6_UpdateIssueTypeScreenScheme = UpdateIssueTypeScreenScheme;
type index$6_UpdateMultipleCustomFieldValues = UpdateMultipleCustomFieldValues;
type index$6_UpdateNotificationScheme = UpdateNotificationScheme;
type index$6_UpdatePermissionScheme = UpdatePermissionScheme;
type index$6_UpdatePlan = UpdatePlan;
type index$6_UpdatePlanOnlyTeam = UpdatePlanOnlyTeam;
type index$6_UpdatePrecomputations = UpdatePrecomputations;
type index$6_UpdatePriority = UpdatePriority;
type index$6_UpdatePriorityScheme = UpdatePriorityScheme;
type index$6_UpdateProject = UpdateProject;
type index$6_UpdateProjectAvatar = UpdateProjectAvatar;
type index$6_UpdateProjectCategory = UpdateProjectCategory;
type index$6_UpdateProjectEmail = UpdateProjectEmail;
type index$6_UpdateRelatedWork = UpdateRelatedWork;
type index$6_UpdateRemoteIssueLink = UpdateRemoteIssueLink;
type index$6_UpdateResolution = UpdateResolution;
type index$6_UpdateSchemes = UpdateSchemes;
type index$6_UpdateScreen = UpdateScreen;
type index$6_UpdateScreenScheme = UpdateScreenScheme;
type index$6_UpdateSecurityLevel = UpdateSecurityLevel;
type index$6_UpdateStatuses = UpdateStatuses;
type index$6_UpdateUiModification = UpdateUiModification;
type index$6_UpdateVersion = UpdateVersion;
type index$6_UpdateWorkflowMapping = UpdateWorkflowMapping;
type index$6_UpdateWorkflowScheme = UpdateWorkflowScheme;
type index$6_UpdateWorkflowSchemeDraft = UpdateWorkflowSchemeDraft;
type index$6_UpdateWorkflowSchemeMappings = UpdateWorkflowSchemeMappings;
type index$6_UpdateWorkflowTransitionProperty = UpdateWorkflowTransitionProperty;
type index$6_UpdateWorkflowTransitionRuleConfigurations = UpdateWorkflowTransitionRuleConfigurations;
type index$6_UpdateWorkflows = UpdateWorkflows;
type index$6_UpdateWorklog = UpdateWorklog;
type index$6_ValidateCreateWorkflows = ValidateCreateWorkflows;
type index$6_ValidateProjectKey = ValidateProjectKey;
type index$6_ValidateUpdateWorkflows = ValidateUpdateWorkflows;
type index$6_WorkflowCapabilities = WorkflowCapabilities;
type index$6_WorkflowRuleSearch = WorkflowRuleSearch;
declare namespace index$6 {
  export type { index$6_AddActorUsers as AddActorUsers, index$6_AddAtlassianTeam as AddAtlassianTeam, index$6_AddAttachment as AddAttachment, index$6_AddComment as AddComment, index$6_AddFieldToDefaultScreen as AddFieldToDefaultScreen, index$6_AddGadget as AddGadget, index$6_AddIssueTypesToContext as AddIssueTypesToContext, index$6_AddIssueTypesToIssueTypeScheme as AddIssueTypesToIssueTypeScheme, index$6_AddNotifications as AddNotifications, index$6_AddProjectRoleActorsToRole as AddProjectRoleActorsToRole, index$6_AddScreenTab as AddScreenTab, index$6_AddScreenTabField as AddScreenTabField, index$6_AddSecurityLevel as AddSecurityLevel, index$6_AddSecurityLevelMembers as AddSecurityLevelMembers, index$6_AddSharePermission as AddSharePermission, index$6_AddUserToGroup as AddUserToGroup, index$6_AddVote as AddVote, index$6_AddWatcher as AddWatcher, index$6_AddWorklog as AddWorklog, index$6_AnalyseExpression as AnalyseExpression, index$6_AppendMappingsForIssueTypeScreenScheme as AppendMappingsForIssueTypeScreenScheme, index$6_ArchiveIssues as ArchiveIssues, index$6_ArchiveIssuesAsync as ArchiveIssuesAsync, index$6_ArchivePlan as ArchivePlan, index$6_ArchiveProject as ArchiveProject, index$6_AssignFieldConfigurationSchemeToProject as AssignFieldConfigurationSchemeToProject, index$6_AssignIssue as AssignIssue, index$6_AssignIssueTypeSchemeToProject as AssignIssueTypeSchemeToProject, index$6_AssignIssueTypeScreenSchemeToProject as AssignIssueTypeScreenSchemeToProject, index$6_AssignPermissionScheme as AssignPermissionScheme, index$6_AssignProjectsToCustomFieldContext as AssignProjectsToCustomFieldContext, index$6_AssignSchemeToProject as AssignSchemeToProject, index$6_AssociateSchemesToProjects as AssociateSchemesToProjects, Attachment$2 as Attachment, index$6_BulkDeleteIssueProperty as BulkDeleteIssueProperty, index$6_BulkDeleteWorklogs as BulkDeleteWorklogs, index$6_BulkEditDashboards as BulkEditDashboards, index$6_BulkFetchIssues as BulkFetchIssues, index$6_BulkGetGroups as BulkGetGroups, index$6_BulkGetUsers as BulkGetUsers, index$6_BulkGetUsersMigration as BulkGetUsersMigration, index$6_BulkMoveWorklogs as BulkMoveWorklogs, index$6_BulkSetIssuePropertiesByIssue as BulkSetIssuePropertiesByIssue, index$6_BulkSetIssueProperty as BulkSetIssueProperty, index$6_BulkSetIssuesProperties as BulkSetIssuesProperties, index$6_CancelTask as CancelTask, index$6_ChangeFilterOwner as ChangeFilterOwner, index$6_CopyDashboard as CopyDashboard, index$6_CountIssues as CountIssues, index$6_CreateAssociations as CreateAssociations, index$6_CreateComponent as CreateComponent, index$6_CreateCustomField as CreateCustomField, index$6_CreateCustomFieldContext as CreateCustomFieldContext, index$6_CreateCustomFieldOption as CreateCustomFieldOption, index$6_CreateDashboard as CreateDashboard, index$6_CreateFieldConfiguration as CreateFieldConfiguration, index$6_CreateFieldConfigurationScheme as CreateFieldConfigurationScheme, index$6_CreateFilter as CreateFilter, index$6_CreateGroup as CreateGroup, index$6_CreateIssue as CreateIssue, index$6_CreateIssueFieldOption as CreateIssueFieldOption, index$6_CreateIssueLinkType as CreateIssueLinkType, index$6_CreateIssueSecurityScheme as CreateIssueSecurityScheme, index$6_CreateIssueType as CreateIssueType, index$6_CreateIssueTypeAvatar as CreateIssueTypeAvatar, index$6_CreateIssueTypeScheme as CreateIssueTypeScheme, index$6_CreateIssueTypeScreenScheme as CreateIssueTypeScreenScheme, index$6_CreateIssues as CreateIssues, index$6_CreateNotificationScheme as CreateNotificationScheme, index$6_CreateOrUpdateRemoteIssueLink as CreateOrUpdateRemoteIssueLink, index$6_CreatePermissionGrant as CreatePermissionGrant, index$6_CreatePermissionScheme as CreatePermissionScheme, index$6_CreatePlan as CreatePlan, index$6_CreatePlanOnlyTeam as CreatePlanOnlyTeam, index$6_CreatePriority as CreatePriority, index$6_CreatePriorityScheme as CreatePriorityScheme, index$6_CreateProject as CreateProject, index$6_CreateProjectAvatar as CreateProjectAvatar, index$6_CreateProjectCategory as CreateProjectCategory, index$6_CreateProjectRole as CreateProjectRole, index$6_CreateProjectWithCustomTemplate as CreateProjectWithCustomTemplate, index$6_CreateRelatedWork as CreateRelatedWork, index$6_CreateResolution as CreateResolution, index$6_CreateScreen as CreateScreen, index$6_CreateScreenScheme as CreateScreenScheme, index$6_CreateStatuses as CreateStatuses, index$6_CreateUiModification as CreateUiModification, index$6_CreateUser as CreateUser, index$6_CreateVersion as CreateVersion, index$6_CreateWorkflow as CreateWorkflow, index$6_CreateWorkflowScheme as CreateWorkflowScheme, index$6_CreateWorkflowSchemeDraftFromParent as CreateWorkflowSchemeDraftFromParent, index$6_CreateWorkflowTransitionProperty as CreateWorkflowTransitionProperty, index$6_CreateWorkflows as CreateWorkflows, index$6_DeleteActor as DeleteActor, index$6_DeleteAddonProperty as DeleteAddonProperty, index$6_DeleteAndReplaceVersion as DeleteAndReplaceVersion, index$6_DeleteAppProperty as DeleteAppProperty, index$6_DeleteAvatar as DeleteAvatar, index$6_DeleteComment as DeleteComment, index$6_DeleteCommentProperty as DeleteCommentProperty, index$6_DeleteComponent as DeleteComponent, index$6_DeleteCustomField as DeleteCustomField, index$6_DeleteCustomFieldContext as DeleteCustomFieldContext, index$6_DeleteCustomFieldOption as DeleteCustomFieldOption, index$6_DeleteDashboard as DeleteDashboard, index$6_DeleteDashboardItemProperty as DeleteDashboardItemProperty, index$6_DeleteDefaultWorkflow as DeleteDefaultWorkflow, index$6_DeleteDraftDefaultWorkflow as DeleteDraftDefaultWorkflow, index$6_DeleteDraftWorkflowMapping as DeleteDraftWorkflowMapping, index$6_DeleteFavouriteForFilter as DeleteFavouriteForFilter, index$6_DeleteFieldConfiguration as DeleteFieldConfiguration, index$6_DeleteFieldConfigurationScheme as DeleteFieldConfigurationScheme, index$6_DeleteFilter as DeleteFilter, index$6_DeleteInactiveWorkflow as DeleteInactiveWorkflow, index$6_DeleteIssue as DeleteIssue, index$6_DeleteIssueFieldOption as DeleteIssueFieldOption, index$6_DeleteIssueLink as DeleteIssueLink, index$6_DeleteIssueLinkType as DeleteIssueLinkType, index$6_DeleteIssueProperty as DeleteIssueProperty, index$6_DeleteIssueType as DeleteIssueType, index$6_DeleteIssueTypeProperty as DeleteIssueTypeProperty, index$6_DeleteIssueTypeScheme as DeleteIssueTypeScheme, index$6_DeleteIssueTypeScreenScheme as DeleteIssueTypeScreenScheme, index$6_DeleteNotificationScheme as DeleteNotificationScheme, index$6_DeletePermissionScheme as DeletePermissionScheme, index$6_DeletePermissionSchemeEntity as DeletePermissionSchemeEntity, index$6_DeletePlanOnlyTeam as DeletePlanOnlyTeam, index$6_DeletePriority as DeletePriority, index$6_DeletePriorityScheme as DeletePriorityScheme, index$6_DeleteProject as DeleteProject, index$6_DeleteProjectAsynchronously as DeleteProjectAsynchronously, index$6_DeleteProjectAvatar as DeleteProjectAvatar, index$6_DeleteProjectProperty as DeleteProjectProperty, index$6_DeleteProjectRole as DeleteProjectRole, index$6_DeleteProjectRoleActorsFromRole as DeleteProjectRoleActorsFromRole, index$6_DeleteRelatedWork as DeleteRelatedWork, index$6_DeleteRemoteIssueLinkByGlobalId as DeleteRemoteIssueLinkByGlobalId, index$6_DeleteRemoteIssueLinkById as DeleteRemoteIssueLinkById, index$6_DeleteResolution as DeleteResolution, index$6_DeleteScreen as DeleteScreen, index$6_DeleteScreenScheme as DeleteScreenScheme, index$6_DeleteScreenTab as DeleteScreenTab, index$6_DeleteSecurityScheme as DeleteSecurityScheme, index$6_DeleteSharePermission as DeleteSharePermission, index$6_DeleteStatusesById as DeleteStatusesById, index$6_DeleteUiModification as DeleteUiModification, index$6_DeleteUserProperty as DeleteUserProperty, index$6_DeleteWebhookById as DeleteWebhookById, index$6_DeleteWorkflowMapping as DeleteWorkflowMapping, index$6_DeleteWorkflowScheme as DeleteWorkflowScheme, index$6_DeleteWorkflowSchemeDraft as DeleteWorkflowSchemeDraft, index$6_DeleteWorkflowSchemeDraftIssueType as DeleteWorkflowSchemeDraftIssueType, index$6_DeleteWorkflowSchemeIssueType as DeleteWorkflowSchemeIssueType, index$6_DeleteWorkflowTransitionProperty as DeleteWorkflowTransitionProperty, index$6_DeleteWorkflowTransitionRuleConfigurations as DeleteWorkflowTransitionRuleConfigurations, index$6_DeleteWorklog as DeleteWorklog, index$6_DeleteWorklogProperty as DeleteWorklogProperty, index$6_DoTransition as DoTransition, index$6_DuplicatePlan as DuplicatePlan, index$6_EditIssue as EditIssue, index$6_EvaluateJiraExpression as EvaluateJiraExpression, index$6_EvaluateJiraExpressionUsingEnhancedSearch as EvaluateJiraExpressionUsingEnhancedSearch, index$6_ExpandAttachmentForHumans as ExpandAttachmentForHumans, index$6_ExpandAttachmentForMachines as ExpandAttachmentForMachines, index$6_ExportArchivedIssues as ExportArchivedIssues, index$6_FindAssignableUsers as FindAssignableUsers, index$6_FindBulkAssignableUsers as FindBulkAssignableUsers, index$6_FindComponentsForProjects as FindComponentsForProjects, index$6_FindGroups as FindGroups, index$6_FindUserKeysByQuery as FindUserKeysByQuery, index$6_FindUsers as FindUsers, index$6_FindUsersAndGroups as FindUsersAndGroups, index$6_FindUsersByQuery as FindUsersByQuery, index$6_FindUsersForPicker as FindUsersForPicker, index$6_FindUsersWithAllPermissions as FindUsersWithAllPermissions, index$6_FindUsersWithBrowsePermission as FindUsersWithBrowsePermission, index$6_FullyUpdateProjectRole as FullyUpdateProjectRole, index$6_GetAccessibleProjectTypeByKey as GetAccessibleProjectTypeByKey, index$6_GetAddonProperties as GetAddonProperties, index$6_GetAddonProperty as GetAddonProperty, index$6_GetAllDashboards as GetAllDashboards, index$6_GetAllFieldConfigurationSchemes as GetAllFieldConfigurationSchemes, index$6_GetAllFieldConfigurations as GetAllFieldConfigurations, index$6_GetAllGadgets as GetAllGadgets, index$6_GetAllIssueFieldOptions as GetAllIssueFieldOptions, index$6_GetAllIssueTypeSchemes as GetAllIssueTypeSchemes, index$6_GetAllLabels as GetAllLabels, index$6_GetAllPermissionSchemes as GetAllPermissionSchemes, index$6_GetAllProjectAvatars as GetAllProjectAvatars, index$6_GetAllScreenTabFields as GetAllScreenTabFields, index$6_GetAllScreenTabs as GetAllScreenTabs, index$6_GetAllStatuses as GetAllStatuses, index$6_GetAllSystemAvatars as GetAllSystemAvatars, index$6_GetAllUserDataClassificationLevels as GetAllUserDataClassificationLevels, index$6_GetAllUsers as GetAllUsers, index$6_GetAllUsersDefault as GetAllUsersDefault, index$6_GetAllWorkflowSchemes as GetAllWorkflowSchemes, index$6_GetAlternativeIssueTypes as GetAlternativeIssueTypes, index$6_GetApplicationProperty as GetApplicationProperty, index$6_GetApplicationRole as GetApplicationRole, index$6_GetAssignedPermissionScheme as GetAssignedPermissionScheme, index$6_GetAtlassianTeam as GetAtlassianTeam, index$6_GetAttachment as GetAttachment, GetAttachmentContent$1 as GetAttachmentContent, GetAttachmentThumbnail$1 as GetAttachmentThumbnail, index$6_GetAuditRecords as GetAuditRecords, index$6_GetAutoCompletePost as GetAutoCompletePost, index$6_GetAvailablePrioritiesByPriorityScheme as GetAvailablePrioritiesByPriorityScheme, index$6_GetAvailableScreenFields as GetAvailableScreenFields, index$6_GetAvailableTransitions as GetAvailableTransitions, index$6_GetAvatarImageByID as GetAvatarImageByID, index$6_GetAvatarImageByOwner as GetAvatarImageByOwner, index$6_GetAvatarImageByType as GetAvatarImageByType, index$6_GetAvatars as GetAvatars, index$6_GetBulkChangelogs as GetBulkChangelogs, index$6_GetBulkEditableFields as GetBulkEditableFields, index$6_GetBulkOperationProgress as GetBulkOperationProgress, index$6_GetBulkPermissions as GetBulkPermissions, index$6_GetBulkScreenTabs as GetBulkScreenTabs, index$6_GetChangeLogs as GetChangeLogs, index$6_GetChangeLogsByIds as GetChangeLogsByIds, index$6_GetColumns as GetColumns, index$6_GetComment as GetComment, index$6_GetCommentProperty as GetCommentProperty, index$6_GetCommentPropertyKeys as GetCommentPropertyKeys, index$6_GetComments as GetComments, index$6_GetCommentsByIds as GetCommentsByIds, index$6_GetComponent as GetComponent, index$6_GetComponentRelatedIssues as GetComponentRelatedIssues, index$6_GetContextsForField as GetContextsForField, index$6_GetCreateIssueMeta as GetCreateIssueMeta, index$6_GetCreateIssueMetaIssueTypeId as GetCreateIssueMetaIssueTypeId, index$6_GetCreateIssueMetaIssueTypes as GetCreateIssueMetaIssueTypes, index$6_GetCurrentUser as GetCurrentUser, index$6_GetCustomFieldConfiguration as GetCustomFieldConfiguration, index$6_GetCustomFieldContextsForProjectsAndIssueTypes as GetCustomFieldContextsForProjectsAndIssueTypes, index$6_GetCustomFieldOption as GetCustomFieldOption, index$6_GetCustomFieldsConfigurations as GetCustomFieldsConfigurations, index$6_GetDashboard as GetDashboard, index$6_GetDashboardItemProperty as GetDashboardItemProperty, index$6_GetDashboardItemPropertyKeys as GetDashboardItemPropertyKeys, index$6_GetDashboardsPaginated as GetDashboardsPaginated, index$6_GetDefaultProjectClassification as GetDefaultProjectClassification, index$6_GetDefaultValues as GetDefaultValues, index$6_GetDefaultWorkflow as GetDefaultWorkflow, index$6_GetDraftDefaultWorkflow as GetDraftDefaultWorkflow, index$6_GetDraftWorkflow as GetDraftWorkflow, index$6_GetDynamicWebhooksForApp as GetDynamicWebhooksForApp, index$6_GetEditIssueMeta as GetEditIssueMeta, index$6_GetFailedWebhooks as GetFailedWebhooks, index$6_GetFavouriteFilters as GetFavouriteFilters, index$6_GetFeaturesForProject as GetFeaturesForProject, index$6_GetFieldAutoCompleteForQueryString as GetFieldAutoCompleteForQueryString, index$6_GetFieldConfigurationItems as GetFieldConfigurationItems, index$6_GetFieldConfigurationSchemeMappings as GetFieldConfigurationSchemeMappings, index$6_GetFieldConfigurationSchemeProjectMapping as GetFieldConfigurationSchemeProjectMapping, index$6_GetFieldsPaginated as GetFieldsPaginated, index$6_GetFilter as GetFilter, index$6_GetFiltersPaginated as GetFiltersPaginated, index$6_GetHierarchy as GetHierarchy, index$6_GetIdsOfWorklogsDeletedSince as GetIdsOfWorklogsDeletedSince, index$6_GetIdsOfWorklogsModifiedSince as GetIdsOfWorklogsModifiedSince, index$6_GetIsWatchingIssueBulk as GetIsWatchingIssueBulk, index$6_GetIssue as GetIssue, index$6_GetIssueFieldOption as GetIssueFieldOption, index$6_GetIssueLimitReport as GetIssueLimitReport, index$6_GetIssueLink as GetIssueLink, index$6_GetIssueLinkType as GetIssueLinkType, index$6_GetIssuePickerResource as GetIssuePickerResource, index$6_GetIssueProperty as GetIssueProperty, index$6_GetIssuePropertyKeys as GetIssuePropertyKeys, index$6_GetIssueSecurityLevel as GetIssueSecurityLevel, index$6_GetIssueSecurityLevelMembers as GetIssueSecurityLevelMembers, index$6_GetIssueSecurityScheme as GetIssueSecurityScheme, index$6_GetIssueType as GetIssueType, index$6_GetIssueTypeMappingsForContexts as GetIssueTypeMappingsForContexts, index$6_GetIssueTypeProperty as GetIssueTypeProperty, index$6_GetIssueTypePropertyKeys as GetIssueTypePropertyKeys, index$6_GetIssueTypeSchemeForProjects as GetIssueTypeSchemeForProjects, index$6_GetIssueTypeSchemesMapping as GetIssueTypeSchemesMapping, index$6_GetIssueTypeScreenSchemeMappings as GetIssueTypeScreenSchemeMappings, index$6_GetIssueTypeScreenSchemeProjectAssociations as GetIssueTypeScreenSchemeProjectAssociations, index$6_GetIssueTypeScreenSchemes as GetIssueTypeScreenSchemes, index$6_GetIssueTypesForProject as GetIssueTypesForProject, index$6_GetIssueWatchers as GetIssueWatchers, index$6_GetIssueWorklog as GetIssueWorklog, index$6_GetMyFilters as GetMyFilters, index$6_GetMyPermissions as GetMyPermissions, index$6_GetNotificationScheme as GetNotificationScheme, index$6_GetNotificationSchemeForProject as GetNotificationSchemeForProject, index$6_GetNotificationSchemeToProjectMappings as GetNotificationSchemeToProjectMappings, index$6_GetNotificationSchemes as GetNotificationSchemes, index$6_GetOptionsForContext as GetOptionsForContext, index$6_GetPermissionScheme as GetPermissionScheme, index$6_GetPermissionSchemeGrant as GetPermissionSchemeGrant, index$6_GetPermissionSchemeGrants as GetPermissionSchemeGrants, index$6_GetPermittedProjects as GetPermittedProjects, index$6_GetPlan as GetPlan, index$6_GetPlanOnlyTeam as GetPlanOnlyTeam, index$6_GetPlans as GetPlans, index$6_GetPolicies as GetPolicies, index$6_GetPrecomputations as GetPrecomputations, index$6_GetPrecomputationsByID as GetPrecomputationsByID, index$6_GetPreference as GetPreference, index$6_GetPrioritiesByPriorityScheme as GetPrioritiesByPriorityScheme, index$6_GetPriority as GetPriority, index$6_GetPrioritySchemes as GetPrioritySchemes, index$6_GetProject as GetProject, index$6_GetProjectCategoryById as GetProjectCategoryById, index$6_GetProjectComponents as GetProjectComponents, index$6_GetProjectComponentsPaginated as GetProjectComponentsPaginated, index$6_GetProjectContextMapping as GetProjectContextMapping, index$6_GetProjectEmail as GetProjectEmail, index$6_GetProjectIssueSecurityScheme as GetProjectIssueSecurityScheme, index$6_GetProjectIssueTypeUsagesForStatus as GetProjectIssueTypeUsagesForStatus, index$6_GetProjectProperty as GetProjectProperty, index$6_GetProjectPropertyKeys as GetProjectPropertyKeys, index$6_GetProjectRole as GetProjectRole, index$6_GetProjectRoleActorsForRole as GetProjectRoleActorsForRole, index$6_GetProjectRoleById as GetProjectRoleById, index$6_GetProjectRoleDetails as GetProjectRoleDetails, index$6_GetProjectRoles as GetProjectRoles, index$6_GetProjectTypeByKey as GetProjectTypeByKey, index$6_GetProjectUsagesForStatus as GetProjectUsagesForStatus, index$6_GetProjectUsagesForWorkflow as GetProjectUsagesForWorkflow, index$6_GetProjectUsagesForWorkflowScheme as GetProjectUsagesForWorkflowScheme, index$6_GetProjectVersions as GetProjectVersions, index$6_GetProjectVersionsPaginated as GetProjectVersionsPaginated, index$6_GetProjectsByPriorityScheme as GetProjectsByPriorityScheme, index$6_GetProjectsForIssueTypeScreenScheme as GetProjectsForIssueTypeScreenScheme, index$6_GetRecent as GetRecent, index$6_GetRelatedWork as GetRelatedWork, index$6_GetRemoteIssueLinkById as GetRemoteIssueLinkById, index$6_GetRemoteIssueLinks as GetRemoteIssueLinks, index$6_GetResolution as GetResolution, index$6_GetScreenSchemes as GetScreenSchemes, index$6_GetScreens as GetScreens, index$6_GetScreensForField as GetScreensForField, index$6_GetSecurityLevelMembers as GetSecurityLevelMembers, index$6_GetSecurityLevels as GetSecurityLevels, index$6_GetSecurityLevelsForProject as GetSecurityLevelsForProject, index$6_GetSelectableIssueFieldOptions as GetSelectableIssueFieldOptions, index$6_GetSharePermission as GetSharePermission, index$6_GetSharePermissions as GetSharePermissions, index$6_GetStatus as GetStatus, index$6_GetStatusCategory as GetStatusCategory, index$6_GetStatusesById as GetStatusesById, index$6_GetTask as GetTask, index$6_GetTeams as GetTeams, index$6_GetTransitions as GetTransitions, index$6_GetTrashedFieldsPaginated as GetTrashedFieldsPaginated, index$6_GetUiModifications as GetUiModifications, index$6_GetUser as GetUser, index$6_GetUserDefaultColumns as GetUserDefaultColumns, index$6_GetUserEmail as GetUserEmail, index$6_GetUserEmailBulk as GetUserEmailBulk, index$6_GetUserGroups as GetUserGroups, index$6_GetUserNavProperty as GetUserNavProperty, index$6_GetUserProperty as GetUserProperty, index$6_GetUserPropertyKeys as GetUserPropertyKeys, index$6_GetUsersFromGroup as GetUsersFromGroup, index$6_GetValidProjectKey as GetValidProjectKey, index$6_GetValidProjectName as GetValidProjectName, index$6_GetVersion as GetVersion, index$6_GetVersionRelatedIssues as GetVersionRelatedIssues, index$6_GetVersionUnresolvedIssues as GetVersionUnresolvedIssues, index$6_GetVisibleIssueFieldOptions as GetVisibleIssueFieldOptions, index$6_GetVotes as GetVotes, index$6_GetWorkflow as GetWorkflow, index$6_GetWorkflowProjectIssueTypeUsages as GetWorkflowProjectIssueTypeUsages, index$6_GetWorkflowScheme as GetWorkflowScheme, index$6_GetWorkflowSchemeDraft as GetWorkflowSchemeDraft, index$6_GetWorkflowSchemeDraftIssueType as GetWorkflowSchemeDraftIssueType, index$6_GetWorkflowSchemeIssueType as GetWorkflowSchemeIssueType, index$6_GetWorkflowSchemeProjectAssociations as GetWorkflowSchemeProjectAssociations, index$6_GetWorkflowSchemeUsagesForWorkflow as GetWorkflowSchemeUsagesForWorkflow, index$6_GetWorkflowTransitionProperties as GetWorkflowTransitionProperties, index$6_GetWorkflowTransitionRuleConfigurations as GetWorkflowTransitionRuleConfigurations, index$6_GetWorkflowUsagesForStatus as GetWorkflowUsagesForStatus, index$6_GetWorkflowsPaginated as GetWorkflowsPaginated, index$6_GetWorklog as GetWorklog, index$6_GetWorklogProperty as GetWorklogProperty, index$6_GetWorklogPropertyKeys as GetWorklogPropertyKeys, index$6_GetWorklogsForIds as GetWorklogsForIds, index$6_LinkIssues as LinkIssues, index$6_MatchIssues as MatchIssues, index$6_MergeVersions as MergeVersions, index$6_MigrateQueries as MigrateQueries, index$6_MovePriorities as MovePriorities, index$6_MoveResolutions as MoveResolutions, index$6_MoveScreenTab as MoveScreenTab, index$6_MoveScreenTabField as MoveScreenTabField, index$6_MoveVersion as MoveVersion, index$6_Notify as Notify, index$6_ParseJqlQueries as ParseJqlQueries, index$6_PartialUpdateProjectRole as PartialUpdateProjectRole, index$6_PublishDraftWorkflowScheme as PublishDraftWorkflowScheme, index$6_PutAddonProperty as PutAddonProperty, index$6_PutAppProperty as PutAppProperty, index$6_ReadWorkflowSchemes as ReadWorkflowSchemes, index$6_ReadWorkflows as ReadWorkflows, index$6_RefreshWebhooks as RefreshWebhooks, index$6_RegisterDynamicWebhooks as RegisterDynamicWebhooks, index$6_RegisterModules as RegisterModules, index$6_RemoveAssociations as RemoveAssociations, index$6_RemoveAtlassianTeam as RemoveAtlassianTeam, index$6_RemoveAttachment as RemoveAttachment, index$6_RemoveCustomFieldContextFromProjects as RemoveCustomFieldContextFromProjects, index$6_RemoveDefaultProjectClassification as RemoveDefaultProjectClassification, index$6_RemoveGadget as RemoveGadget, index$6_RemoveGroup as RemoveGroup, index$6_RemoveIssueTypeFromIssueTypeScheme as RemoveIssueTypeFromIssueTypeScheme, index$6_RemoveIssueTypesFromContext as RemoveIssueTypesFromContext, index$6_RemoveIssueTypesFromGlobalFieldConfigurationScheme as RemoveIssueTypesFromGlobalFieldConfigurationScheme, index$6_RemoveLevel as RemoveLevel, index$6_RemoveMappingsFromIssueTypeScreenScheme as RemoveMappingsFromIssueTypeScreenScheme, index$6_RemoveMemberFromSecurityLevel as RemoveMemberFromSecurityLevel, index$6_RemoveModules as RemoveModules, index$6_RemoveNotificationFromNotificationScheme as RemoveNotificationFromNotificationScheme, index$6_RemovePreference as RemovePreference, index$6_RemoveProjectCategory as RemoveProjectCategory, index$6_RemoveScreenTabField as RemoveScreenTabField, index$6_RemoveUser as RemoveUser, index$6_RemoveUserFromGroup as RemoveUserFromGroup, index$6_RemoveVote as RemoveVote, index$6_RemoveWatcher as RemoveWatcher, index$6_RenameScreenTab as RenameScreenTab, index$6_ReorderCustomFieldOptions as ReorderCustomFieldOptions, index$6_ReorderIssueTypesInIssueTypeScheme as ReorderIssueTypesInIssueTypeScheme, index$6_ReplaceCustomFieldOption as ReplaceCustomFieldOption, index$6_ReplaceIssueFieldOption as ReplaceIssueFieldOption, index$6_ResetColumns as ResetColumns, index$6_ResetUserColumns as ResetUserColumns, index$6_Restore as Restore, index$6_RestoreCustomField as RestoreCustomField, index$6_SanitiseJqlQueries as SanitiseJqlQueries, index$6_Search as Search, index$6_SearchForIssuesIds as SearchForIssuesIds, index$6_SearchForIssuesUsingJql as SearchForIssuesUsingJql, index$6_SearchForIssuesUsingJqlEnhancedSearch as SearchForIssuesUsingJqlEnhancedSearch, index$6_SearchForIssuesUsingJqlEnhancedSearchPost as SearchForIssuesUsingJqlEnhancedSearchPost, index$6_SearchForIssuesUsingJqlPost as SearchForIssuesUsingJqlPost, index$6_SearchPriorities as SearchPriorities, index$6_SearchProjects as SearchProjects, index$6_SearchProjectsUsingSecuritySchemes as SearchProjectsUsingSecuritySchemes, index$6_SearchResolutions as SearchResolutions, index$6_SearchSecuritySchemes as SearchSecuritySchemes, index$6_SearchWorkflows as SearchWorkflows, index$6_SelectTimeTrackingImplementation as SelectTimeTrackingImplementation, index$6_Services as Services, index$6_SetActors as SetActors, index$6_SetApplicationProperty as SetApplicationProperty, index$6_SetBanner as SetBanner, index$6_SetColumns as SetColumns, index$6_SetCommentProperty as SetCommentProperty, index$6_SetDashboardItemProperty as SetDashboardItemProperty, index$6_SetDefaultLevels as SetDefaultLevels, index$6_SetDefaultPriority as SetDefaultPriority, index$6_SetDefaultResolution as SetDefaultResolution, index$6_SetDefaultShareScope as SetDefaultShareScope, index$6_SetDefaultValues as SetDefaultValues, index$6_SetFavouriteForFilter as SetFavouriteForFilter, index$6_SetFieldConfigurationSchemeMapping as SetFieldConfigurationSchemeMapping, index$6_SetIssueProperty as SetIssueProperty, index$6_SetIssueTypeProperty as SetIssueTypeProperty, index$6_SetPreference as SetPreference, index$6_SetProjectProperty as SetProjectProperty, index$6_SetSharedTimeTrackingConfiguration as SetSharedTimeTrackingConfiguration, index$6_SetUserColumns as SetUserColumns, index$6_SetUserNavProperty as SetUserNavProperty, index$6_SetUserProperty as SetUserProperty, index$6_SetWorkflowSchemeDraftIssueType as SetWorkflowSchemeDraftIssueType, index$6_SetWorkflowSchemeIssueType as SetWorkflowSchemeIssueType, index$6_SetWorklogProperty as SetWorklogProperty, index$6_StoreAvatar as StoreAvatar, index$6_SubmitBulkDelete as SubmitBulkDelete, index$6_SubmitBulkEdit as SubmitBulkEdit, index$6_SubmitBulkMove as SubmitBulkMove, index$6_SubmitBulkTransition as SubmitBulkTransition, index$6_SubmitBulkUnwatch as SubmitBulkUnwatch, index$6_SubmitBulkWatch as SubmitBulkWatch, index$6_SuggestedPrioritiesForMappings as SuggestedPrioritiesForMappings, index$6_ToggleFeatureForProject as ToggleFeatureForProject, index$6_TrashCustomField as TrashCustomField, index$6_TrashPlan as TrashPlan, index$6_UnarchiveIssues as UnarchiveIssues, index$6_UpdateAtlassianTeam as UpdateAtlassianTeam, index$6_UpdateComment as UpdateComment, index$6_UpdateComponent as UpdateComponent, index$6_UpdateCustomField as UpdateCustomField, index$6_UpdateCustomFieldConfiguration as UpdateCustomFieldConfiguration, index$6_UpdateCustomFieldContext as UpdateCustomFieldContext, index$6_UpdateCustomFieldOption as UpdateCustomFieldOption, index$6_UpdateCustomFieldValue as UpdateCustomFieldValue, index$6_UpdateDashboard as UpdateDashboard, index$6_UpdateDefaultProjectClassification as UpdateDefaultProjectClassification, index$6_UpdateDefaultScreenScheme as UpdateDefaultScreenScheme, index$6_UpdateDefaultWorkflow as UpdateDefaultWorkflow, index$6_UpdateDraftDefaultWorkflow as UpdateDraftDefaultWorkflow, index$6_UpdateDraftWorkflowMapping as UpdateDraftWorkflowMapping, index$6_UpdateEntityPropertiesValue as UpdateEntityPropertiesValue, index$6_UpdateFieldConfiguration as UpdateFieldConfiguration, index$6_UpdateFieldConfigurationItems as UpdateFieldConfigurationItems, index$6_UpdateFieldConfigurationScheme as UpdateFieldConfigurationScheme, index$6_UpdateFilter as UpdateFilter, index$6_UpdateGadget as UpdateGadget, index$6_UpdateIssueFieldOption as UpdateIssueFieldOption, index$6_UpdateIssueFields as UpdateIssueFields, index$6_UpdateIssueLinkType as UpdateIssueLinkType, index$6_UpdateIssueSecurityScheme as UpdateIssueSecurityScheme, index$6_UpdateIssueType as UpdateIssueType, index$6_UpdateIssueTypeScheme as UpdateIssueTypeScheme, index$6_UpdateIssueTypeScreenScheme as UpdateIssueTypeScreenScheme, index$6_UpdateMultipleCustomFieldValues as UpdateMultipleCustomFieldValues, index$6_UpdateNotificationScheme as UpdateNotificationScheme, index$6_UpdatePermissionScheme as UpdatePermissionScheme, index$6_UpdatePlan as UpdatePlan, index$6_UpdatePlanOnlyTeam as UpdatePlanOnlyTeam, index$6_UpdatePrecomputations as UpdatePrecomputations, index$6_UpdatePriority as UpdatePriority, index$6_UpdatePriorityScheme as UpdatePriorityScheme, index$6_UpdateProject as UpdateProject, index$6_UpdateProjectAvatar as UpdateProjectAvatar, index$6_UpdateProjectCategory as UpdateProjectCategory, index$6_UpdateProjectEmail as UpdateProjectEmail, index$6_UpdateRelatedWork as UpdateRelatedWork, index$6_UpdateRemoteIssueLink as UpdateRemoteIssueLink, index$6_UpdateResolution as UpdateResolution, index$6_UpdateSchemes as UpdateSchemes, index$6_UpdateScreen as UpdateScreen, index$6_UpdateScreenScheme as UpdateScreenScheme, index$6_UpdateSecurityLevel as UpdateSecurityLevel, index$6_UpdateStatuses as UpdateStatuses, index$6_UpdateUiModification as UpdateUiModification, index$6_UpdateVersion as UpdateVersion, index$6_UpdateWorkflowMapping as UpdateWorkflowMapping, index$6_UpdateWorkflowScheme as UpdateWorkflowScheme, index$6_UpdateWorkflowSchemeDraft as UpdateWorkflowSchemeDraft, index$6_UpdateWorkflowSchemeMappings as UpdateWorkflowSchemeMappings, index$6_UpdateWorkflowTransitionProperty as UpdateWorkflowTransitionProperty, index$6_UpdateWorkflowTransitionRuleConfigurations as UpdateWorkflowTransitionRuleConfigurations, index$6_UpdateWorkflows as UpdateWorkflows, index$6_UpdateWorklog as UpdateWorklog, index$6_ValidateCreateWorkflows as ValidateCreateWorkflows, index$6_ValidateProjectKey as ValidateProjectKey, index$6_ValidateUpdateWorkflows as ValidateUpdateWorkflows, index$6_WorkflowCapabilities as WorkflowCapabilities, index$6_WorkflowRuleSearch as WorkflowRuleSearch };
}

declare class AnnouncementBanner {
    private client;
    constructor(client: Client);
    /**
     * Returns the current announcement banner configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getBanner<T = AnnouncementBannerConfiguration>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the current announcement banner configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getBanner<T = AnnouncementBannerConfiguration>(callback?: never): Promise<T>;
    /**
     * Updates the announcement banner configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setBanner<T = void>(parameters: SetBanner | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Updates the announcement banner configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setBanner<T = void>(parameters?: SetBanner, callback?: never): Promise<T>;
}

declare class AppDataPolicies {
    private client;
    constructor(client: Client);
    /** Returns data policy for the workspace. */
    getPolicy<T = WorkspaceDataPolicy>(callback: Callback<T>): Promise<void>;
    /** Returns data policy for the workspace. */
    getPolicy<T = WorkspaceDataPolicy>(callback?: never): Promise<T>;
    /** Returns data policies for the projects specified in the request. */
    getPolicies<T = ProjectDataPolicies>(parameters: GetPolicies, callback: Callback<T>): Promise<void>;
    /** Returns data policies for the projects specified in the request. */
    getPolicies<T = ProjectDataPolicies>(parameters: GetPolicies, callback?: never): Promise<T>;
}

declare class ApplicationRoles {
    private client;
    constructor(client: Client);
    /**
     * Returns all application roles. In Jira, application roles are managed using the [Application access
     * configuration](https://confluence.atlassian.com/x/3YxjL) page.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllApplicationRoles<T = ApplicationRole[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all application roles. In Jira, application roles are managed using the [Application access
     * configuration](https://confluence.atlassian.com/x/3YxjL) page.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllApplicationRoles<T = ApplicationRole[]>(callback?: never): Promise<T>;
    /**
     * Returns an application role.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApplicationRole<T = ApplicationRole>(parameters: GetApplicationRole | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns an application role.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApplicationRole<T = ApplicationRole>(parameters: GetApplicationRole | string, callback?: never): Promise<T>;
}

declare class AppMigration {
    private client;
    constructor(client: Client);
    /**
     * Updates the value of a custom field added by Connect apps on one or more issues. The values of up to 200 custom
     * fields can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request
     */
    updateIssueFields<T = unknown>(parameters: UpdateIssueFields, callback: Callback<T>): Promise<void>;
    /**
     * Updates the value of a custom field added by Connect apps on one or more issues. The values of up to 200 custom
     * fields can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request
     */
    updateIssueFields<T = unknown>(parameters: UpdateIssueFields, callback?: never): Promise<T>;
    /**
     * Updates the values of multiple entity properties for an object, up to 50 updates per request. This operation is for
     * use by Connect apps during app migration.
     */
    updateEntityPropertiesValue<T = unknown>(parameters: UpdateEntityPropertiesValue, callback: Callback<T>): Promise<void>;
    /**
     * Updates the values of multiple entity properties for an object, up to 50 updates per request. This operation is for
     * use by Connect apps during app migration.
     */
    updateEntityPropertiesValue<T = unknown>(parameters: UpdateEntityPropertiesValue, callback?: never): Promise<T>;
    /**
     * Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect
     * app.
     */
    workflowRuleSearch<T = WorkflowRulesSearchDetails>(parameters: WorkflowRuleSearch, callback: Callback<T>): Promise<void>;
    /**
     * Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect
     * app.
     */
    workflowRuleSearch<T = WorkflowRulesSearchDetails>(parameters: WorkflowRuleSearch, callback?: never): Promise<T>;
}

declare class AppProperties {
    private client;
    constructor(client: Client);
    /**
     * Gets all the properties of an app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    getAddonProperties<T = PropertyKeys$1>(parameters: GetAddonProperties | string, callback: Callback<T>): Promise<void>;
    /**
     * Gets all the properties of an app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    getAddonProperties<T = PropertyKeys$1>(parameters: GetAddonProperties | string, callback?: never): Promise<T>;
    /**
     * Returns the key and value of an app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    getAddonProperty<T = EntityProperty$1>(parameters: GetAddonProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the key and value of an app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    getAddonProperty<T = EntityProperty$1>(parameters: GetAddonProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of an app's property. Use this resource to store custom data for your app.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    putAddonProperty<T = OperationMessage>(parameters: PutAddonProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of an app's property. Use this resource to store custom data for your app.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    putAddonProperty<T = OperationMessage>(parameters: PutAddonProperty, callback?: never): Promise<T>;
    /**
     * Deletes an app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    deleteAddonProperty<T = void>(parameters: DeleteAddonProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only a
     * Connect app whose key matches `addonKey` can make this request. Additionally, Forge apps can access Connect app
     * properties (stored against the same `app.connect.key`).
     */
    deleteAddonProperty<T = void>(parameters: DeleteAddonProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of a Forge app's property. These values can be retrieved in [Jira
     * expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) through the `app` [context
     * variable](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables).
     *
     * For other use cases, use the [Storage
     * API](https://developer.atlassian.com/platform/forge/runtime-reference/storage-api/).
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Forge apps can make this request.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    putAppProperty<T = OperationMessage>(parameters: PutAppProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a Forge app's property. These values can be retrieved in [Jira
     * expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) through the `app` [context
     * variable](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables).
     *
     * For other use cases, use the [Storage
     * API](https://developer.atlassian.com/platform/forge/runtime-reference/storage-api/).
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Forge apps can make this request.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    putAppProperty<T = OperationMessage>(parameters: PutAppProperty, callback?: never): Promise<T>;
    /**
     * Deletes a Forge app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Forge apps can make this request.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    deleteAppProperty<T = void>(parameters: DeleteAppProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a Forge app's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Forge apps can make this request.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    deleteAppProperty<T = void>(parameters: DeleteAppProperty, callback?: never): Promise<T>;
}

declare class AuditRecords {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of audit records. The list can be filtered to include items:
     *
     * - Where each item in `filter` has at least one match in any of these fields:
     *
     *   - `summary`
     *   - `category`
     *   - `eventSource`
     *   - `objectItem.name` If the object is a user, account ID is available to filter.
     *   - `objectItem.parentName`
     *   - `objectItem.typeName`
     *   - `changedValues.changedFrom`
     *   - `changedValues.changedTo`
     *   - `remoteAddress`
     *
     *   For example, if `filter` contains _man ed_, an audit record containing `summary": "User added to group"` and
     *   `"category": "group management"` is returned.
     * - Created on or after a date and time.
     * - Created on or before a date and time.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAuditRecords<T = AuditRecords$1>(parameters: GetAuditRecords | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of audit records. The list can be filtered to include items:
     *
     * - Where each item in `filter` has at least one match in any of these fields:
     *
     *   - `summary`
     *   - `category`
     *   - `eventSource`
     *   - `objectItem.name` If the object is a user, account ID is available to filter.
     *   - `objectItem.parentName`
     *   - `objectItem.typeName`
     *   - `changedValues.changedFrom`
     *   - `changedValues.changedTo`
     *   - `remoteAddress`
     *
     *   For example, if `filter` contains _man ed_, an audit record containing `summary": "User added to group"` and
     *   `"category": "group management"` is returned.
     * - Created on or after a date and time.
     * - Created on or before a date and time.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAuditRecords<T = AuditRecords$1>(parameters?: GetAuditRecords, callback?: never): Promise<T>;
}

declare class Avatars {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of system avatar details by owner type, where the owner types are issue type, project, user or
     * priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllSystemAvatars<T = SystemAvatars>(parameters: GetAllSystemAvatars | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of system avatar details by owner type, where the owner types are issue type, project, user or
     * priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllSystemAvatars<T = SystemAvatars>(parameters: GetAllSystemAvatars | string, callback?: never): Promise<T>;
    /**
     * Returns the system and custom avatars for a project, issue type or priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For system avatars, none.
     * - For priority avatars, none.
     */
    getAvatars<T = Avatars$1>(parameters: GetAvatars, callback: Callback<T>): Promise<void>;
    /**
     * Returns the system and custom avatars for a project, issue type or priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For system avatars, none.
     * - For priority avatars, none.
     */
    getAvatars<T = Avatars$1>(parameters: GetAvatars, callback?: never): Promise<T>;
    /**
     * Loads a custom avatar for a project, issue type or priority.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar use:
     *
     * - [Update issue
     *   type](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-types/#api-rest-api-3-issuetype-id-put)
     *   to set it as the issue type's displayed avatar.
     * - [Set project
     *   avatar](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-avatars/#api-rest-api-3-project-projectidorkey-avatar-put)
     *   to set it as the project's displayed avatar.
     * - [Update
     *   priority](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-priorities/#api-rest-api-3-priority-id-put)
     *   to set it as the priority's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    storeAvatar<T = Avatar>(parameters: StoreAvatar, callback: Callback<T>): Promise<void>;
    /**
     * Loads a custom avatar for a project, issue type or priority.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar use:
     *
     * - [Update issue
     *   type](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-types/#api-rest-api-3-issuetype-id-put)
     *   to set it as the issue type's displayed avatar.
     * - [Set project
     *   avatar](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-avatars/#api-rest-api-3-project-projectidorkey-avatar-put)
     *   to set it as the project's displayed avatar.
     * - [Update
     *   priority](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-priorities/#api-rest-api-3-priority-id-put)
     *   to set it as the priority's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    storeAvatar<T = Avatar>(parameters: StoreAvatar, callback?: never): Promise<T>;
    /**
     * Deletes an avatar from a project, issue type or priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteAvatar<T = void>(parameters: DeleteAvatar, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an avatar from a project, issue type or priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteAvatar<T = void>(parameters: DeleteAvatar, callback?: never): Promise<T>;
    /**
     * Returns the default project, issue type or priority avatar image.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAvatarImageByType<T = AvatarWithDetails>(parameters: GetAvatarImageByType | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default project, issue type or priority avatar image.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAvatarImageByType<T = AvatarWithDetails>(parameters: GetAvatarImageByType | string, callback?: never): Promise<T>;
    /**
     * Returns a project, issue type or priority avatar image by ID.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - For system avatars, none.
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For priority avatars, none.
     */
    getAvatarImageByID<T = AvatarWithDetails>(parameters: GetAvatarImageByID, callback: Callback<T>): Promise<void>;
    /**
     * Returns a project, issue type or priority avatar image by ID.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - For system avatars, none.
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For priority avatars, none.
     */
    getAvatarImageByID<T = AvatarWithDetails>(parameters: GetAvatarImageByID, callback?: never): Promise<T>;
    /**
     * Returns the avatar image for a project, issue type or priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - For system avatars, none.
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For priority avatars, none.
     */
    getAvatarImageByOwner<T = AvatarWithDetails>(parameters: GetAvatarImageByOwner, callback: Callback<T>): Promise<void>;
    /**
     * Returns the avatar image for a project, issue type or priority.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - For system avatars, none.
     * - For custom project avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for
     *   the project the avatar belongs to.
     * - For custom issue type avatars, _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for at least one project the issue type is used in.
     * - For priority avatars, none.
     */
    getAvatarImageByOwner<T = AvatarWithDetails>(parameters: GetAvatarImageByOwner, callback?: never): Promise<T>;
}

declare class ClassificationLevels {
    private client;
    constructor(client: Client);
    /**
     * Returns all classification levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllUserDataClassificationLevels<T = DataClassificationLevels>(parameters: GetAllUserDataClassificationLevels | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all classification levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllUserDataClassificationLevels<T = DataClassificationLevels>(parameters?: GetAllUserDataClassificationLevels, callback?: never): Promise<T>;
}

declare class Dashboards {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or
     * owned dashboards.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllDashboards<T = PageOfDashboards>(parameters: GetAllDashboards | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or
     * owned dashboards.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllDashboards<T = PageOfDashboards>(parameters?: GetAllDashboards, callback?: never): Promise<T>;
    /**
     * Creates a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    createDashboard<T = Dashboard>(parameters: CreateDashboard, callback: Callback<T>): Promise<void>;
    /**
     * Creates a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    createDashboard<T = Dashboard>(parameters: CreateDashboard, callback?: never): Promise<T>;
    /**
     * Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None
     *
     * The dashboards to be updated must be owned by the user, or the user must be an administrator.
     */
    bulkEditDashboards<T = BulkEditShareableEntity>(parameters: BulkEditDashboards, callback: Callback<T>): Promise<void>;
    /**
     * Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None
     *
     * The dashboards to be updated must be owned by the user, or the user must be an administrator.
     */
    bulkEditDashboards<T = BulkEditShareableEntity>(parameters: BulkEditDashboards, callback?: never): Promise<T>;
    /**
     * Gets a list of all available gadgets that can be added to all dashboards.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllAvailableDashboardGadgets<T = AvailableDashboardGadgetsResponse>(callback: Callback<T>): Promise<void>;
    /**
     * Gets a list of all available gadgets that can be added to all dashboards.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllAvailableDashboardGadgets<T = AvailableDashboardGadgetsResponse>(callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * dashboards. This operation is similar to [Get dashboards](#api-rest-api-3-dashboard-get) except that the results
     * can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name.
     * When multiple attributes are specified only filters matching all attributes are returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * following dashboards that match the query parameters are returned:
     *
     * - Dashboards owned by the user. Not returned for anonymous users.
     * - Dashboards shared with a group that the user is a member of. Not returned for anonymous users.
     * - Dashboards shared with a private project that the user can browse. Not returned for anonymous users.
     * - Dashboards shared with a public project.
     * - Dashboards shared with the public.
     */
    getDashboardsPaginated<T = PageDashboard>(parameters: GetDashboardsPaginated | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * dashboards. This operation is similar to [Get dashboards](#api-rest-api-3-dashboard-get) except that the results
     * can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name.
     * When multiple attributes are specified only filters matching all attributes are returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * following dashboards that match the query parameters are returned:
     *
     * - Dashboards owned by the user. Not returned for anonymous users.
     * - Dashboards shared with a group that the user is a member of. Not returned for anonymous users.
     * - Dashboards shared with a private project that the user can browse. Not returned for anonymous users.
     * - Dashboards shared with a public project.
     * - Dashboards shared with the public.
     */
    getDashboardsPaginated<T = PageDashboard>(parameters?: GetDashboardsPaginated, callback?: never): Promise<T>;
    /**
     * Returns a list of dashboard gadgets on a dashboard.
     *
     * This operation returns:
     *
     * - Gadgets from a list of IDs, when `id` is set.
     * - Gadgets with a module key, when `moduleKey` is set.
     * - Gadgets from a list of URIs, when `uri` is set.
     * - All gadgets, when no other parameters are set.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllGadgets<T = DashboardGadgetResponse>(parameters: GetAllGadgets | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of dashboard gadgets on a dashboard.
     *
     * This operation returns:
     *
     * - Gadgets from a list of IDs, when `id` is set.
     * - Gadgets with a module key, when `moduleKey` is set.
     * - Gadgets from a list of URIs, when `uri` is set.
     * - All gadgets, when no other parameters are set.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllGadgets<T = DashboardGadgetResponse>(parameters: GetAllGadgets | string, callback?: never): Promise<T>;
    /**
     * Adds a gadget to a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    addGadget<T = DashboardGadget>(parameters: AddGadget, callback: Callback<T>): Promise<void>;
    /**
     * Adds a gadget to a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    addGadget<T = DashboardGadget>(parameters: AddGadget, callback?: never): Promise<T>;
    /**
     * Changes the title, position, and color of the gadget on a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    updateGadget<T = void>(parameters: UpdateGadget, callback: Callback<T>): Promise<void>;
    /**
     * Changes the title, position, and color of the gadget on a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    updateGadget<T = void>(parameters: UpdateGadget, callback?: never): Promise<T>;
    /**
     * Removes a dashboard gadget from a dashboard.
     *
     * When a gadget is removed from a dashboard, other gadgets in the same column are moved up to fill the emptied
     * position.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    removeGadget<T = void>(parameters: RemoveGadget, callback: Callback<T>): Promise<void>;
    /**
     * Removes a dashboard gadget from a dashboard.
     *
     * When a gadget is removed from a dashboard, other gadgets in the same column are moved up to fill the emptied
     * position.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    removeGadget<T = void>(parameters: RemoveGadget, callback?: never): Promise<T>;
    /**
     * Returns the keys of all properties for a dashboard item.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     * The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when
     * Jira’s anonymous access is permitted.
     */
    getDashboardItemPropertyKeys<T = PropertyKeys$1>(parameters: GetDashboardItemPropertyKeys, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for a dashboard item.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     * The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when
     * Jira’s anonymous access is permitted.
     */
    getDashboardItemPropertyKeys<T = PropertyKeys$1>(parameters: GetDashboardItemPropertyKeys, callback?: never): Promise<T>;
    /**
     * Returns the key and value of a dashboard item property.
     *
     * A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed
     * to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding
     * and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).
     *
     * When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires
     * whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this
     * resource to store the item's content or configuration details. For more information on working with dashboard
     * items, see [ Building a dashboard item for a JIRA Connect
     * add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/)
     * and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/)
     * documentation.
     *
     * There is no resource to set or get dashboard items.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     * The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when
     * Jira’s anonymous access is permitted.
     */
    getDashboardItemProperty<T = EntityProperty$1>(parameters: GetDashboardItemProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the key and value of a dashboard item property.
     *
     * A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed
     * to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding
     * and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).
     *
     * When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires
     * whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this
     * resource to store the item's content or configuration details. For more information on working with dashboard
     * items, see [ Building a dashboard item for a JIRA Connect
     * add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/)
     * and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/)
     * documentation.
     *
     * There is no resource to set or get dashboard items.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     * The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when
     * Jira’s anonymous access is permitted.
     */
    getDashboardItemProperty<T = EntityProperty$1>(parameters: GetDashboardItemProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard
     * item.
     *
     * A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed
     * to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding
     * and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).
     *
     * When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires
     * whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this
     * resource to store the item's content or configuration details. For more information on working with dashboard
     * items, see [ Building a dashboard item for a JIRA Connect
     * add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/)
     * and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/)
     * documentation.
     *
     * There is no resource to set or get dashboard items.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * user must be the owner of the dashboard. Note, users with the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     */
    setDashboardItemProperty<T = unknown>(parameters: SetDashboardItemProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard
     * item.
     *
     * A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed
     * to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding
     * and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).
     *
     * When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires
     * whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this
     * resource to store the item's content or configuration details. For more information on working with dashboard
     * items, see [ Building a dashboard item for a JIRA Connect
     * add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/)
     * and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/)
     * documentation.
     *
     * There is no resource to set or get dashboard items.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * user must be the owner of the dashboard. Note, users with the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     */
    setDashboardItemProperty<T = unknown>(parameters: SetDashboardItemProperty, callback?: never): Promise<T>;
    /**
     * Deletes a dashboard item property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * user must be the owner of the dashboard. Note, users with the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     */
    deleteDashboardItemProperty<T = void>(parameters: DeleteDashboardItemProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a dashboard item property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * user must be the owner of the dashboard. Note, users with the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
     */
    deleteDashboardItemProperty<T = void>(parameters: DeleteDashboardItemProperty, callback?: never): Promise<T>;
    /**
     * Returns a dashboard.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     *
     * However, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with
     * the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the
     * System dashboard. The System dashboard is considered to be shared with all other users.
     */
    getDashboard<T = Dashboard>(parameters: GetDashboard | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a dashboard.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     *
     * However, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with
     * the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the
     * System dashboard. The System dashboard is considered to be shared with all other users.
     */
    getDashboard<T = Dashboard>(parameters: GetDashboard | string, callback?: never): Promise<T>;
    /**
     * Updates a dashboard, replacing all the dashboard details with those provided.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None
     *
     * The dashboard to be updated must be owned by the user.
     */
    updateDashboard<T = Dashboard>(parameters: UpdateDashboard, callback: Callback<T>): Promise<void>;
    /**
     * Updates a dashboard, replacing all the dashboard details with those provided.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None
     *
     * The dashboard to be updated must be owned by the user.
     */
    updateDashboard<T = Dashboard>(parameters: UpdateDashboard, callback?: never): Promise<T>;
    /**
     * Deletes a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None
     *
     * The dashboard to be deleted must be owned by the user.
     */
    deleteDashboard<T = void>(parameters: DeleteDashboard | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None
     *
     * The dashboard to be deleted must be owned by the user.
     */
    deleteDashboard<T = void>(parameters: DeleteDashboard | string, callback?: never): Promise<T>;
    /**
     * Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None
     *
     * The dashboard to be copied must be owned by or shared with the user.
     */
    copyDashboard<T = Dashboard>(parameters: CopyDashboard, callback: Callback<T>): Promise<void>;
    /**
     * Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None
     *
     * The dashboard to be copied must be owned by or shared with the user.
     */
    copyDashboard<T = Dashboard>(parameters: CopyDashboard, callback?: never): Promise<T>;
}

declare class DynamicModules {
    private client;
    constructor(client: Client);
    /**
     * Returns all modules registered dynamically by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    getModules<T = ConnectModules>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all modules registered dynamically by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    getModules<T = ConnectModules>(callback?: never): Promise<T>;
    /**
     * Registers a list of modules.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    registerModules<T = unknown>(parameters: RegisterModules | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Registers a list of modules.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    registerModules<T = unknown>(parameters?: RegisterModules, callback?: never): Promise<T>;
    /**
     * Remove all or a list of modules registered by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    removeModules<T = void>(parameters: RemoveModules | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Remove all or a list of modules registered by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request.
     */
    removeModules<T = void>(parameters?: RemoveModules, callback?: never): Promise<T>;
}

declare class Filters {
    private client;
    constructor(client: Client);
    /**
     * Creates a filter. The filter is shared according to the [default share
     * scope](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/#api-rest-api-3-filter-post).
     * The filter is not selected as a favorite.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    createFilter<T = Filter>(parameters: CreateFilter, callback: Callback<T>): Promise<void>;
    /**
     * Creates a filter. The filter is shared according to the [default share
     * scope](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/#api-rest-api-3-filter-post).
     * The filter is not selected as a favorite.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    createFilter<T = Filter>(parameters: CreateFilter, callback?: never): Promise<T>;
    /**
     * Returns the visible favorite filters of the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** A
     * favorite filter is only visible to the user where the filter is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     *
     * For example, if the user favorites a public filter that is subsequently made private that filter is not returned by
     * this operation.
     */
    getFavouriteFilters<T = Filter[]>(parameters: GetFavouriteFilters | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the visible favorite filters of the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** A
     * favorite filter is only visible to the user where the filter is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     *
     * For example, if the user favorites a public filter that is subsequently made private that filter is not returned by
     * this operation.
     */
    getFavouriteFilters<T = Filter[]>(parameters?: GetFavouriteFilters, callback?: never): Promise<T>;
    /**
     * Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are
     * also returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     *
     * For example, if the user favorites a public filter that is subsequently made private that filter is not returned by
     * this operation.
     */
    getMyFilters<T = Filter[]>(parameters: GetMyFilters | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are
     * also returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     *
     * For example, if the user favorites a public filter that is subsequently made private that filter is not returned by
     * this operation.
     */
    getMyFilters<T = Filter[]>(parameters?: GetMyFilters, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * filters. Use this operation to get:
     *
     * - Specific filters, by defining `id` only.
     * - Filters that match all of the specified attributes. For example, all filters for a user with a particular word in
     *   their name. When multiple attributes are specified only filters matching all attributes are returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, only the following filters that match the query parameters are returned:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getFiltersPaginated<T = PageFilterDetails>(parameters: GetFiltersPaginated | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * filters. Use this operation to get:
     *
     * - Specific filters, by defining `id` only.
     * - Filters that match all of the specified attributes. For example, all filters for a user with a particular word in
     *   their name. When multiple attributes are specified only filters matching all attributes are returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, only the following filters that match the query parameters are returned:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getFiltersPaginated<T = PageFilterDetails>(parameters?: GetFiltersPaginated, callback?: never): Promise<T>;
    /**
     * Returns a filter.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, the filter is only returned where it is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     */
    getFilter<T = Filter>(parameters: GetFilter | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a filter.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, the filter is only returned where it is:
     *
     * - Owned by the user.
     * - Shared with a group that the user is a member of.
     * - Shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Shared with a public project.
     * - Shared with the public.
     */
    getFilter<T = Filter>(parameters: GetFilter | string, callback?: never): Promise<T>;
    /**
     * Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however the user must own the filter.
     */
    updateFilter<T = Filter>(parameters: UpdateFilter, callback: Callback<T>): Promise<void>;
    /**
     * Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however the user must own the filter.
     */
    updateFilter<T = Filter>(parameters: UpdateFilter, callback?: never): Promise<T>;
    /**
     * Delete a filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFilter<T = void>(parameters: DeleteFilter | string, callback: Callback<T>): Promise<void>;
    /**
     * Delete a filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFilter<T = void>(parameters: DeleteFilter | string, callback?: never): Promise<T>;
    /**
     * Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed
     * in _List View_ with the _Columns_ set to _Filter_.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, column details are only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getColumns<T = ColumnItem[]>(parameters: GetColumns | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed
     * in _List View_ with the _Columns_ set to _Filter_.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, column details are only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getColumns<T = ColumnItem[]>(parameters: GetColumns | string, callback?: never): Promise<T>;
    /**
     * Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get
     * fields](#api-rest-api-3-field-get) to get the list fields in Jira. A navigable field has `navigable` set to
     * `true`.
     *
     * The parameters for this resource are expressed as HTML form data. For example, in curl:
     *
     * `curl -X PUT -d columns=summary -d columns=description
     * https://your-domain.atlassian.net/rest/api/3/filter/10000/columns`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, columns are only set for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    setColumns<T = unknown>(parameters: SetColumns, callback: Callback<T>): Promise<void>;
    /**
     * Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get
     * fields](#api-rest-api-3-field-get) to get the list fields in Jira. A navigable field has `navigable` set to
     * `true`.
     *
     * The parameters for this resource are expressed as HTML form data. For example, in curl:
     *
     * `curl -X PUT -d columns=summary -d columns=description
     * https://your-domain.atlassian.net/rest/api/3/filter/10000/columns`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, columns are only set for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    setColumns<T = unknown>(parameters: SetColumns, callback?: never): Promise<T>;
    /**
     * Reset the user's column configuration for the filter to the default.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, columns are only reset for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    resetColumns<T = void>(parameters: ResetColumns | string, callback: Callback<T>): Promise<void>;
    /**
     * Reset the user's column configuration for the filter to the default.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, columns are only reset for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    resetColumns<T = void>(parameters: ResetColumns | string, callback?: never): Promise<T>;
    /**
     * Add a filter as a favorite for the user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, the user can only favorite:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    setFavouriteForFilter<T = Filter>(parameters: SetFavouriteForFilter | string, callback: Callback<T>): Promise<void>;
    /**
     * Add a filter as a favorite for the user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, the user can only favorite:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    setFavouriteForFilter<T = Filter>(parameters: SetFavouriteForFilter | string, callback?: never): Promise<T>;
    /**
     * Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from
     * the user's favorites list. For example, if the user favorites a public filter that is subsequently made private
     * (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    deleteFavouriteForFilter<T = Filter>(parameters: DeleteFavouriteForFilter | string, callback: Callback<T>): Promise<void>;
    /**
     * Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from
     * the user's favorites list. For example, if the user favorites a public filter that is subsequently made private
     * (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    deleteFavouriteForFilter<T = Filter>(parameters: DeleteFavouriteForFilter | string, callback?: never): Promise<T>;
    /**
     * Changes the owner of the filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira. However, the user must own the filter or have the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    changeFilterOwner<T = void>(parameters: ChangeFilterOwner, callback: Callback<T>): Promise<void>;
    /**
     * Changes the owner of the filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira. However, the user must own the filter or have the _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    changeFilterOwner<T = void>(parameters: ChangeFilterOwner, callback?: never): Promise<T>;
}

declare class FilterSharing {
    private client;
    constructor(client: Client);
    /**
     * Returns the default sharing settings for new filters and dashboards for a user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getDefaultShareScope<T = DefaultShareScope>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the default sharing settings for new filters and dashboards for a user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getDefaultShareScope<T = DefaultShareScope>(callback?: never): Promise<T>;
    /**
     * Sets the default sharing for new filters and dashboards for a user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    setDefaultShareScope<T = DefaultShareScope>(parameters: SetDefaultShareScope | string, callback: Callback<T>): Promise<void>;
    /**
     * Sets the default sharing for new filters and dashboards for a user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    setDefaultShareScope<T = DefaultShareScope>(parameters: SetDefaultShareScope | string, callback?: never): Promise<T>;
    /**
     * Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or
     * the public. Sharing with all logged-in users or the public is known as a global share permission.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, share permissions are only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getSharePermissions<T = SharePermission[]>(parameters: GetSharePermissions | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or
     * the public. Sharing with all logged-in users or the public is known as a global share permission.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, share permissions are only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getSharePermissions<T = SharePermission[]>(parameters: GetSharePermissions | string, callback?: never): Promise<T>;
    /**
     * Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the
     * public) it will overwrite all share permissions for the filter.
     *
     * Be aware that this operation uses different objects for updating share permissions compared to [Update
     * filter](#api-rest-api-3-filter-id-put).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Share
     * dashboards and filters_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the
     * filter.
     */
    addSharePermission<T = SharePermission[]>(parameters: AddSharePermission, callback: Callback<T>): Promise<void>;
    /**
     * Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the
     * public) it will overwrite all share permissions for the filter.
     *
     * Be aware that this operation uses different objects for updating share permissions compared to [Update
     * filter](#api-rest-api-3-filter-id-put).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Share
     * dashboards and filters_ [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the
     * filter.
     */
    addSharePermission<T = SharePermission[]>(parameters: AddSharePermission, callback?: never): Promise<T>;
    /**
     * Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the
     * public. Sharing with all logged-in users or the public is known as a global share permission.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, a share permission is only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getSharePermission<T = SharePermission>(parameters: GetSharePermission, callback: Callback<T>): Promise<void>;
    /**
     * Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the
     * public. Sharing with all logged-in users or the public is known as a global share permission.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, a share permission is only returned for:
     *
     * - Filters owned by the user.
     * - Filters shared with a group that the user is a member of.
     * - Filters shared with a private project that the user has _Browse projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.
     * - Filters shared with a public project.
     * - Filters shared with the public.
     */
    getSharePermission<T = SharePermission>(parameters: GetSharePermission, callback?: never): Promise<T>;
    /**
     * Deletes a share permission from a filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira and the user must own the filter.
     */
    deleteSharePermission<T = void>(parameters: DeleteSharePermission, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a share permission from a filter.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira and the user must own the filter.
     */
    deleteSharePermission<T = void>(parameters: DeleteSharePermission, callback?: never): Promise<T>;
}

declare class GroupAndUserPicker {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of users and groups matching a string. The string is used:
     *
     * - For users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden
     *   their email address in their user profile, partial matches of the email address will not find the user. An exact
     *   match is required.
     * - For groups, to find a case-sensitive match with group name.
     *
     * For example, if the string _tin_ is used, records with the display name _Tina_, email address
     * _sarah@tinplatetraining.com_, and the group _accounting_ would be returned.
     *
     * Optionally, the search can be refined to:
     *
     * - The projects and issue types associated with a custom field, such as a user picker. The search can then be further
     *   refined to return only users and groups that have permission to view specific:
     *
     *   - Projects.
     *   - Issue types.
     *
     *   If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or
     *   no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be
     *   limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.
     * - Not return Connect app users and groups.
     * - Return groups that have a case-insensitive match with the query.
     *
     * The primary use case for this resource is to populate a picker field suggestion list with users or groups. To this
     * end, the returned object includes an `html` field for each list. This field highlights the matched query term in
     * the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for
     * use in a picker, specifically _Showing X of Y matching groups_.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/yodKLg).
     */
    findUsersAndGroups<T = FoundUsersAndGroups>(parameters: FindUsersAndGroups, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users and groups matching a string. The string is used:
     *
     * - For users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden
     *   their email address in their user profile, partial matches of the email address will not find the user. An exact
     *   match is required.
     * - For groups, to find a case-sensitive match with group name.
     *
     * For example, if the string _tin_ is used, records with the display name _Tina_, email address
     * _sarah@tinplatetraining.com_, and the group _accounting_ would be returned.
     *
     * Optionally, the search can be refined to:
     *
     * - The projects and issue types associated with a custom field, such as a user picker. The search can then be further
     *   refined to return only users and groups that have permission to view specific:
     *
     *   - Projects.
     *   - Issue types.
     *
     *   If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or
     *   no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be
     *   limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.
     * - Not return Connect app users and groups.
     * - Return groups that have a case-insensitive match with the query.
     *
     * The primary use case for this resource is to populate a picker field suggestion list with users or groups. To this
     * end, the returned object includes an `html` field for each list. This field highlights the matched query term in
     * the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for
     * use in a picker, specifically _Showing X of Y matching groups_.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/yodKLg).
     */
    findUsersAndGroups<T = FoundUsersAndGroups>(parameters: FindUsersAndGroups, callback?: never): Promise<T>;
}

declare class Groups {
    private client;
    constructor(client: Client);
    /**
     * Creates a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    createGroup<T = Group$1>(parameters: CreateGroup, callback: Callback<T>): Promise<void>;
    /**
     * Creates a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    createGroup<T = Group$1>(parameters: CreateGroup, callback?: never): Promise<T>;
    /**
     * Deletes a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ strategic [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeGroup<T = string>(parameters: RemoveGroup, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ strategic [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeGroup<T = string>(parameters: RemoveGroup, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * groups.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    bulkGetGroups<T = PageGroupDetails>(parameters: BulkGetGroups | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * groups.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    bulkGetGroups<T = PageGroupDetails>(parameters?: BulkGetGroups, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * users in a group.
     *
     * Note that users are ordered by username, however the username is not returned in the results due to privacy
     * reasons.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Browse users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUsersFromGroup<T = PageUserDetails>(parameters: GetUsersFromGroup, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * users in a group.
     *
     * Note that users are ordered by username, however the username is not returned in the results due to privacy
     * reasons.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Browse users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUsersFromGroup<T = PageUserDetails>(parameters: GetUsersFromGroup, callback?: never): Promise<T>;
    /**
     * Adds a user to a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    addUserToGroup<T = Group$1>(parameters: AddUserToGroup, callback: Callback<T>): Promise<void>;
    /**
     * Adds a user to a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    addUserToGroup<T = Group$1>(parameters: AddUserToGroup, callback?: never): Promise<T>;
    /**
     * Removes a user from a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeUserFromGroup<T = unknown>(parameters: RemoveUserFromGroup, callback: Callback<T>): Promise<void>;
    /**
     * Removes a user from a group.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, member of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeUserFromGroup<T = unknown>(parameters: RemoveUserFromGroup, callback?: never): Promise<T>;
    /**
     * Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude
     * groups from the results.
     *
     * The primary use case for this resource is to populate a group picker suggestions list. To this end, the returned
     * object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong
     * tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker,
     * specifically _Showing X of Y matching groups_.
     *
     * The list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users
     * without the required permission return an empty list.
     *
     * _Browse users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Without this permission,
     * calls where query is not an exact match to an existing group will return an empty list.
     */
    findGroups<T = FoundGroups>(parameters: FindGroups | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude
     * groups from the results.
     *
     * The primary use case for this resource is to populate a group picker suggestions list. To this end, the returned
     * object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong
     * tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker,
     * specifically _Showing X of Y matching groups_.
     *
     * The list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users
     * without the required permission return an empty list.
     *
     * _Browse users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Without this permission,
     * calls where query is not an exact match to an existing group will return an empty list.
     */
    findGroups<T = FoundGroups>(parameters?: FindGroups, callback?: never): Promise<T>;
}

declare class InstanceInformation {
    private client;
    constructor(client: Client);
    /**
     * Returns licensing information about the Jira instance.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     *
     * @deprecated This method is deprecated and will be removed in a future version. Please use an alternative method.
     */
    getLicense<T = License>(callback: Callback<T>): Promise<void>;
    /**
     * Returns licensing information about the Jira instance.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     *
     * @deprecated This method is deprecated and will be removed in a future version. Please use an alternative method.
     */
    getLicense<T = License>(callback?: never): Promise<T>;
}

declare class IssueAttachments {
    private client;
    constructor(client: Client);
    /**
     * Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment
     * to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range)
     * for details.
     *
     * To return a thumbnail of the attachment, use [Get attachment
     * thumbnail](#api-rest-api-3-attachment-thumbnail-id-get).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachmentContent<T = Buffer>(parameters: GetAttachmentContent$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment
     * to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range)
     * for details.
     *
     * To return a thumbnail of the attachment, use [Get attachment
     * thumbnail](#api-rest-api-3-attachment-thumbnail-id-get).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachmentContent<T = Buffer>(parameters: GetAttachmentContent$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.
     *
     * Note that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether
     * users can create and delete attachments.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAttachmentMeta<T = AttachmentSettings>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.
     *
     * Note that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether
     * users can create and delete attachments.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAttachmentMeta<T = AttachmentSettings>(callback?: never): Promise<T>;
    /**
     * Returns the thumbnail of an attachment.
     *
     * To return the attachment contents, use [Get attachment content](#api-rest-api-3-attachment-content-id-get).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachmentThumbnail<T = Buffer>(parameters: GetAttachmentThumbnail$1 | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the thumbnail of an attachment.
     *
     * To return the attachment contents, use [Get attachment content](#api-rest-api-3-attachment-content-id-get).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachmentThumbnail<T = Buffer>(parameters: GetAttachmentThumbnail$1 | string, callback?: never): Promise<T>;
    /**
     * Returns the metadata for an attachment. Note that the attachment itself is not returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachment<T = AttachmentMetadata>(parameters: GetAttachment | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the metadata for an attachment. Note that the attachment itself is not returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    getAttachment<T = AttachmentMetadata>(parameters: GetAttachment | string, callback?: never): Promise<T>;
    /**
     * Deletes an attachment from an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * project holding the issue containing the attachment:
     *
     * - _Delete own attachments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment
     *   created by the calling user.
     * - _Delete all attachments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment
     *   created by any user.
     */
    removeAttachment<T = void>(parameters: RemoveAttachment | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an attachment from an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * project holding the issue containing the attachment:
     *
     * - _Delete own attachments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment
     *   created by the calling user.
     * - _Delete all attachments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment
     *   created by any user.
     */
    removeAttachment<T = void>(parameters: RemoveAttachment | string, callback?: never): Promise<T>;
    /**
     * Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment
     * itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is
     * returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.
     *
     * Use this operation to retrieve data that is presented to the user, as this operation returns the metadata for the
     * attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded
     * attachment](#api-rest-api-3-attachment-id-expand-raw-get), which only returns the metadata for the attachment's
     * contents.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    expandAttachmentForHumans<T = AttachmentArchiveMetadataReadable>(parameters: ExpandAttachmentForHumans | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment
     * itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is
     * returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.
     *
     * Use this operation to retrieve data that is presented to the user, as this operation returns the metadata for the
     * attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded
     * attachment](#api-rest-api-3-attachment-id-expand-raw-get), which only returns the metadata for the attachment's
     * contents.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    expandAttachmentForHumans<T = AttachmentArchiveMetadataReadable>(parameters: ExpandAttachmentForHumans | string, callback?: never): Promise<T>;
    /**
     * Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a
     * ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is
     * supported.
     *
     * Use this operation if you are processing the data without presenting it to the user, as this operation only returns
     * the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all
     * metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-human-get) which also returns the
     * metadata for the attachment itself, such as the attachment's ID and name.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    expandAttachmentForMachines<T = AttachmentArchiveImpl>(parameters: ExpandAttachmentForMachines | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a
     * ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is
     * supported.
     *
     * Use this operation if you are processing the data without presenting it to the user, as this operation only returns
     * the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all
     * metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-human-get) which also returns the
     * metadata for the attachment itself, such as the attachment's ID and name.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** For the
     * issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If attachments are added in private comments, the comment-level restriction will be applied.
     */
    expandAttachmentForMachines<T = AttachmentArchiveImpl>(parameters: ExpandAttachmentForMachines | string, callback?: never): Promise<T>;
    /**
     * Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC
     * 1867](https://www.ietf.org/rfc/rfc1867.txt)).
     *
     * Note that:
     *
     * - The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special
     *   headers](#special-request-headers) for more information.
     * - The name of the multipart/form-data parameter that contains the attachments must be `file`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse Projects_ and _Create attachments_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addAttachment<T = Attachment$3[]>(parameters: AddAttachment, callback: Callback<T>): Promise<void>;
    /**
     * Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC
     * 1867](https://www.ietf.org/rfc/rfc1867.txt)).
     *
     * Note that:
     *
     * - The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special
     *   headers](#special-request-headers) for more information.
     * - The name of the multipart/form-data parameter that contains the attachments must be `file`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse Projects_ and _Create attachments_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addAttachment<T = Attachment$3[]>(parameters: AddAttachment, callback?: never): Promise<T>;
    private _convertToFile;
    private _streamToBlob;
}

declare class IssueBulkOperations {
    private client;
    constructor(client: Client);
    /**
     * Use this API to submit a bulk delete request. You can delete up to 1,000 issues in a single operation.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Delete [issues
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Delete-issues/)
     *   in all projects that contain the selected issues.
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkDelete<T = SubmittedBulkOperation>(parameters: SubmitBulkDelete, callback: Callback<T>): Promise<void>;
    /**
     * Use this API to submit a bulk delete request. You can delete up to 1,000 issues in a single operation.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Delete [issues
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Delete-issues/)
     *   in all projects that contain the selected issues.
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkDelete<T = SubmittedBulkOperation>(parameters: SubmitBulkDelete, callback?: never): Promise<T>;
    /**
     * Use this API to get a list of fields visible to the user to perform bulk edit operations. You can pass single or
     * multiple issues in the query to get eligible editable fields. This API uses pagination to return responses,
     * delivering 50 fields at a time.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - Depending on the field, any field-specific permissions required to edit it.
     */
    getBulkEditableFields<T = BulkEditGetFields>(parameters: GetBulkEditableFields, callback: Callback<T>): Promise<void>;
    /**
     * Use this API to get a list of fields visible to the user to perform bulk edit operations. You can pass single or
     * multiple issues in the query to get eligible editable fields. This API uses pagination to return responses,
     * delivering 50 fields at a time.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - Depending on the field, any field-specific permissions required to edit it.
     */
    getBulkEditableFields<T = BulkEditGetFields>(parameters: GetBulkEditableFields, callback?: never): Promise<T>;
    /**
     * Use this API to submit a bulk edit request and simultaneously edit multiple issues. There are limits applied to the
     * number of issues and fields that can be edited. A single request can accommodate a maximum of 1000 issues
     * (including subtasks) and 200 fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - Edit [issues permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/)
     *   in all projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkEdit<T = SubmittedBulkOperation>(parameters: SubmitBulkEdit, callback: Callback<T>): Promise<void>;
    /**
     * Use this API to submit a bulk edit request and simultaneously edit multiple issues. There are limits applied to the
     * number of issues and fields that can be edited. A single request can accommodate a maximum of 1000 issues
     * (including subtasks) and 200 fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - Edit [issues permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/)
     *   in all projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkEdit<T = SubmittedBulkOperation>(parameters: SubmitBulkEdit, callback?: never): Promise<T>;
    /**
     * Use this API to submit a bulk issue move request. You can move multiple issues, but they must all be moved to and
     * from a single project, issue type, and parent. You can't move more than 1000 issues (including subtasks) at once.
     *
     * #### Scenarios:
     *
     * This is an early version of the API and it doesn't have full feature parity with the Bulk Move UI experience.
     *
     * - Moving issue of type A to issue of type B in the same project or a different project: `SUPPORTED`
     * - Moving multiple issues of type A in one project to multiple issues of type B in the same project or a different
     *   project: **`SUPPORTED`**
     * - Moving a standard parent issue of type A with its multiple subtask issue types in one project to standard issue of
     *   type B and multiple subtask issue types in the same project or a different project: `SUPPORTED`
     * - Moving an epic issue with its child issues to a different project without losing their relation: `NOT SUPPORTED`\
     *   (Workaround: Move them individually and stitch the relationship back with the Bulk Edit API)
     *
     * #### Limits applied to bulk issue moves:
     *
     * When using the bulk move, keep in mind that there are limits on the number of issues and fields you can include.
     *
     * - You can move up to 1,000 issues in a single operation, including any subtasks.
     * - All issues must originate from the same project and share the same issue type and parent.
     * - The total combined number of fields across all issues must not exceed 1,500,000. For example, if each issue
     *   includes 15,000 fields, then the maximum number of issues that can be moved is 100.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Move [issues permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/)
     *   in source projects.
     * - Create [issues
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in
     *   destination projects.
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in
     *   destination projects, if moving subtasks only.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkMove<T = SubmittedBulkOperation>(parameters: SubmitBulkMove, callback: Callback<T>): Promise<void>;
    /**
     * Use this API to submit a bulk issue move request. You can move multiple issues, but they must all be moved to and
     * from a single project, issue type, and parent. You can't move more than 1000 issues (including subtasks) at once.
     *
     * #### Scenarios:
     *
     * This is an early version of the API and it doesn't have full feature parity with the Bulk Move UI experience.
     *
     * - Moving issue of type A to issue of type B in the same project or a different project: `SUPPORTED`
     * - Moving multiple issues of type A in one project to multiple issues of type B in the same project or a different
     *   project: **`SUPPORTED`**
     * - Moving a standard parent issue of type A with its multiple subtask issue types in one project to standard issue of
     *   type B and multiple subtask issue types in the same project or a different project: `SUPPORTED`
     * - Moving an epic issue with its child issues to a different project without losing their relation: `NOT SUPPORTED`\
     *   (Workaround: Move them individually and stitch the relationship back with the Bulk Edit API)
     *
     * #### Limits applied to bulk issue moves:
     *
     * When using the bulk move, keep in mind that there are limits on the number of issues and fields you can include.
     *
     * - You can move up to 1,000 issues in a single operation, including any subtasks.
     * - All issues must originate from the same project and share the same issue type and parent.
     * - The total combined number of fields across all issues must not exceed 1,500,000. For example, if each issue
     *   includes 15,000 fields, then the maximum number of issues that can be moved is 100.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Move [issues permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/)
     *   in source projects.
     * - Create [issues
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in
     *   destination projects.
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in
     *   destination projects, if moving subtasks only.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkMove<T = SubmittedBulkOperation>(parameters: SubmitBulkMove, callback?: never): Promise<T>;
    /**
     * Use this API to retrieve a list of transitions available for the specified issues that can be used or bulk
     * transition operations. You can submit either single or multiple issues in the query to obtain the available
     * transitions.
     *
     * The response will provide the available transitions for issues, organized by their respective workflows. **Only the
     * transitions that are common among the issues within that workflow and do not involve any additional field updates
     * will be included.** For bulk transitions that require additional field updates, please utilise the Jira Cloud UI.
     *
     * You can request available transitions for up to 1,000 issues in a single operation. This API uses pagination to
     * return responses, delivering 50 workflows at a time.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Transition [issues
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Transition-issues/)
     *   in all projects that contain the selected issues.
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getAvailableTransitions<T = BulkTransitionGetAvailableTransitions>(parameters: GetAvailableTransitions, callback: Callback<T>): Promise<void>;
    /**
     * Use this API to retrieve a list of transitions available for the specified issues that can be used or bulk
     * transition operations. You can submit either single or multiple issues in the query to obtain the available
     * transitions.
     *
     * The response will provide the available transitions for issues, organized by their respective workflows. **Only the
     * transitions that are common among the issues within that workflow and do not involve any additional field updates
     * will be included.** For bulk transitions that require additional field updates, please utilise the Jira Cloud UI.
     *
     * You can request available transitions for up to 1,000 issues in a single operation. This API uses pagination to
     * return responses, delivering 50 workflows at a time.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Transition [issues
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Transition-issues/)
     *   in all projects that contain the selected issues.
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getAvailableTransitions<T = BulkTransitionGetAvailableTransitions>(parameters: GetAvailableTransitions, callback?: never): Promise<T>;
    /**
     * Use this API to submit a bulk issue status transition request. You can transition multiple issues, alongside with
     * their valid transition Ids. You can transition up to 1,000 issues in a single operation.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Transition [issues
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Transition-issues/)
     *   in all projects that contain the selected issues.
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkTransition<T = SubmittedBulkOperation>(parameters: SubmitBulkTransition, callback: Callback<T>): Promise<void>;
    /**
     * Use this API to submit a bulk issue status transition request. You can transition multiple issues, alongside with
     * their valid transition Ids. You can transition up to 1,000 issues in a single operation.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Transition [issues
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Transition-issues/)
     *   in all projects that contain the selected issues.
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkTransition<T = SubmittedBulkOperation>(parameters: SubmitBulkTransition, callback?: never): Promise<T>;
    /**
     * Use this API to submit a bulk unwatch request. You can unwatch up to 1,000 issues in a single operation.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkUnwatch<T = SubmittedBulkOperation>(parameters: SubmitBulkUnwatch, callback: Callback<T>): Promise<void>;
    /**
     * Use this API to submit a bulk unwatch request. You can unwatch up to 1,000 issues in a single operation.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkUnwatch<T = SubmittedBulkOperation>(parameters: SubmitBulkUnwatch, callback?: never): Promise<T>;
    /**
     * Use this API to submit a bulk watch request. You can watch up to 1,000 issues in a single operation.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkWatch<T = SubmittedBulkOperation>(parameters: SubmitBulkWatch, callback: Callback<T>): Promise<void>;
    /**
     * Use this API to submit a bulk watch request. You can watch up to 1,000 issues in a single operation.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     * - Browse [project
     *   permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) in all
     *   projects that contain the selected issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    submitBulkWatch<T = SubmittedBulkOperation>(parameters: SubmitBulkWatch, callback?: never): Promise<T>;
    /**
     * Use this to get the progress state for the specified bulk operation `taskId`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     *
     * If the task is running, this resource will return:
     *
     *     {
     *       "taskId": "10779",
     *       "status": "RUNNING",
     *       "progressPercent": 65,
     *       "submittedBy": { "accountId": "5b10a2844c20165700ede21g" },
     *       "created": 1690180055963,
     *       "started": 1690180056206,
     *       "updated": 169018005829
     *     }
     *
     * If the task has completed, then this resource will return:
     *
     *     {
     *       "processedAccessibleIssues": [10001, 10002],
     *       "created": 1709189449954,
     *       "progressPercent": 100,
     *       "started": 1709189450154,
     *       "status": "COMPLETE",
     *       "submittedBy": { "accountId": "5b10a2844c20165700ede21g" },
     *       "invalidOrInaccessibleIssueCount": 0,
     *       "taskId": "10000",
     *       "totalIssueCount": 2,
     *       "updated": 1709189450354
     *     }
     *
     * **Note:** You can view task progress for up to 14 days from creation.
     */
    getBulkOperationProgress<T = BulkOperationProgress>(parameters: GetBulkOperationProgress, callback: Callback<T>): Promise<void>;
    /**
     * Use this to get the progress state for the specified bulk operation `taskId`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Global bulk change
     *   [permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-global-permissions/).
     *
     * If the task is running, this resource will return:
     *
     *     {
     *       "taskId": "10779",
     *       "status": "RUNNING",
     *       "progressPercent": 65,
     *       "submittedBy": { "accountId": "5b10a2844c20165700ede21g" },
     *       "created": 1690180055963,
     *       "started": 1690180056206,
     *       "updated": 169018005829
     *     }
     *
     * If the task has completed, then this resource will return:
     *
     *     {
     *       "processedAccessibleIssues": [10001, 10002],
     *       "created": 1709189449954,
     *       "progressPercent": 100,
     *       "started": 1709189450154,
     *       "status": "COMPLETE",
     *       "submittedBy": { "accountId": "5b10a2844c20165700ede21g" },
     *       "invalidOrInaccessibleIssueCount": 0,
     *       "taskId": "10000",
     *       "totalIssueCount": 2,
     *       "updated": 1709189450354
     *     }
     *
     * **Note:** You can view task progress for up to 14 days from creation.
     */
    getBulkOperationProgress<T = BulkOperationProgress>(parameters: GetBulkOperationProgress, callback?: never): Promise<T>;
}

declare class IssueCommentProperties {
    private client;
    constructor(client: Client);
    /**
     * Returns the keys of all the properties of a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentPropertyKeys<T = PropertyKeys$1>(parameters: GetCommentPropertyKeys | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all the properties of a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentPropertyKeys<T = PropertyKeys$1>(parameters: GetCommentPropertyKeys | string, callback?: never): Promise<T>;
    /**
     * Returns the value of a comment property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentProperty<T = EntityProperty$1>(parameters: GetCommentProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a comment property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentProperty<T = EntityProperty$1>(parameters: GetCommentProperty, callback?: never): Promise<T>;
    /**
     * Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Edit All Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value
     *   of a property on any comment.
     * - _Edit Own Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value
     *   of a property on a comment created by the user.
     *
     * Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or
     * group.
     */
    setCommentProperty<T = unknown>(parameters: SetCommentProperty, callback: Callback<T>): Promise<void>;
    /**
     * Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Edit All Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value
     *   of a property on any comment.
     * - _Edit Own Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value
     *   of a property on a comment created by the user.
     *
     * Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or
     * group.
     */
    setCommentProperty<T = unknown>(parameters: SetCommentProperty, callback?: never): Promise<T>;
    /**
     * Deletes a comment property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Edit All Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any
     *   comment.
     * - _Edit Own Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a
     *   comment created by the user.
     *
     * Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or
     * group.
     */
    deleteCommentProperty<T = void>(parameters: DeleteCommentProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a comment property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Edit All Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any
     *   comment.
     * - _Edit Own Comments_ [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a
     *   comment created by the user.
     *
     * Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or
     * group.
     */
    deleteCommentProperty<T = void>(parameters: DeleteCommentProperty, callback?: never): Promise<T>;
}

declare class IssueComments {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * comments specified by a list of comment IDs.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Comments are returned where the user:
     *
     * - Has _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     *   the comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentsByIds<T = PageComment>(parameters: GetCommentsByIds, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * comments specified by a list of comment IDs.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Comments are returned where the user:
     *
     * - Has _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     *   the comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getCommentsByIds<T = PageComment>(parameters: GetCommentsByIds, callback?: never): Promise<T>;
    /**
     * Returns all comments for an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Comments are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is
     *   restricted to.
     */
    getComments<T = PageOfComments>(parameters: GetComments | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all comments for an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Comments are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is
     *   restricted to.
     */
    getComments<T = PageOfComments>(parameters: GetComments | string, callback?: never): Promise<T>;
    /**
     * Adds a comment to an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Add comments_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addComment<T = Comment$1>(parameters: AddComment, callback: Callback<T>): Promise<void>;
    /**
     * Adds a comment to an issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Add comments_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addComment<T = Comment$1>(parameters: AddComment, callback?: never): Promise<T>;
    /**
     * Returns a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     */
    getComment<T = Comment$1>(parameters: GetComment, callback: Callback<T>): Promise<void>;
    /**
     * Returns a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   comment.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     */
    getComment<T = Comment$1>(parameters: GetComment, callback?: never): Promise<T>;
    /**
     * Updates a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue
     *   containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all comments_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or _Edit
     *   own comments_ to update comment created by the user.
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     *
     * **WARNING:** Child comments inherit visibility from their parent comment. Attempting to update a child comment's
     * visibility will result in a 400 (Bad Request) error.
     */
    updateComment<T = Comment$1>(parameters: UpdateComment, callback: Callback<T>): Promise<void>;
    /**
     * Updates a comment.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue
     *   containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all comments_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or _Edit
     *   own comments_ to update comment created by the user.
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     *
     * **WARNING:** Child comments inherit visibility from their parent comment. Attempting to update a child comment's
     * visibility will result in a 400 (Bad Request) error.
     */
    updateComment<T = Comment$1>(parameters: UpdateComment, callback?: never): Promise<T>;
    /**
     * Deletes a comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue
     *   containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all comments_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or
     *   _Delete own comments_ to delete comment created by the user,
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     */
    deleteComment<T = void>(parameters: DeleteComment, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue
     *   containing the comment is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all comments_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or
     *   _Delete own comments_ to delete comment created by the user,
     * - If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted
     *   to.
     */
    deleteComment<T = void>(parameters: DeleteComment, callback?: never): Promise<T>;
}

declare class IssueCustomFieldAssociations {
    private client;
    constructor(client: Client);
    /**
     * @experimental
     * Associates fields with projects.
     *
     * Fields will be associated with each issue type on the requested projects.
     *
     * Fields will be associated with all projects that share the same field configuration which the provided projects are
     * using. This means that while the field will be associated with the requested projects, it will also be associated
     * with any other projects that share the same field configuration.
     *
     * If a success response is returned it means that the field association has been created in any applicable contexts
     * where it wasn't already present.
     *
     * Up to 50 fields and up to 100 projects can be associated in a single request. If more fields or projects are
     * provided a 400 response will be returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createAssociations<T = void>(parameters: CreateAssociations, callback: Callback<T>): Promise<void>;
    /**
     * @experimental
     * Associates fields with projects.
     *
     * Fields will be associated with each issue type on the requested projects.
     *
     * Fields will be associated with all projects that share the same field configuration which the provided projects are
     * using. This means that while the field will be associated with the requested projects, it will also be associated
     * with any other projects that share the same field configuration.
     *
     * If a success response is returned it means that the field association has been created in any applicable contexts
     * where it wasn't already present.
     *
     * Up to 50 fields and up to 100 projects can be associated in a single request. If more fields or projects are
     * provided a 400 response will be returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createAssociations<T = void>(parameters: CreateAssociations, callback?: never): Promise<T>;
    /**
     * @experimental
     * Unassociates a set of fields with a project and issue type context.
     *
     * Fields will be unassociated with all projects/issue types that share the same field configuration which the
     * provided project and issue types are using. This means that while the field will be unassociated with the provided
     * project and issue types, it will also be unassociated with any other projects and issue types that share the same
     * field configuration.
     *
     * If a success response is returned it means that the field association has been removed in any applicable contexts
     * where it was present.
     *
     * Up to 50 fields and up to 100 projects and issue types can be unassociated in a single request. If more fields or
     * projects are provided a 400 response will be returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeAssociations<T = void>(parameters: RemoveAssociations, callback: Callback<T>): Promise<void>;
    /**
     * @experimental
     * Unassociates a set of fields with a project and issue type context.
     *
     * Fields will be unassociated with all projects/issue types that share the same field configuration which the
     * provided project and issue types are using. This means that while the field will be unassociated with the provided
     * project and issue types, it will also be unassociated with any other projects and issue types that share the same
     * field configuration.
     *
     * If a success response is returned it means that the field association has been removed in any applicable contexts
     * where it was present.
     *
     * Up to 50 fields and up to 100 projects and issue types can be unassociated in a single request. If more fields or
     * projects are provided a 400 response will be returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeAssociations<T = void>(parameters: RemoveAssociations, callback?: never): Promise<T>;
}

declare class IssueCustomFieldConfigurationApps {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * configurations for list of custom fields of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * The result can be filtered by one of these criteria:
     *
     * - `id`.
     * - `fieldContextId`.
     * - `issueId`.
     * - `projectKeyOrId` and `issueTypeId`.
     *
     * Otherwise, all configurations for the provided list of custom fields are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that provided the custom field type.
     */
    getCustomFieldsConfigurations<T = PageBulkContextualConfiguration>(parameters: GetCustomFieldsConfigurations | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * configurations for list of custom fields of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * The result can be filtered by one of these criteria:
     *
     * - `id`.
     * - `fieldContextId`.
     * - `issueId`.
     * - `projectKeyOrId` and `issueTypeId`.
     *
     * Otherwise, all configurations for the provided list of custom fields are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that provided the custom field type.
     */
    getCustomFieldsConfigurations<T = PageBulkContextualConfiguration>(parameters?: GetCustomFieldsConfigurations, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * configurations for a custom field of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * The result can be filtered by one of these criteria:
     *
     * - `id`.
     * - `fieldContextId`.
     * - `issueId`.
     * - `projectKeyOrId` and `issueTypeId`.
     *
     * Otherwise, all configurations are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that provided the custom field type.
     */
    getCustomFieldConfiguration<T = PageContextualConfiguration>(parameters: GetCustomFieldConfiguration | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * configurations for a custom field of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * The result can be filtered by one of these criteria:
     *
     * - `id`.
     * - `fieldContextId`.
     * - `issueId`.
     * - `projectKeyOrId` and `issueTypeId`.
     *
     * Otherwise, all configurations are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that provided the custom field type.
     */
    getCustomFieldConfiguration<T = PageContextualConfiguration>(parameters: GetCustomFieldConfiguration | string, callback?: never): Promise<T>;
    /**
     * Update the configuration for contexts of a custom field of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that created the custom field type.
     */
    updateCustomFieldConfiguration<T = unknown>(parameters: UpdateCustomFieldConfiguration, callback: Callback<T>): Promise<void>;
    /**
     * Update the configuration for contexts of a custom field of a
     * [type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/) created
     * by a [Forge app](https://developer.atlassian.com/platform/forge/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the Forge app that created the custom field type.
     */
    updateCustomFieldConfiguration<T = unknown>(parameters: UpdateCustomFieldConfiguration, callback?: never): Promise<T>;
}

declare class IssueCustomFieldContexts {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of [
     * contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a
     * custom field. Contexts can be returned as follows:
     *
     * - With no other parameters set, all contexts.
     * - By defining `id` only, all contexts from the list of IDs.
     * - By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types
     *   (true) or those that apply to only a subset of issue types (false)
     * - By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global
     *   contexts) (true) or those that apply to only a subset of projects (false).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). _Edit Workflow_ [edit workflow
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Edit-Workflows)
     */
    getContextsForField<T = PageCustomFieldContext>(parameters: GetContextsForField | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of [
     * contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a
     * custom field. Contexts can be returned as follows:
     *
     * - With no other parameters set, all contexts.
     * - By defining `id` only, all contexts from the list of IDs.
     * - By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types
     *   (true) or those that apply to only a subset of issue types (false)
     * - By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global
     *   contexts) (true) or those that apply to only a subset of projects (false).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). _Edit Workflow_ [edit workflow
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Edit-Workflows)
     */
    getContextsForField<T = PageCustomFieldContext>(parameters: GetContextsForField | string, callback?: never): Promise<T>;
    /**
     * Creates a custom field context.
     *
     * If `projectIds` is empty, a global context is created. A global context is one that applies to all project. If
     * `issueTypeIds` is empty, the context applies to all issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomFieldContext<T = CreateCustomFieldContext$1>(parameters: CreateCustomFieldContext, callback: Callback<T>): Promise<void>;
    /**
     * Creates a custom field context.
     *
     * If `projectIds` is empty, a global context is created. A global context is one that applies to all project. If
     * `issueTypeIds` is empty, the context applies to all issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomFieldContext<T = CreateCustomFieldContext$1>(parameters: CreateCustomFieldContext, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no
     * defaults are set for a context, nothing is returned.\
     * The returned object depends on type of the custom field:
     *
     * - `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
     * - `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
     * - `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio
     *   buttons.
     * - `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and
     *   checkboxes.
     * - `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
     * - `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
     * - `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
     * - `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
     * - `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group
     *   pickers.
     * - `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
     * - `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
     * - `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
     * - `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
     * - `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
     * - `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
     * - `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
     * - `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
     * - `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.
     *
     * Forge custom fields
     * [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
     * are also supported, returning:
     *
     * - `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
     * - `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
     * - `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
     * - `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
     * - `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
     * - `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
     * - `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultValues<T = PageCustomFieldContextDefaultValue>(parameters: GetDefaultValues | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no
     * defaults are set for a context, nothing is returned.\
     * The returned object depends on type of the custom field:
     *
     * - `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
     * - `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
     * - `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio
     *   buttons.
     * - `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and
     *   checkboxes.
     * - `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
     * - `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
     * - `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
     * - `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
     * - `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group
     *   pickers.
     * - `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
     * - `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
     * - `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
     * - `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
     * - `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
     * - `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
     * - `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
     * - `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
     * - `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.
     *
     * Forge custom fields
     * [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
     * are also supported, returning:
     *
     * - `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
     * - `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
     * - `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
     * - `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
     * - `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
     * - `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
     * - `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultValues<T = PageCustomFieldContextDefaultValue>(parameters: GetDefaultValues | string, callback?: never): Promise<T>;
    /**
     * Sets default for contexts of a custom field. Default are defined using these objects:
     *
     * - `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
     * - `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
     * - `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio
     *   buttons.
     * - `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and
     *   checkboxes.
     * - `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
     * - `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
     * - `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
     * - `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
     * - `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group
     *   pickers.
     * - `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
     * - `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
     * - `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
     * - `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
     * - `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
     * - `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
     * - `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
     * - `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
     * - `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.
     *
     * Forge custom fields
     * [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
     * are also supported, returning:
     *
     * - `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
     * - `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
     * - `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
     * - `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
     * - `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
     * - `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
     * - `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.
     *
     * Only one type of default object can be included in a request. To remove a default for a context, set the default
     * parameter to `null`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultValues<T = void>(parameters: SetDefaultValues, callback: Callback<T>): Promise<void>;
    /**
     * Sets default for contexts of a custom field. Default are defined using these objects:
     *
     * - `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
     * - `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
     * - `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio
     *   buttons.
     * - `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and
     *   checkboxes.
     * - `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
     * - `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
     * - `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
     * - `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
     * - `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group
     *   pickers.
     * - `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
     * - `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
     * - `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
     * - `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
     * - `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
     * - `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
     * - `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
     * - `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
     * - `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.
     *
     * Forge custom fields
     * [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
     * are also supported, returning:
     *
     * - `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
     * - `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
     * - `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
     * - `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
     * - `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection
     *   fields.
     * - `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
     * - `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
     * - `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.
     *
     * Only one type of default object can be included in a request. To remove a default for a context, set the default
     * parameter to `null`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultValues<T = void>(parameters: SetDefaultValues, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts.
     * Mappings are ordered first by context ID and then by issue type ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeMappingsForContexts<T = PageIssueTypeToContextMapping>(parameters: GetIssueTypeMappingsForContexts | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts.
     * Mappings are ordered first by context ID and then by issue type ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeMappingsForContexts<T = PageIssueTypeToContextMapping>(parameters: GetIssueTypeMappingsForContexts | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * project and issue type mappings and, for each mapping, the ID of a [custom field
     * context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type.
     *
     * If there is no custom field context assigned to the project then, if present, the custom field context that applies
     * to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is
     * not found, the returned custom field context ID is `null`.
     *
     * Duplicate project and issue type mappings cannot be provided in the request.
     *
     * The order of the returned values is the same as provided in the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getCustomFieldContextsForProjectsAndIssueTypes<T = PageContextForProjectAndIssueType>(parameters: GetCustomFieldContextsForProjectsAndIssueTypes, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * project and issue type mappings and, for each mapping, the ID of a [custom field
     * context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type.
     *
     * If there is no custom field context assigned to the project then, if present, the custom field context that applies
     * to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is
     * not found, the returned custom field context ID is `null`.
     *
     * Duplicate project and issue type mappings cannot be provided in the request.
     *
     * The order of the returned values is the same as provided in the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getCustomFieldContextsForProjectsAndIssueTypes<T = PageContextForProjectAndIssueType>(parameters: GetCustomFieldContextsForProjectsAndIssueTypes, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings
     * are returned. Invalid IDs are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectContextMapping<T = PageCustomFieldContextProjectMapping>(parameters: GetProjectContextMapping | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings
     * are returned. Invalid IDs are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectContextMapping<T = PageCustomFieldContextProjectMapping>(parameters: GetProjectContextMapping | string, callback?: never): Promise<T>;
    /**
     * Updates a [custom field
     * context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomFieldContext<T = void>(parameters: UpdateCustomFieldContext, callback: Callback<T>): Promise<void>;
    /**
     * Updates a [custom field
     * context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomFieldContext<T = void>(parameters: UpdateCustomFieldContext, callback?: never): Promise<T>;
    /**
     * Deletes a [custom field
     * context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomFieldContext<T = void>(parameters: DeleteCustomFieldContext, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a [custom field
     * context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomFieldContext<T = void>(parameters: DeleteCustomFieldContext, callback?: never): Promise<T>;
    /**
     * Adds issue types to a custom field context, appending the issue types to the issue types list.
     *
     * A custom field context without any issue types applies to all issue types. Adding issue types to such a custom
     * field context would result in it applying to only the listed issue types.
     *
     * If any of the issue types exists in the custom field context, the operation fails and no issue types are added.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addIssueTypesToContext<T = void>(parameters: AddIssueTypesToContext, callback: Callback<T>): Promise<void>;
    /**
     * Adds issue types to a custom field context, appending the issue types to the issue types list.
     *
     * A custom field context without any issue types applies to all issue types. Adding issue types to such a custom
     * field context would result in it applying to only the listed issue types.
     *
     * If any of the issue types exists in the custom field context, the operation fails and no issue types are added.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addIssueTypesToContext<T = void>(parameters: AddIssueTypesToContext, callback?: never): Promise<T>;
    /**
     * Removes issue types from a custom field context.
     *
     * A custom field context without any issue types applies to all issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypesFromContext<T = void>(parameters: RemoveIssueTypesFromContext, callback: Callback<T>): Promise<void>;
    /**
     * Removes issue types from a custom field context.
     *
     * A custom field context without any issue types applies to all issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypesFromContext<T = void>(parameters: RemoveIssueTypesFromContext, callback?: never): Promise<T>;
    /**
     * Assigns a custom field context to projects.
     *
     * If any project in the request is assigned to any context of the custom field, the operation fails.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignProjectsToCustomFieldContext<T = void>(parameters: AssignProjectsToCustomFieldContext, callback: Callback<T>): Promise<void>;
    /**
     * Assigns a custom field context to projects.
     *
     * If any project in the request is assigned to any context of the custom field, the operation fails.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignProjectsToCustomFieldContext<T = void>(parameters: AssignProjectsToCustomFieldContext, callback?: never): Promise<T>;
    /**
     * Removes a custom field context from projects.
     *
     * A custom field context without any projects applies to all projects. Removing all projects from a custom field
     * context would result in it applying to all projects.
     *
     * If any project in the request is not assigned to the context, or the operation would result in two global contexts
     * for the field, the operation fails.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeCustomFieldContextFromProjects<T = void>(parameters: RemoveCustomFieldContextFromProjects, callback: Callback<T>): Promise<void>;
    /**
     * Removes a custom field context from projects.
     *
     * A custom field context without any projects applies to all projects. Removing all projects from a custom field
     * context would result in it applying to all projects.
     *
     * If any project in the request is not assigned to the context, or the operation would result in two global contexts
     * for the field, the operation fails.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeCustomFieldContextFromProjects<T = void>(parameters: RemoveCustomFieldContextFromProjects, callback?: never): Promise<T>;
}

declare class IssueCustomFieldOptions {
    private client;
    constructor(client: Client);
    /**
     * Returns a custom field option. For example, an option in a select list.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect apps.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * custom field option is returned as follows:
     *
     * - If the user has the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - If the user has the _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for at least
     *   one project the custom field is used in, and the field is visible in at least one layout the user has permission
     *   to view.
     */
    getCustomFieldOption<T = CustomFieldOption>(parameters: GetCustomFieldOption | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a custom field option. For example, an option in a select list.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect apps.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** The
     * custom field option is returned as follows:
     *
     * - If the user has the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - If the user has the _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for at least
     *   one project the custom field is used in, and the field is visible in at least one layout the user has permission
     *   to view.
     */
    getCustomFieldOption<T = CustomFieldOption>(parameters: GetCustomFieldOption | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * custom field option for a context. Options are returned first then cascading options, in the order they display in
     * Jira.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). _Edit Workflow_ [edit workflow
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Edit-Workflows)
     */
    getOptionsForContext<T = PageCustomFieldContextOption>(parameters: GetOptionsForContext, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * custom field option for a context. Options are returned first then cascading options, in the order they display in
     * Jira.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). _Edit Workflow_ [edit workflow
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/#Edit-Workflows)
     */
    getOptionsForContext<T = PageCustomFieldContextOption>(parameters: GetOptionsForContext, callback?: never): Promise<T>;
    /**
     * Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a
     * custom select field. The options are added to a context of the field.
     *
     * The maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000
     * options.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomFieldOption<T = CustomFieldCreatedContextOptionsList>(parameters: CreateCustomFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a
     * custom select field. The options are added to a context of the field.
     *
     * The maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000
     * options.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomFieldOption<T = CustomFieldCreatedContextOptionsList>(parameters: CreateCustomFieldOption, callback?: never): Promise<T>;
    /**
     * Updates the options of a custom field.
     *
     * If any of the options are not found, no options are updated. Options where the values in the request match the
     * current values aren't updated and aren't reported in the response.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomFieldOption<T = CustomFieldUpdatedContextOptionsList>(parameters: UpdateCustomFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Updates the options of a custom field.
     *
     * If any of the options are not found, no options are updated. Options where the values in the request match the
     * current values aren't updated and aren't reported in the response.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomFieldOption<T = CustomFieldUpdatedContextOptionsList>(parameters: UpdateCustomFieldOption, callback?: never): Promise<T>;
    /**
     * Changes the order of custom field options or cascading options in a context.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    reorderCustomFieldOptions<T = void>(parameters: ReorderCustomFieldOptions, callback: Callback<T>): Promise<void>;
    /**
     * Changes the order of custom field options or cascading options in a context.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    reorderCustomFieldOptions<T = void>(parameters: ReorderCustomFieldOptions, callback?: never): Promise<T>;
    /**
     * Deletes a custom field option.
     *
     * Options with cascading options cannot be deleted without deleting the cascading options first.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomFieldOption<T = void>(parameters: DeleteCustomFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a custom field option.
     *
     * Options with cascading options cannot be deleted without deleting the cascading options first.
     *
     * This operation works for custom field options created in Jira or the operations from this resource. **To work with
     * issue field select list options created for Connect apps use the [Issue custom field options
     * (apps)](#api-group-issue-custom-field-options--apps-) operations.**
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomFieldOption<T = void>(parameters: DeleteCustomFieldOption, callback?: never): Promise<T>;
    /**
     * Replaces the options of a custom field.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect or Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    replaceCustomFieldOption<T = unknown>(parameters: ReplaceCustomFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Replaces the options of a custom field.
     *
     * Note that this operation **only works for issue field select list options created in Jira or using operations from
     * the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue
     * field select list options created by Connect or Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    replaceCustomFieldOption<T = unknown>(parameters: ReplaceCustomFieldOption, callback?: never): Promise<T>;
}

declare class IssueCustomFieldOptionsApps {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * the options of a select list issue field. A select list issue field is a type of [issue
     * field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a
     * value from a list of options.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    getAllIssueFieldOptions<T = PageIssueFieldOption>(parameters: GetAllIssueFieldOptions | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * the options of a select list issue field. A select list issue field is a type of [issue
     * field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a
     * value from a list of options.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    getAllIssueFieldOptions<T = PageIssueFieldOption>(parameters: GetAllIssueFieldOptions | string, callback?: never): Promise<T>;
    /**
     * Creates an option for a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * Each field can have a maximum of 10000 options, and each option can have a maximum of 10000 scopes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    createIssueFieldOption<T = IssueFieldOption>(parameters: CreateIssueFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Creates an option for a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * Each field can have a maximum of 10000 options, and each option can have a maximum of 10000 scopes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    createIssueFieldOption<T = IssueFieldOption>(parameters: CreateIssueFieldOption, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * options for a select list issue field that can be viewed and selected by the user.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getSelectableIssueFieldOptions<T = PageIssueFieldOption>(parameters: GetSelectableIssueFieldOptions | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * options for a select list issue field that can be viewed and selected by the user.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getSelectableIssueFieldOptions<T = PageIssueFieldOption>(parameters: GetSelectableIssueFieldOptions | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * options for a select list issue field that can be viewed by the user.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getVisibleIssueFieldOptions<T = PageIssueFieldOption>(parameters: GetVisibleIssueFieldOptions | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * options for a select list issue field that can be viewed by the user.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getVisibleIssueFieldOptions<T = PageIssueFieldOption>(parameters: GetVisibleIssueFieldOptions | string, callback?: never): Promise<T>;
    /**
     * Returns an option from a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    getIssueFieldOption<T = IssueFieldOption>(parameters: GetIssueFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Returns an option from a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    getIssueFieldOption<T = IssueFieldOption>(parameters: GetIssueFieldOption, callback?: never): Promise<T>;
    /**
     * Updates or creates an option for a select list issue field. This operation requires that the option ID is provided
     * when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID
     * provided in the path and body must be identical.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    updateIssueFieldOption<T = IssueFieldOption>(parameters: UpdateIssueFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Updates or creates an option for a select list issue field. This operation requires that the option ID is provided
     * when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID
     * provided in the path and body must be identical.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    updateIssueFieldOption<T = IssueFieldOption>(parameters: UpdateIssueFieldOption, callback?: never): Promise<T>;
    /**
     * Deletes an option from a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    deleteIssueFieldOption<T = void>(parameters: DeleteIssueFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an option from a select list issue field.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    deleteIssueFieldOption<T = void>(parameters: DeleteIssueFieldOption, callback?: never): Promise<T>;
    /**
     * Deselects an issue-field select-list option from all issues where it is selected. A different option can be
     * selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL
     * query.
     *
     * Connect and Forge app users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)
     * can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.
     *
     * This is an [asynchronous
     * operation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). The response
     * object contains a link to the long-running task.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    replaceIssueFieldOption<T = TaskProgressRemoveOptionFromIssuesResult>(parameters: ReplaceIssueFieldOption, callback: Callback<T>): Promise<void>;
    /**
     * Deselects an issue-field select-list option from all issues where it is selected. A different option can be
     * selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL
     * query.
     *
     * Connect and Forge app users with _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)
     * can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.
     *
     * This is an [asynchronous
     * operation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). The response
     * object contains a link to the long-running task.
     *
     * Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be
     * used with issue field select list options created in Jira or using operations from the [Issue custom field
     * options](#api-group-Issue-custom-field-options) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required
     * for the app providing the field.
     */
    replaceIssueFieldOption<T = TaskProgressRemoveOptionFromIssuesResult>(parameters: ReplaceIssueFieldOption, callback?: never): Promise<T>;
}

declare class IssueCustomFieldValuesApps {
    private client;
    constructor(client: Client);
    /**
     * Updates the value of one or more custom fields on one or more issues. Combinations of custom field and issue should
     * be unique within the request.
     *
     * Apps can only perform this operation on [custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom
     * field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/)
     * declared in their own manifests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * the app that owns the custom field or custom field type can update its values with this operation.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateMultipleCustomFieldValues<T = void>(parameters: UpdateMultipleCustomFieldValues, callback: Callback<T>): Promise<void>;
    /**
     * Updates the value of one or more custom fields on one or more issues. Combinations of custom field and issue should
     * be unique within the request.
     *
     * Apps can only perform this operation on [custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom
     * field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/)
     * declared in their own manifests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * the app that owns the custom field or custom field type can update its values with this operation.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateMultipleCustomFieldValues<T = void>(parameters: UpdateMultipleCustomFieldValues, callback?: never): Promise<T>;
    /**
     * Updates the value of a custom field on one or more issues.
     *
     * Apps can only perform this operation on [custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom
     * field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/)
     * declared in their own manifests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * the app that owns the custom field or custom field type can update its values with this operation.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateCustomFieldValue<T = void>(parameters: UpdateCustomFieldValue, callback: Callback<T>): Promise<void>;
    /**
     * Updates the value of a custom field on one or more issues.
     *
     * Apps can only perform this operation on [custom
     * fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/) and [custom
     * field types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/)
     * declared in their own manifests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * the app that owns the custom field or custom field type can update its values with this operation.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateCustomFieldValue<T = void>(parameters: UpdateCustomFieldValue, callback?: never): Promise<T>;
}

declare class IssueFieldConfigurations {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of field
     * configurations. The list can be for all field configurations or a subset determined by any combination of these
     * criteria:
     *
     * - A list of field configuration item IDs.
     * - Whether the field configuration is a default.
     * - Whether the field configuration name or description contains a query string.
     *
     * Only field configurations used in company-managed (classic) projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllFieldConfigurations<T = Paginated<FieldConfigurationDetails>>(parameters: GetAllFieldConfigurations | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of field
     * configurations. The list can be for all field configurations or a subset determined by any combination of these
     * criteria:
     *
     * - A list of field configuration item IDs.
     * - Whether the field configuration is a default.
     * - Whether the field configuration name or description contains a query string.
     *
     * Only field configurations used in company-managed (classic) projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllFieldConfigurations<T = Paginated<FieldConfigurationDetails>>(parameters?: GetAllFieldConfigurations, callback?: never): Promise<T>;
    /**
     * Creates a field configuration. The field configuration is created with the same field properties as the default
     * configuration, with all the fields being optional.
     *
     * This operation can only create configurations for use in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createFieldConfiguration<T = FieldConfiguration>(parameters: CreateFieldConfiguration, callback: Callback<T>): Promise<void>;
    /**
     * Creates a field configuration. The field configuration is created with the same field properties as the default
     * configuration, with all the fields being optional.
     *
     * This operation can only create configurations for use in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createFieldConfiguration<T = FieldConfiguration>(parameters: CreateFieldConfiguration, callback?: never): Promise<T>;
    /**
     * Updates a field configuration. The name and the description provided in the request override the existing values.
     *
     * This operation can only update configurations used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfiguration<T = void>(parameters: UpdateFieldConfiguration, callback: Callback<T>): Promise<void>;
    /**
     * Updates a field configuration. The name and the description provided in the request override the existing values.
     *
     * This operation can only update configurations used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfiguration<T = void>(parameters: UpdateFieldConfiguration, callback?: never): Promise<T>;
    /**
     * Deletes a field configuration.
     *
     * This operation can only delete configurations used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFieldConfiguration<T = void>(parameters: DeleteFieldConfiguration, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a field configuration.
     *
     * This operation can only delete configurations used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFieldConfiguration<T = void>(parameters: DeleteFieldConfiguration, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * fields for a configuration.
     *
     * Only the fields from configurations used in company-managed (classic) projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationItems<T = PageFieldConfigurationItem>(parameters: GetFieldConfigurationItems, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * fields for a configuration.
     *
     * Only the fields from configurations used in company-managed (classic) projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationItems<T = PageFieldConfigurationItem>(parameters: GetFieldConfigurationItems, callback?: never): Promise<T>;
    /**
     * Updates fields in a field configuration. The properties of the field configuration fields provided override the
     * existing values.
     *
     * This operation can only update field configurations used in company-managed (classic) projects.
     *
     * The operation can set the renderer for text fields to the default text renderer (`text-renderer`) or wiki style
     * renderer (`wiki-renderer`). However, the renderer cannot be updated for fields using the autocomplete renderer
     * (`autocomplete-renderer`).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfigurationItems<T = void>(parameters: UpdateFieldConfigurationItems, callback: Callback<T>): Promise<void>;
    /**
     * Updates fields in a field configuration. The properties of the field configuration fields provided override the
     * existing values.
     *
     * This operation can only update field configurations used in company-managed (classic) projects.
     *
     * The operation can set the renderer for text fields to the default text renderer (`text-renderer`) or wiki style
     * renderer (`wiki-renderer`). However, the renderer cannot be updated for fields using the autocomplete renderer
     * (`autocomplete-renderer`).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfigurationItems<T = void>(parameters: UpdateFieldConfigurationItems, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of field
     * configuration schemes.
     *
     * Only field configuration schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllFieldConfigurationSchemes<T = PageFieldConfigurationScheme>(parameters: GetAllFieldConfigurationSchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of field
     * configuration schemes.
     *
     * Only field configuration schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllFieldConfigurationSchemes<T = PageFieldConfigurationScheme>(parameters?: GetAllFieldConfigurationSchemes, callback?: never): Promise<T>;
    /**
     * Creates a field configuration scheme.
     *
     * This operation can only create field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createFieldConfigurationScheme<T = FieldConfigurationScheme>(parameters: CreateFieldConfigurationScheme, callback: Callback<T>): Promise<void>;
    /**
     * Creates a field configuration scheme.
     *
     * This operation can only create field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createFieldConfigurationScheme<T = FieldConfigurationScheme>(parameters: CreateFieldConfigurationScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of field
     * configuration issue type items.
     *
     * Only items used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationSchemeMappings<T = PageFieldConfigurationIssueTypeItem>(parameters: GetFieldConfigurationSchemeMappings | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of field
     * configuration issue type items.
     *
     * Only items used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationSchemeMappings<T = PageFieldConfigurationIssueTypeItem>(parameters?: GetFieldConfigurationSchemeMappings, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of field
     * configuration schemes and, for each scheme, a list of the projects that use it.
     *
     * The list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to
     * the default field configuration scheme.
     *
     * Only field configuration schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationSchemeProjectMapping<T = PageFieldConfigurationSchemeProjects>(parameters: GetFieldConfigurationSchemeProjectMapping, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of field
     * configuration schemes and, for each scheme, a list of the projects that use it.
     *
     * The list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to
     * the default field configuration scheme.
     *
     * Only field configuration schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldConfigurationSchemeProjectMapping<T = PageFieldConfigurationSchemeProjects>(parameters: GetFieldConfigurationSchemeProjectMapping, callback?: never): Promise<T>;
    /**
     * Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation
     * assigns the default field configuration scheme.
     *
     * Field configuration schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignFieldConfigurationSchemeToProject<T = void>(parameters: AssignFieldConfigurationSchemeToProject | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation
     * assigns the default field configuration scheme.
     *
     * Field configuration schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignFieldConfigurationSchemeToProject<T = void>(parameters?: AssignFieldConfigurationSchemeToProject, callback?: never): Promise<T>;
    /**
     * Updates a field configuration scheme.
     *
     * This operation can only update field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfigurationScheme<T = void>(parameters: UpdateFieldConfigurationScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates a field configuration scheme.
     *
     * This operation can only update field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateFieldConfigurationScheme<T = void>(parameters: UpdateFieldConfigurationScheme, callback?: never): Promise<T>;
    /**
     * Deletes a field configuration scheme.
     *
     * This operation can only delete field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFieldConfigurationScheme<T = void>(parameters: DeleteFieldConfigurationScheme, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a field configuration scheme.
     *
     * This operation can only delete field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteFieldConfigurationScheme<T = void>(parameters: DeleteFieldConfigurationScheme, callback?: never): Promise<T>;
    /**
     * Assigns issue types to field configurations on field configuration scheme.
     *
     * This operation can only modify field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setFieldConfigurationSchemeMapping<T = void>(parameters: SetFieldConfigurationSchemeMapping, callback: Callback<T>): Promise<void>;
    /**
     * Assigns issue types to field configurations on field configuration scheme.
     *
     * This operation can only modify field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setFieldConfigurationSchemeMapping<T = void>(parameters: SetFieldConfigurationSchemeMapping, callback?: never): Promise<T>;
    /**
     * Removes issue types from the field configuration scheme.
     *
     * This operation can only modify field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypesFromGlobalFieldConfigurationScheme<T = void>(parameters: RemoveIssueTypesFromGlobalFieldConfigurationScheme, callback: Callback<T>): Promise<void>;
    /**
     * Removes issue types from the field configuration scheme.
     *
     * This operation can only modify field configuration schemes used in company-managed (classic) projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypesFromGlobalFieldConfigurationScheme<T = void>(parameters: RemoveIssueTypesFromGlobalFieldConfigurationScheme, callback?: never): Promise<T>;
}

declare class IssueFields {
    private client;
    constructor(client: Client);
    /**
     * Returns system and custom issue fields according to the following rules:
     *
     * - Fields that cannot be added to the issue navigator are always returned.
     * - Fields that cannot be placed on an issue screen are always returned.
     * - Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking
     *   fields, subtasks, votes, and watches.
     * - For all other fields, this operation only returns the fields that the user has permission to view (that is, the
     *   field is used in at least one project that the user has _Browse Projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.)
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getFields<T = FieldDetails[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns system and custom issue fields according to the following rules:
     *
     * - Fields that cannot be added to the issue navigator are always returned.
     * - Fields that cannot be placed on an issue screen are always returned.
     * - Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking
     *   fields, subtasks, votes, and watches.
     * - For all other fields, this operation only returns the fields that the user has permission to view (that is, the
     *   field is used in at least one project that the user has _Browse Projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for.)
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getFields<T = FieldDetails[]>(callback?: never): Promise<T>;
    /**
     * Creates a custom field.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomField<T = FieldDetails>(parameters: CreateCustomField, callback: Callback<T>): Promise<void>;
    /**
     * Creates a custom field.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createCustomField<T = FieldDetails>(parameters: CreateCustomField, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of fields
     * for Classic Jira projects. The list can include:
     *
     * - All fields
     * - Specific fields, by defining `id`
     * - Fields that contain a string in the field name or description, by defining `query`
     * - Specific fields that contain a string in the field name or description, by defining `id` and `query`
     *
     * Use `type` must be set to `custom` to show custom fields only.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldsPaginated<T = PageField>(parameters: GetFieldsPaginated | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of fields
     * for Classic Jira projects. The list can include:
     *
     * - All fields
     * - Specific fields, by defining `id`
     * - Fields that contain a string in the field name or description, by defining `query`
     * - Specific fields that contain a string in the field name or description, by defining `id` and `query`
     *
     * Use `type` must be set to `custom` to show custom fields only.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getFieldsPaginated<T = PageField>(parameters?: GetFieldsPaginated, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of fields
     * in the trash. The list may be restricted to fields whose field name or description partially match a string.
     *
     * Only custom fields can be queried, `type` must be set to `custom`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getTrashedFieldsPaginated<T = PageField>(parameters: GetTrashedFieldsPaginated | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of fields
     * in the trash. The list may be restricted to fields whose field name or description partially match a string.
     *
     * Only custom fields can be queried, `type` must be set to `custom`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getTrashedFieldsPaginated<T = PageField>(parameters?: GetTrashedFieldsPaginated, callback?: never): Promise<T>;
    /**
     * Updates a custom field.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomField<T = void>(parameters: UpdateCustomField, callback: Callback<T>): Promise<void>;
    /**
     * Updates a custom field.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateCustomField<T = void>(parameters: UpdateCustomField, callback?: never): Promise<T>;
    /**
     * Deletes a custom field. The custom field is deleted whether it is in the trash or not. See [Edit or delete a custom
     * field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomField<T = unknown>(parameters: DeleteCustomField, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a custom field. The custom field is deleted whether it is in the trash or not. See [Edit or delete a custom
     * field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteCustomField<T = unknown>(parameters: DeleteCustomField, callback?: never): Promise<T>;
    /**
     * Restores a custom field from trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw)
     * for more information on trashing and deleting custom fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    restoreCustomField<T = unknown>(parameters: RestoreCustomField, callback: Callback<T>): Promise<void>;
    /**
     * Restores a custom field from trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw)
     * for more information on trashing and deleting custom fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    restoreCustomField<T = unknown>(parameters: RestoreCustomField, callback?: never): Promise<T>;
    /**
     * Moves a custom field to trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for
     * more information on trashing and deleting custom fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    trashCustomField<T = unknown>(parameters: TrashCustomField, callback: Callback<T>): Promise<void>;
    /**
     * Moves a custom field to trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for
     * more information on trashing and deleting custom fields.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    trashCustomField<T = unknown>(parameters: TrashCustomField, callback?: never): Promise<T>;
}

declare class IssueLinks {
    private client;
    constructor(client: Client);
    /**
     * Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally
     * add a comment to the from (outward) issue. To use this resource the site must have [Issue
     * Linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use
     * `https://your-domain.atlassian.net/rest/api/3/issue/[linked issue key]?fields=issuelinks`.
     *
     * If the link request duplicates a link, the response indicates that the issue link was created. If the request
     * included a comment, the comment is added.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse project_ [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing
     *   the issues to be linked,
     * - _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from
     *   (outward) issue,
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    linkIssues<T = void>(parameters: LinkIssues, callback: Callback<T>): Promise<void>;
    /**
     * Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally
     * add a comment to the from (outward) issue. To use this resource the site must have [Issue
     * Linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use
     * `https://your-domain.atlassian.net/rest/api/3/issue/[linked issue key]?fields=issuelinks`.
     *
     * If the link request duplicates a link, the response indicates that the issue link was created. If the request
     * included a comment, the comment is added.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse project_ [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing
     *   the issues to be linked,
     * - _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from
     *   (outward) issue,
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    linkIssues<T = void>(parameters: LinkIssues, callback?: never): Promise<T>;
    /**
     * Returns an issue link.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse project_ [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing
     *   the linked issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the
     *   issues.
     */
    getIssueLink<T = IssueLink>(parameters: GetIssueLink, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue link.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse project_ [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing
     *   the linked issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the
     *   issues.
     */
    getIssueLink<T = IssueLink>(parameters: GetIssueLink, callback?: never): Promise<T>;
    /**
     * Deletes an issue link.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the
     *   issues in the link.
     * - _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects
     *   containing issues in the link.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the
     *   issues.
     */
    deleteIssueLink<T = void>(parameters: DeleteIssueLink, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue link.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the
     *   issues in the link.
     * - _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects
     *   containing issues in the link.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the
     *   issues.
     */
    deleteIssueLink<T = void>(parameters: DeleteIssueLink, callback?: never): Promise<T>;
}

declare class IssueLinkTypes {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of all issue link types.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
     */
    getIssueLinkTypes<T = IssueLinkTypes$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all issue link types.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
     */
    getIssueLinkTypes<T = IssueLinkTypes$1>(callback?: never): Promise<T>;
    /**
     * Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The
     * issue link type consists of a name and descriptions for a link's inward and outward relationships.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueLinkType<T = IssueLinkType>(parameters: CreateIssueLinkType, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The
     * issue link type consists of a name and descriptions for a link's inward and outward relationships.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueLinkType<T = IssueLinkType>(parameters: CreateIssueLinkType, callback?: never): Promise<T>;
    /**
     * Returns an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
     */
    getIssueLinkType<T = IssueLinkType>(parameters: GetIssueLinkType, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
     */
    getIssueLinkType<T = IssueLinkType>(parameters: GetIssueLinkType, callback?: never): Promise<T>;
    /**
     * Updates an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueLinkType<T = IssueLinkType>(parameters: UpdateIssueLinkType, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueLinkType<T = IssueLinkType>(parameters: UpdateIssueLinkType, callback?: never): Promise<T>;
    /**
     * Deletes an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueLinkType<T = void>(parameters: DeleteIssueLinkType, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue link type.
     *
     * To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueLinkType<T = void>(parameters: DeleteIssueLinkType, callback?: never): Promise<T>;
}

declare class IssueNavigatorSettings {
    private client;
    constructor(client: Client);
    /**
     * Returns the default issue navigator columns.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueNavigatorDefaultColumns<T = ColumnItem[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the default issue navigator columns.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueNavigatorDefaultColumns<T = ColumnItem[]>(callback?: never): Promise<T>;
    /**
     * Sets the default issue navigator columns.
     *
     * The `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple
     * columns, pass multiple `columns` parameters. For example, in curl:
     *
     * `curl -X PUT -d columns=summary -d columns=description
     * https://your-domain.atlassian.net/rest/api/3/settings/columns`
     *
     * If no column details are sent, then all default columns are removed.
     *
     * A navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue
     * columns using [Get fields](#api-rest-api-3-field-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setIssueNavigatorDefaultColumns<T = unknown>(callback: Callback<T>): Promise<void>;
    /**
     * Sets the default issue navigator columns.
     *
     * The `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple
     * columns, pass multiple `columns` parameters. For example, in curl:
     *
     * `curl -X PUT -d columns=summary -d columns=description
     * https://your-domain.atlassian.net/rest/api/3/settings/columns`
     *
     * If no column details are sent, then all default columns are removed.
     *
     * A navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue
     * columns using [Get fields](#api-rest-api-3-field-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setIssueNavigatorDefaultColumns<T = unknown>(callback?: never): Promise<T>;
}

declare class IssueNotificationSchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by the display name.
     *
     * _Note that you should allow for events without recipients to appear in responses._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, the user must have permission to administer at least one project associated
     * with a notification scheme for it to be returned.
     */
    getNotificationSchemes<T = PageNotificationScheme>(parameters: GetNotificationSchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by the display name.
     *
     * _Note that you should allow for events without recipients to appear in responses._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, the user must have permission to administer at least one project associated
     * with a notification scheme for it to be returned.
     */
    getNotificationSchemes<T = PageNotificationScheme>(parameters?: GetNotificationSchemes, callback?: never): Promise<T>;
    /**
     * Creates a notification scheme with notifications. You can create up to 1000 notifications per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createNotificationScheme<T = NotificationSchemeId>(parameters: CreateNotificationScheme, callback: Callback<T>): Promise<void>;
    /**
     * Creates a notification scheme with notifications. You can create up to 1000 notifications per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createNotificationScheme<T = NotificationSchemeId>(parameters: CreateNotificationScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) mapping of
     * project that have notification scheme assigned. You can provide either one or multiple notification scheme IDs or
     * project IDs to filter by. If you don't provide any, this will return a list of all mappings. Note that only
     * company-managed (classic) projects are supported. This is because team-managed projects don't have a concept of a
     * default notification scheme. The mappings are ordered by projectId.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getNotificationSchemeToProjectMappings<T = NotificationSchemeAndProjectMappingPage>(parameters: GetNotificationSchemeToProjectMappings | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) mapping of
     * project that have notification scheme assigned. You can provide either one or multiple notification scheme IDs or
     * project IDs to filter by. If you don't provide any, this will return a list of all mappings. Note that only
     * company-managed (classic) projects are supported. This is because team-managed projects don't have a concept of a
     * default notification scheme. The mappings are ordered by projectId.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getNotificationSchemeToProjectMappings<T = NotificationSchemeAndProjectMappingPage>(parameters?: GetNotificationSchemeToProjectMappings, callback?: never): Promise<T>;
    /**
     * Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the
     * recipients who will receive notifications for those events.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, the user must have permission to administer at least one project associated
     * with the notification scheme.
     */
    getNotificationScheme<T = NotificationScheme>(parameters: GetNotificationScheme | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the
     * recipients who will receive notifications for those events.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, the user must have permission to administer at least one project associated
     * with the notification scheme.
     */
    getNotificationScheme<T = NotificationScheme>(parameters: GetNotificationScheme | string, callback?: never): Promise<T>;
    /**
     * Updates a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateNotificationScheme<T = void>(parameters: UpdateNotificationScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateNotificationScheme<T = void>(parameters: UpdateNotificationScheme, callback?: never): Promise<T>;
    /**
     * Adds notifications to a notification scheme. You can add up to 1000 notifications per request.
     *
     * _Deprecated: The notification type `EmailAddress` is no longer supported in Cloud. Refer to the
     * [changelog](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1031) for more details._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addNotifications<T = void>(parameters: AddNotifications, callback: Callback<T>): Promise<void>;
    /**
     * Adds notifications to a notification scheme. You can add up to 1000 notifications per request.
     *
     * _Deprecated: The notification type `EmailAddress` is no longer supported in Cloud. Refer to the
     * [changelog](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1031) for more details._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addNotifications<T = void>(parameters: AddNotifications, callback?: never): Promise<T>;
    /**
     * Deletes a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteNotificationScheme<T = void>(parameters: DeleteNotificationScheme, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteNotificationScheme<T = void>(parameters: DeleteNotificationScheme, callback?: never): Promise<T>;
    /**
     * Removes a notification from a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeNotificationFromNotificationScheme<T = void>(parameters: RemoveNotificationFromNotificationScheme, callback: Callback<T>): Promise<void>;
    /**
     * Removes a notification from a notification scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeNotificationFromNotificationScheme<T = void>(parameters: RemoveNotificationFromNotificationScheme, callback?: never): Promise<T>;
}

declare class IssuePriorities {
    private client;
    constructor(client: Client);
    /**
     * Returns the list of all issue priorities.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPriorities<T = Priority[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the list of all issue priorities.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPriorities<T = Priority[]>(callback?: never): Promise<T>;
    /**
     * Creates an issue priority.
     *
     * Deprecation applies to iconUrl param in request body which will be sunset on 16th Mar 2025. For more details refer
     * to [changelog](https://developer.atlassian.com/changelog/#CHANGE-1525).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPriority<T = PriorityId>(parameters: CreatePriority, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue priority.
     *
     * Deprecation applies to iconUrl param in request body which will be sunset on 16th Mar 2025. For more details refer
     * to [changelog](https://developer.atlassian.com/changelog/#CHANGE-1525).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPriority<T = PriorityId>(parameters: CreatePriority, callback?: never): Promise<T>;
    /**
     * Sets default issue priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultPriority<T = void>(parameters: SetDefaultPriority | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sets default issue priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultPriority<T = void>(parameters?: SetDefaultPriority, callback?: never): Promise<T>;
    /**
     * Changes the order of issue priorities.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    movePriorities<T = void>(parameters: MovePriorities, callback: Callback<T>): Promise<void>;
    /**
     * Changes the order of issue priorities.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    movePriorities<T = void>(parameters: MovePriorities, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priorities. The list can contain all priorities or a subset determined by any combination of these criteria:
     *
     * - A list of priority IDs. Any invalid priority IDs are ignored.
     * - A list of project IDs. Only priorities that are available in these projects will be returned. Any invalid project
     *   IDs are ignored.
     * - Whether the field configuration is a default. This returns priorities from company-managed (classic) projects only,
     *   as there is no concept of default priorities in team-managed projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    searchPriorities<T = PagePriority>(parameters: SearchPriorities | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priorities. The list can contain all priorities or a subset determined by any combination of these criteria:
     *
     * - A list of priority IDs. Any invalid priority IDs are ignored.
     * - A list of project IDs. Only priorities that are available in these projects will be returned. Any invalid project
     *   IDs are ignored.
     * - Whether the field configuration is a default. This returns priorities from company-managed (classic) projects only,
     *   as there is no concept of default priorities in team-managed projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    searchPriorities<T = PagePriority>(parameters?: SearchPriorities, callback?: never): Promise<T>;
    /**
     * Returns an issue priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPriority<T = Priority>(parameters: GetPriority, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue priority.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPriority<T = Priority>(parameters: GetPriority, callback?: never): Promise<T>;
    /**
     * Updates an issue priority.
     *
     * At least one request body parameter must be defined.
     *
     * Deprecation applies to iconUrl param in request body which will be sunset on 16th Mar 2025. For more details refer
     * to [changelog](https://developer.atlassian.com/changelog/#CHANGE-1525).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePriority<T = void>(parameters: UpdatePriority, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue priority.
     *
     * At least one request body parameter must be defined.
     *
     * Deprecation applies to iconUrl param in request body which will be sunset on 16th Mar 2025. For more details refer
     * to [changelog](https://developer.atlassian.com/changelog/#CHANGE-1525).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePriority<T = void>(parameters: UpdatePriority, callback?: never): Promise<T>;
    /**
     * Deletes an issue priority.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePriority<T = unknown>(parameters: DeletePriority, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue priority.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePriority<T = unknown>(parameters: DeletePriority, callback?: never): Promise<T>;
}

declare class IssueProperties {
    private client;
    constructor(client: Client);
    /**
     * Sets or updates a list of entity property values on issues. A list of up to 10 entity properties can be specified
     * along with up to 10,000 issues on which to set or update that list of entity properties.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum
     * length of single issue property value is 32768 characters. This operation can be accessed anonymously.
     *
     * This operation is:
     *
     * - Transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are
     *   updated.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkSetIssuesProperties<T = unknown>(parameters: BulkSetIssuesProperties | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sets or updates a list of entity property values on issues. A list of up to 10 entity properties can be specified
     * along with up to 10,000 issues on which to set or update that list of entity properties.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum
     * length of single issue property value is 32768 characters. This operation can be accessed anonymously.
     *
     * This operation is:
     *
     * - Transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are
     *   updated.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkSetIssuesProperties<T = unknown>(parameters?: BulkSetIssuesProperties, callback?: never): Promise<T>;
    /**
     * Sets or updates entity property values on issues. Up to 10 entity properties can be specified for each issue and up
     * to 100 issues included in the request.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON.
     *
     * This operation is:
     *
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     * - Non-transactional. Updating some entities may fail. Such information will available in the task result.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkSetIssuePropertiesByIssue<T = unknown>(parameters: BulkSetIssuePropertiesByIssue | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sets or updates entity property values on issues. Up to 10 entity properties can be specified for each issue and up
     * to 100 issues included in the request.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON.
     *
     * This operation is:
     *
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     * - Non-transactional. Updating some entities may fail. Such information will available in the task result.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkSetIssuePropertiesByIssue<T = unknown>(parameters?: BulkSetIssuePropertiesByIssue, callback?: never): Promise<T>;
    /**
     * Sets a property value on multiple issues.
     *
     * The value set can be a constant or determined by a [Jira
     * expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable
     * with constant complexity when applied to a set of issues. Expressions must also comply with the
     * [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to
     * all Jira expressions.
     *
     * The issues to be updated can be specified by a filter.
     *
     * The filter identifies issues eligible for update using these criteria:
     *
     * - `entityIds` Only issues from this list are eligible.
     * - `currentValue` Only issues with the property set to this value are eligible.
     * - `hasProperty`:
     *
     *   - If _true_, only issues with the property are eligible.
     *   - If _false_, only issues without the property are eligible.
     *
     * If more than one criteria is specified, they are joined with the logical _AND_: only issues that satisfy all
     * criteria are eligible.
     *
     * If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue`
     * and `hasProperty` as _false_ would not match any issues (because without the property the property cannot have a
     * value).
     *
     * The filter is optional. Without the filter all the issues visible to the user and where the user has the
     * EDIT_ISSUES permission for the issue are considered eligible.
     *
     * This operation is:
     *
     * - Transactional, either all eligible issues are updated or, when errors occur, none are updated.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing
     *   issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.
     */
    bulkSetIssueProperty<T = unknown>(parameters: BulkSetIssueProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets a property value on multiple issues.
     *
     * The value set can be a constant or determined by a [Jira
     * expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable
     * with constant complexity when applied to a set of issues. Expressions must also comply with the
     * [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to
     * all Jira expressions.
     *
     * The issues to be updated can be specified by a filter.
     *
     * The filter identifies issues eligible for update using these criteria:
     *
     * - `entityIds` Only issues from this list are eligible.
     * - `currentValue` Only issues with the property set to this value are eligible.
     * - `hasProperty`:
     *
     *   - If _true_, only issues with the property are eligible.
     *   - If _false_, only issues without the property are eligible.
     *
     * If more than one criteria is specified, they are joined with the logical _AND_: only issues that satisfy all
     * criteria are eligible.
     *
     * If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue`
     * and `hasProperty` as _false_ would not match any issues (because without the property the property cannot have a
     * value).
     *
     * The filter is optional. Without the filter all the issues visible to the user and where the user has the
     * EDIT_ISSUES permission for the issue are considered eligible.
     *
     * This operation is:
     *
     * - Transactional, either all eligible issues are updated or, when errors occur, none are updated.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing
     *   issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.
     */
    bulkSetIssueProperty<T = unknown>(parameters: BulkSetIssueProperty, callback?: never): Promise<T>;
    /**
     * Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.
     *
     * The criteria the filter used to identify eligible issues are:
     *
     * - `entityIds` Only issues from this list are eligible.
     * - `currentValue` Only issues with the property set to this value are eligible.
     *
     * If both criteria is specified, they are joined with the logical _AND_: only issues that satisfy both criteria are
     * considered eligible.
     *
     * If no filter criteria are specified, all the issues visible to the user and where the user has the EDIT_ISSUES
     * permission for the issue are considered eligible.
     *
     * This operation is:
     *
     * - Transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are
     *   deleted.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing
     *   issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.
     */
    bulkDeleteIssueProperty<T = unknown>(parameters: BulkDeleteIssueProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.
     *
     * The criteria the filter used to identify eligible issues are:
     *
     * - `entityIds` Only issues from this list are eligible.
     * - `currentValue` Only issues with the property set to this value are eligible.
     *
     * If both criteria is specified, they are joined with the logical _AND_: only issues that satisfy both criteria are
     * considered eligible.
     *
     * If no filter criteria are specified, all the issues visible to the user and where the user has the EDIT_ISSUES
     * permission for the issue are considered eligible.
     *
     * This operation is:
     *
     * - Transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are
     *   deleted.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing
     *   issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.
     */
    bulkDeleteIssueProperty<T = unknown>(parameters: BulkDeleteIssueProperty, callback?: never): Promise<T>;
    /**
     * Returns the URLs and keys of an issue's properties.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Property details are only returned where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssuePropertyKeys<T = PropertyKeys$1>(parameters: GetIssuePropertyKeys, callback: Callback<T>): Promise<void>;
    /**
     * Returns the URLs and keys of an issue's properties.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Property details are only returned where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssuePropertyKeys<T = PropertyKeys$1>(parameters: GetIssuePropertyKeys, callback?: never): Promise<T>;
    /**
     * Returns the key and value of an issue's property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssueProperty<T = EntityProperty$1>(parameters: GetIssueProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the key and value of an issue's property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssueProperty<T = EntityProperty$1>(parameters: GetIssueProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of an issue's property. Use this resource to store custom data against an issue.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    setIssueProperty<T = unknown>(parameters: SetIssueProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of an issue's property. Use this resource to store custom data against an issue.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    setIssueProperty<T = unknown>(parameters: SetIssueProperty, callback?: never): Promise<T>;
    /**
     * Deletes an issue's property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteIssueProperty<T = void>(parameters: DeleteIssueProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue's property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteIssueProperty<T = void>(parameters: DeleteIssueProperty, callback?: never): Promise<T>;
}

declare class IssueRemoteLinks {
    private client;
    constructor(client: Client);
    /**
     * Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that
     * global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL
     * characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1`
     * as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getRemoteIssueLinks<T = RemoteIssueLink[]>(parameters: GetRemoteIssueLinks, callback: Callback<T>): Promise<void>;
    /**
     * Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that
     * global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL
     * characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1`
     * as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getRemoteIssueLinks<T = RemoteIssueLink[]>(parameters: GetRemoteIssueLinks, callback?: never): Promise<T>;
    /**
     * Creates or updates a remote issue link for an issue.
     *
     * If a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without
     * values in the request are set to null. Otherwise, the remote issue link is created.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    createOrUpdateRemoteIssueLink<T = RemoteIssueLinkIdentifies>(parameters: CreateOrUpdateRemoteIssueLink, callback: Callback<T>): Promise<void>;
    /**
     * Creates or updates a remote issue link for an issue.
     *
     * If a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without
     * values in the request are set to null. Otherwise, the remote issue link is created.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    createOrUpdateRemoteIssueLink<T = RemoteIssueLinkIdentifies>(parameters: CreateOrUpdateRemoteIssueLink, callback?: never): Promise<T>;
    /**
     * Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL
     * characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1`
     * as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security
     *   permission to view the issue.
     */
    deleteRemoteIssueLinkByGlobalId<T = void>(parameters: DeleteRemoteIssueLinkByGlobalId, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL
     * characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1`
     * as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security
     *   permission to view the issue.
     */
    deleteRemoteIssueLinkByGlobalId<T = void>(parameters: DeleteRemoteIssueLinkByGlobalId, callback?: never): Promise<T>;
    /**
     * Returns a remote issue link for an issue.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getRemoteIssueLinkById<T = RemoteIssueLink>(parameters: GetRemoteIssueLinkById, callback: Callback<T>): Promise<void>;
    /**
     * Returns a remote issue link for an issue.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getRemoteIssueLinkById<T = RemoteIssueLink>(parameters: GetRemoteIssueLinkById, callback?: never): Promise<T>;
    /**
     * Updates a remote issue link for an issue.
     *
     * Note: Fields without values in the request are set to null.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    updateRemoteIssueLink<T = void>(parameters: UpdateRemoteIssueLink, callback: Callback<T>): Promise<void>;
    /**
     * Updates a remote issue link for an issue.
     *
     * Note: Fields without values in the request are set to null.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    updateRemoteIssueLink<T = void>(parameters: UpdateRemoteIssueLink, callback?: never): Promise<T>;
    /**
     * Deletes a remote issue link from an issue.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_, _Edit issues_, and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for the project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteRemoteIssueLinkById<T = void>(parameters: DeleteRemoteIssueLinkById, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a remote issue link from an issue.
     *
     * This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_, _Edit issues_, and _Link issues_ [project permission](https://confluence.atlassian.com/x/yodKLg)
     *   for the project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteRemoteIssueLinkById<T = void>(parameters: DeleteRemoteIssueLinkById, callback?: never): Promise<T>;
}

declare class IssueResolutions {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of all issue resolution values.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getResolutions<T = Resolution[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all issue resolution values.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getResolutions<T = Resolution[]>(callback?: never): Promise<T>;
    /**
     * Creates an issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createResolution<T = ResolutionId>(parameters: CreateResolution, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createResolution<T = ResolutionId>(parameters: CreateResolution, callback?: never): Promise<T>;
    /**
     * Sets default issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultResolution<T = void>(parameters: SetDefaultResolution, callback: Callback<T>): Promise<void>;
    /**
     * Sets default issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultResolution<T = void>(parameters: SetDefaultResolution, callback?: never): Promise<T>;
    /**
     * Changes the order of issue resolutions.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveResolutions<T = void>(parameters: MoveResolutions, callback: Callback<T>): Promise<void>;
    /**
     * Changes the order of issue resolutions.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveResolutions<T = void>(parameters: MoveResolutions, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * resolutions. The list can contain all resolutions or a subset determined by any combination of these criteria:
     *
     * - A list of resolutions IDs.
     * - Whether the field configuration is a default. This returns resolutions from company-managed (classic) projects
     *   only, as there is no concept of default resolutions in team-managed projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    searchResolutions<T = PageResolution>(parameters: SearchResolutions | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * resolutions. The list can contain all resolutions or a subset determined by any combination of these criteria:
     *
     * - A list of resolutions IDs.
     * - Whether the field configuration is a default. This returns resolutions from company-managed (classic) projects
     *   only, as there is no concept of default resolutions in team-managed projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    searchResolutions<T = PageResolution>(parameters?: SearchResolutions, callback?: never): Promise<T>;
    /**
     * Returns an issue resolution value.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getResolution<T = Resolution>(parameters: GetResolution, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue resolution value.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getResolution<T = Resolution>(parameters: GetResolution, callback?: never): Promise<T>;
    /**
     * Updates an issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateResolution<T = void>(parameters: UpdateResolution, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue resolution.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateResolution<T = void>(parameters: UpdateResolution, callback?: never): Promise<T>;
    /**
     * Deletes an issue resolution.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteResolution<T = TaskProgressObject>(parameters: DeleteResolution, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue resolution.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteResolution<T = TaskProgressObject>(parameters: DeleteResolution, callback?: never): Promise<T>;
}

declare class Issues {
    private client;
    constructor(client: Client);
    /**
     * Bulk fetch changelogs for multiple issues and filter by fields
     *
     * Returns a paginated list of all changelogs for given issues sorted by changelog date and issue IDs, starting from
     * the oldest changelog and smallest issue ID.
     *
     * Issues are identified by their ID or key, and optionally changelogs can be filtered by their field IDs. You can
     * request the changelogs of up to 1000 issues and can filter them by up to 10 field IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects that the issues
     *   are in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issues.
     */
    getBulkChangelogs<T = BulkChangelog>(parameters: GetBulkChangelogs, callback: Callback<T>): Promise<void>;
    /**
     * Bulk fetch changelogs for multiple issues and filter by fields
     *
     * Returns a paginated list of all changelogs for given issues sorted by changelog date and issue IDs, starting from
     * the oldest changelog and smallest issue ID.
     *
     * Issues are identified by their ID or key, and optionally changelogs can be filtered by their field IDs. You can
     * request the changelogs of up to 1000 issues and can filter them by up to 10 field IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects that the issues
     *   are in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issues.
     */
    getBulkChangelogs<T = BulkChangelog>(parameters: GetBulkChangelogs, callback?: never): Promise<T>;
    /**
     * Returns all issue events.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getEvents<T = IssueEvent[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all issue events.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getEvents<T = IssueEvent[]>(callback?: never): Promise<T>;
    /**
     * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be
     * applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties
     * set.
     *
     * The content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue
     * or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These are
     * the same fields that appear on the issue's create screen. Note that the `description`, `environment`, and any
     * `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom
     * fields (`textfield`) accept a string and don't handle Atlassian Document Format content.
     *
     * Creating a subtask differs from creating an issue as follows:
     *
     * - `issueType` must be set to a subtask issue type (use [ Get create issue
     *   metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).
     * - `parent` must contain the ID or key of the parent issue.
     *
     * In a next-gen project any issue may be made a child providing that the parent and child are members of the same
     * project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ and _Create issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in
     * which the issue or subtask is created.
     */
    createIssue<T = CreatedIssue>(parameters: CreateIssue, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be
     * applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties
     * set.
     *
     * The content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue
     * or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These are
     * the same fields that appear on the issue's create screen. Note that the `description`, `environment`, and any
     * `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom
     * fields (`textfield`) accept a string and don't handle Atlassian Document Format content.
     *
     * Creating a subtask differs from creating an issue as follows:
     *
     * - `issueType` must be set to a subtask issue type (use [ Get create issue
     *   metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).
     * - `parent` must contain the ID or key of the parent issue.
     *
     * In a next-gen project any issue may be made a child providing that the parent and child are members of the same
     * project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ and _Create issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in
     * which the issue or subtask is created.
     */
    createIssue<T = CreatedIssue>(parameters: CreateIssue, callback?: never): Promise<T>;
    /**
     * Enables admins to archive up to 100,000 issues in a single request using JQL, returning the URL to check the status
     * of the submitted request.
     *
     * You can use the [get
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-get)
     * and [cancel
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-cancel-post)
     * APIs to manage the request.
     *
     * **Note that:**
     *
     * - You can't archive subtasks directly, only through their parent issues
     * - You can only archive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     *
     * **Rate limiting:** Only a single request per jira instance can be active at any given time.
     */
    archiveIssuesAsync<T = string>(parameters: ArchiveIssuesAsync, callback: Callback<T>): Promise<void>;
    /**
     * Enables admins to archive up to 100,000 issues in a single request using JQL, returning the URL to check the status
     * of the submitted request.
     *
     * You can use the [get
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-get)
     * and [cancel
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-cancel-post)
     * APIs to manage the request.
     *
     * **Note that:**
     *
     * - You can't archive subtasks directly, only through their parent issues
     * - You can only archive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     *
     * **Rate limiting:** Only a single request per jira instance can be active at any given time.
     */
    archiveIssuesAsync<T = string>(parameters: ArchiveIssuesAsync, callback?: never): Promise<T>;
    /**
     * Enables admins to archive up to 1000 issues in a single request using issue ID/key, returning details of the
     * issue(s) archived in the process and the errors encountered, if any.
     *
     * **Note that:**
     *
     * - You can't archive subtasks directly, only through their parent issues
     * - You can only archive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     */
    archiveIssues<T = IssueArchivalSync>(parameters: ArchiveIssues, callback: Callback<T>): Promise<void>;
    /**
     * Enables admins to archive up to 1000 issues in a single request using issue ID/key, returning details of the
     * issue(s) archived in the process and the errors encountered, if any.
     *
     * **Note that:**
     *
     * - You can't archive subtasks directly, only through their parent issues
     * - You can only archive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     */
    archiveIssues<T = IssueArchivalSync>(parameters: ArchiveIssues, callback?: never): Promise<T>;
    /**
     * Creates upto **50** issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may
     * be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue
     * properties set.
     *
     * The content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the
     * issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These
     * are the same fields that appear on the issues' create screens. Note that the `description`, `environment`, and any
     * `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom
     * fields (`textfield`) accept a string and don't handle Atlassian Document Format content.
     *
     * Creating a subtask differs from creating an issue as follows:
     *
     * - `issueType` must be set to a subtask issue type (use [ Get create issue
     *   metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).
     * - `parent` the must contain the ID or key of the parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ and _Create issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in
     * which each issue or subtask is created.
     */
    createIssues<T = CreatedIssues>(parameters: CreateIssues | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Creates upto **50** issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may
     * be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue
     * properties set.
     *
     * The content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the
     * issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These
     * are the same fields that appear on the issues' create screens. Note that the `description`, `environment`, and any
     * `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom
     * fields (`textfield`) accept a string and don't handle Atlassian Document Format content.
     *
     * Creating a subtask differs from creating an issue as follows:
     *
     * - `issueType` must be set to a subtask issue type (use [ Get create issue
     *   metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).
     * - `parent` the must contain the ID or key of the parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ and _Create issues_ [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in
     * which each issue or subtask is created.
     */
    createIssues<T = CreatedIssues>(parameters?: CreateIssues, callback?: never): Promise<T>;
    /**
     * Returns the details for a set of requested issues. You can request up to 100 issues.
     *
     * Each issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive
     * search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or
     * other redirect is **not** returned.
     *
     * Issues will be returned in ascending `id` order. If there are errors, Jira will return a list of issues which
     * couldn't be fetched along with error messages.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkFetchIssues<T = BulkIssue>(parameters: BulkFetchIssues, callback: Callback<T>): Promise<void>;
    /**
     * Returns the details for a set of requested issues. You can request up to 100 issues.
     *
     * Each issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive
     * search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or
     * other redirect is **not** returned.
     *
     * Issues will be returned in ascending `id` order. If there are errors, Jira will return a list of issues which
     * couldn't be fetched along with error messages.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    bulkFetchIssues<T = BulkIssue>(parameters: BulkFetchIssues, callback?: never): Promise<T>;
    /**
     * @deprecated
     *
     *   Returns details of projects, issue types within projects, and, when requested, the create screen fields for each
     *   issue type for the user. Use the information to populate the requests in [ Create
     *   issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).
     *
     *   Deprecated, see [Create Issue Meta Endpoint Deprecation
     *   Notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1304).
     *
     *   The request can be restricted to specific projects or issue types using the query parameters. The response will
     *   contain information for the valid projects, issue types, or project and issue type combinations requested. Note
     *   that invalid project, issue type, or project and issue type combinations do not generate errors.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Create
     *   issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMeta<T = IssueCreateMetadata>(parameters: GetCreateIssueMeta | undefined, callback: Callback<T>): Promise<void>;
    /**
     * @deprecated
     *
     *   Returns details of projects, issue types within projects, and, when requested, the create screen fields for each
     *   issue type for the user. Use the information to populate the requests in [ Create
     *   issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).
     *
     *   Deprecated, see [Create Issue Meta Endpoint Deprecation
     *   Notice](https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1304).
     *
     *   The request can be restricted to specific projects or issue types using the query parameters. The response will
     *   contain information for the valid projects, issue types, or project and issue type combinations requested. Note
     *   that invalid project, issue type, or project and issue type combinations do not generate errors.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Create
     *   issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMeta<T = IssueCreateMetadata>(parameters?: GetCreateIssueMeta, callback?: never): Promise<T>;
    /**
     * Returns a page of issue type metadata for a specified project. Use the information to populate the requests in [
     * Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Create
     * issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMetaIssueTypes<T = PageOfCreateMetaIssueTypes>(parameters: GetCreateIssueMetaIssueTypes, callback: Callback<T>): Promise<void>;
    /**
     * Returns a page of issue type metadata for a specified project. Use the information to populate the requests in [
     * Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Create
     * issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMetaIssueTypes<T = PageOfCreateMetaIssueTypes>(parameters: GetCreateIssueMetaIssueTypes, callback?: never): Promise<T>;
    /**
     * Returns a page of field metadata for a specified project and issuetype id. Use the information to populate the
     * requests in [ Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Create
     * issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMetaIssueTypeId<T = PageOfCreateMetaIssueTypeWithField>(parameters: GetCreateIssueMetaIssueTypeId, callback: Callback<T>): Promise<void>;
    /**
     * Returns a page of field metadata for a specified project and issuetype id. Use the information to populate the
     * requests in [ Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Create
     * issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.
     */
    getCreateIssueMetaIssueTypeId<T = PageOfCreateMetaIssueTypeWithField>(parameters: GetCreateIssueMetaIssueTypeId, callback?: never): Promise<T>;
    /**
     * Returns all issues breaching and approaching per-issue limits.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) is required for the project the
     *   issues are in. Results may be incomplete otherwise
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueLimitReport<T = IssueLimitReport>(parameters: GetIssueLimitReport | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues breaching and approaching per-issue limits.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) is required for the project the
     *   issues are in. Results may be incomplete otherwise
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueLimitReport<T = IssueLimitReport>(parameters?: GetIssueLimitReport, callback?: never): Promise<T>;
    /**
     * Enables admins to unarchive up to 1000 issues in a single request using issue ID/key, returning details of the
     * issue(s) unarchived in the process and the errors encountered, if any.
     *
     * **Note that:**
     *
     * - You can't unarchive subtasks directly, only through their parent issues
     * - You can only unarchive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     */
    unarchiveIssues<T = IssueArchivalSync>(parameters: UnarchiveIssues, callback: Callback<T>): Promise<void>;
    /**
     * Enables admins to unarchive up to 1000 issues in a single request using issue ID/key, returning details of the
     * issue(s) unarchived in the process and the errors encountered, if any.
     *
     * **Note that:**
     *
     * - You can't unarchive subtasks directly, only through their parent issues
     * - You can only unarchive issues from software, service management, and business projects
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     */
    unarchiveIssues<T = IssueArchivalSync>(parameters: UnarchiveIssues, callback?: never): Promise<T>;
    /**
     * Returns the details for an issue.
     *
     * The issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive
     * search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or
     * other redirect is **not** returned. The issue key returned in the response is the key of the issue found.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssue<T = Issue$3>(parameters: GetIssue, callback: Callback<T>): Promise<void>;
    /**
     * Returns the details for an issue.
     *
     * The issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive
     * search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or
     * other redirect is **not** returned. The issue key returned in the response is the key of the issue found.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIssue<T = Issue$3>(parameters: GetIssue, callback?: never): Promise<T>;
    /**
     * Edits an issue. Issue properties may be updated as part of the edit. Please note that issue transition is not
     * supported and is ignored here. To transition an issue, please use [Transition
     * issue](#api-rest-api-3-issue-issueIdOrKey-transitions-post).
     *
     * The edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are
     * determined using [ Get edit issue metadata](#api-rest-api-3-issue-issueIdOrKey-editmeta-get).
     *
     * The parent field may be set by key or ID. For standard issue types, the parent may be removed by setting
     * `update.parent.set.none` to _true_. Note that the `description`, `environment`, and any `textarea` type custom
     * fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`)
     * accept a string and don't handle Atlassian Document Format content.
     *
     * Connect apps having an app user with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), can override the screen security
     * configuration using `overrideScreenSecurity` and `overrideEditableFlag`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    editIssue<T = void>(parameters: EditIssue, callback: Callback<T>): Promise<void>;
    /**
     * Edits an issue. Issue properties may be updated as part of the edit. Please note that issue transition is not
     * supported and is ignored here. To transition an issue, please use [Transition
     * issue](#api-rest-api-3-issue-issueIdOrKey-transitions-post).
     *
     * The edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are
     * determined using [ Get edit issue metadata](#api-rest-api-3-issue-issueIdOrKey-editmeta-get).
     *
     * The parent field may be set by key or ID. For standard issue types, the parent may be removed by setting
     * `update.parent.set.none` to _true_. Note that the `description`, `environment`, and any `textarea` type custom
     * fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`)
     * accept a string and don't handle Atlassian Document Format content.
     *
     * Connect apps having an app user with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), can override the screen security
     * configuration using `overrideScreenSecurity` and `overrideEditableFlag`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Edit issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project
     *   that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    editIssue<T = void>(parameters: EditIssue, callback?: never): Promise<T>;
    /**
     * Deletes an issue.
     *
     * An issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`.
     * This causes the issue's subtasks to be deleted with the issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Delete issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteIssue<T = void>(parameters: DeleteIssue, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue.
     *
     * An issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`.
     * This causes the issue's subtasks to be deleted with the issue.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Delete issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project containing the issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    deleteIssue<T = void>(parameters: DeleteIssue, callback?: never): Promise<T>;
    /**
     * Assigns an issue to a user. Use this operation when the calling user does not have the _Edit Issues_ permission but
     * has the _Assign issue_ permission for the project that the issue is in.
     *
     * If `name` or `accountId` is set to:
     *
     * - `"-1"`, the issue is assigned to the default assignee for the project.
     * - `null`, the issue is set to unassigned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse Projects_ and _Assign Issues_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    assignIssue<T = void>(parameters: AssignIssue, callback: Callback<T>): Promise<void>;
    /**
     * Assigns an issue to a user. Use this operation when the calling user does not have the _Edit Issues_ permission but
     * has the _Assign issue_ permission for the project that the issue is in.
     *
     * If `name` or `accountId` is set to:
     *
     * - `"-1"`, the issue is assigned to the default assignee for the project.
     * - `null`, the issue is set to unassigned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse Projects_ and _Assign Issues_ [ project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    assignIssue<T = void>(parameters: AssignIssue, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * changelogs for an issue sorted by date, starting from the oldest.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getChangeLogs<T = PageChangelog>(parameters: GetChangeLogs, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * changelogs for an issue sorted by date, starting from the oldest.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getChangeLogs<T = PageChangelog>(parameters: GetChangeLogs, callback?: never): Promise<T>;
    /**
     * Returns changelogs for an issue specified by a list of changelog IDs.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getChangeLogsByIds<T = PageOfChangelogs>(parameters: GetChangeLogsByIds, callback: Callback<T>): Promise<void>;
    /**
     * Returns changelogs for an issue specified by a list of changelog IDs.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getChangeLogsByIds<T = PageOfChangelogs>(parameters: GetChangeLogsByIds, callback?: never): Promise<T>;
    /**
     * Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to
     * populate the requests in [Edit issue](#api-rest-api-3-issue-issueIdOrKey-put).
     *
     * This endpoint will check for these conditions:
     *
     * 1. Field is available on a field screen - through screen, screen scheme, issue type screen scheme, and issue type
     *    scheme configuration. `overrideScreenSecurity=true` skips this condition.
     * 2. Field is visible in the [field
     *    configuration](https://support.atlassian.com/jira-cloud-administration/docs/change-a-field-configuration/).
     *    `overrideScreenSecurity=true` skips this condition.
     * 3. Field is shown on the issue: each field has different conditions here. For example: Attachment field only shows if
     *    attachments are enabled. Assignee only shows if user has permissions to assign the issue.
     * 4. If a field is custom then it must have valid custom field context, applicable for its project and issue type. All
     *    system fields are assumed to have context in all projects and all issue types.
     * 5. Issue has a project, issue type, and status defined.
     * 6. Issue is assigned to a valid workflow, and the current status has assigned a workflow step.
     *    `overrideEditableFlag=true` skips this condition.
     * 7. The current workflow step is editable. This is true by default, but [can be disabled by
     *    setting](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) the
     *    `jira.issue.editable` property to `false`. `overrideEditableFlag=true` skips this condition.
     * 8. User has [Edit issues
     *    permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/).
     * 9. Workflow permissions allow editing a field. This is true by default but [can be
     *    modified](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) using
     *    `jira.permission.*` workflow properties.
     *
     * Fields hidden using [Issue layout settings
     * page](https://support.atlassian.com/jira-software-cloud/docs/configure-field-layout-in-the-issue-view/) remain
     * editable.
     *
     * Connect apps having an app user with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), can return additional details using:
     *
     * - `overrideScreenSecurity` When this flag is `true`, then this endpoint skips checking if fields are available
     *   through screens, and field configuration (conditions 1. and 2. from the list above).
     * - `overrideEditableFlag` When this flag is `true`, then this endpoint skips checking if workflow is present and if
     *   the current step is editable (conditions 6. and 7. from the list above).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * Note: For any fields to be editable the user must have the _Edit issues_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the issue.
     */
    getEditIssueMeta<T = IssueUpdateMetadata>(parameters: GetEditIssueMeta, callback: Callback<T>): Promise<void>;
    /**
     * Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to
     * populate the requests in [Edit issue](#api-rest-api-3-issue-issueIdOrKey-put).
     *
     * This endpoint will check for these conditions:
     *
     * 1. Field is available on a field screen - through screen, screen scheme, issue type screen scheme, and issue type
     *    scheme configuration. `overrideScreenSecurity=true` skips this condition.
     * 2. Field is visible in the [field
     *    configuration](https://support.atlassian.com/jira-cloud-administration/docs/change-a-field-configuration/).
     *    `overrideScreenSecurity=true` skips this condition.
     * 3. Field is shown on the issue: each field has different conditions here. For example: Attachment field only shows if
     *    attachments are enabled. Assignee only shows if user has permissions to assign the issue.
     * 4. If a field is custom then it must have valid custom field context, applicable for its project and issue type. All
     *    system fields are assumed to have context in all projects and all issue types.
     * 5. Issue has a project, issue type, and status defined.
     * 6. Issue is assigned to a valid workflow, and the current status has assigned a workflow step.
     *    `overrideEditableFlag=true` skips this condition.
     * 7. The current workflow step is editable. This is true by default, but [can be disabled by
     *    setting](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) the
     *    `jira.issue.editable` property to `false`. `overrideEditableFlag=true` skips this condition.
     * 8. User has [Edit issues
     *    permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/).
     * 9. Workflow permissions allow editing a field. This is true by default but [can be
     *    modified](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) using
     *    `jira.permission.*` workflow properties.
     *
     * Fields hidden using [Issue layout settings
     * page](https://support.atlassian.com/jira-software-cloud/docs/configure-field-layout-in-the-issue-view/) remain
     * editable.
     *
     * Connect apps having an app user with _Administer Jira_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), can return additional details using:
     *
     * - `overrideScreenSecurity` When this flag is `true`, then this endpoint skips checking if fields are available
     *   through screens, and field configuration (conditions 1. and 2. from the list above).
     * - `overrideEditableFlag` When this flag is `true`, then this endpoint skips checking if workflow is present and if
     *   the current step is editable (conditions 6. and 7. from the list above).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * Note: For any fields to be editable the user must have the _Edit issues_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the issue.
     */
    getEditIssueMeta<T = IssueUpdateMetadata>(parameters: GetEditIssueMeta, callback?: never): Promise<T>;
    /**
     * Creates an email notification for an issue and adds it to the mail queue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    notify<T = void>(parameters: Notify, callback: Callback<T>): Promise<void>;
    /**
     * Creates an email notification for an issue and adds it to the mail queue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    notify<T = void>(parameters: Notify, callback?: never): Promise<T>;
    /**
     * Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's
     * status.
     *
     * Note, if a request is made for a transition that does not exist or cannot be performed on the issue, given its
     * status, the response will return any empty transitions list.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required: A list or
     * transition is returned only when the user has:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * However, if the user does not have the _Transition issues_ [ project
     * permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.
     */
    getTransitions<T = Transitions>(parameters: GetTransitions, callback: Callback<T>): Promise<void>;
    /**
     * Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's
     * status.
     *
     * Note, if a request is made for a transition that does not exist or cannot be performed on the issue, given its
     * status, the response will return any empty transitions list.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required: A list or
     * transition is returned only when the user has:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * However, if the user does not have the _Transition issues_ [ project
     * permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.
     */
    getTransitions<T = Transitions>(parameters: GetTransitions, callback?: never): Promise<T>;
    /**
     * Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.
     *
     * SortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update`
     * parameters in the request body. Get details about the fields using [ Get
     * transitions](#api-rest-api-3-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Transition issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    doTransition<T = void>(parameters: DoTransition, callback: Callback<T>): Promise<void>;
    /**
     * Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.
     *
     * SortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update`
     * parameters in the request body. Get details about the fields using [ Get
     * transitions](#api-rest-api-3-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Transition issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    doTransition<T = void>(parameters: DoTransition, callback?: never): Promise<T>;
    /**
     * Enables admins to retrieve details of all archived issues. Upon a successful request, the admin who submitted it
     * will receive an email with a link to download a CSV file with the issue details.
     *
     * Note that this API only exports the values of system fields and archival-specific fields (`ArchivedBy` and
     * `ArchivedDate`). Custom fields aren't supported.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     *
     * **Rate limiting:** Only a single request can be active at any given time.
     */
    exportArchivedIssues<T = ExportArchivedIssuesTaskProgress>(parameters: ExportArchivedIssues | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Enables admins to retrieve details of all archived issues. Upon a successful request, the admin who submitted it
     * will receive an email with a link to download a CSV file with the issue details.
     *
     * Note that this API only exports the values of system fields and archival-specific fields (`ArchivedBy` and
     * `ArchivedDate`). Custom fields aren't supported.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Jira
     * admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)
     *
     * **License required:** Premium or Enterprise
     *
     * **Signed-in users only:** This API can't be accessed anonymously.
     *
     * **Rate limiting:** Only a single request can be active at any given time.
     */
    exportArchivedIssues<T = ExportArchivedIssuesTaskProgress>(parameters?: ExportArchivedIssues, callback?: never): Promise<T>;
}

declare class IssueSearch {
    private client;
    constructor(client: Client);
    /**
     * Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the
     * user is looking for an issue using a word or string.
     *
     * This operation returns two lists:
     *
     * - `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain
     *   the string in the `query` parameter.
     * - `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the
     *   `query` parameter.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getIssuePickerResource<T = IssuePickerSuggestions>(parameters: GetIssuePickerResource | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the
     * user is looking for an issue using a word or string.
     *
     * This operation returns two lists:
     *
     * - `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain
     *   the string in the `query` parameter.
     * - `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the
     *   `query` parameter.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getIssuePickerResource<T = IssuePickerSuggestions>(parameters?: GetIssuePickerResource, callback?: never): Promise<T>;
    /**
     * Checks whether one or more issues would be returned by one or more JQL queries.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, issues are only matched against JQL queries where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    matchIssues<T = IssueMatches>(parameters: MatchIssues, callback: Callback<T>): Promise<void>;
    /**
     * Checks whether one or more issues would be returned by one or more JQL queries.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None,
     * however, issues are only matched against JQL queries where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    matchIssues<T = IssueMatches>(parameters: MatchIssues, callback?: never): Promise<T>;
    /**
     * @deprecated Use {@link searchForIssuesUsingJqlEnhancedSearch} instead. This endpoint doesn't support newer features
     *   like read-after-write consistency.
     *
     *   Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   If the JQL query expression is too large to be encoded as a query parameter, use the
     *   [POST](#api-rest-api-3-search-post) version of this resource.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesUsingJql<T = SearchResults$1>(parameters: SearchForIssuesUsingJql, callback: Callback<T>): Promise<void>;
    /**
     * @deprecated Use {@link searchForIssuesUsingJqlEnhancedSearch} instead. This endpoint doesn't support newer features
     *   like read-after-write consistency.
     *
     *   Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   If the JQL query expression is too large to be encoded as a query parameter, use the
     *   [POST](#api-rest-api-3-search-post) version of this resource.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesUsingJql<T = SearchResults$1>(parameters: SearchForIssuesUsingJql, callback?: never): Promise<T>;
    /**
     * @deprecated Use {@link searchForIssuesUsingJqlEnhancedSearchPost} instead. This endpoint doesn't support newer
     *   features like read-after-write consistency.
     *
     *   Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   There is a [GET](#api-rest-api-3-search-get) version of this resource that can be used for smaller JQL query
     *   expressions.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesUsingJqlPost<T = SearchResults$1>(parameters: SearchForIssuesUsingJqlPost | undefined, callback: Callback<T>): Promise<void>;
    /**
     * @deprecated Use {@link searchForIssuesUsingJqlEnhancedSearchPost} instead. This endpoint doesn't support newer
     *   features like read-after-write consistency.
     *
     *   Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   There is a [GET](#api-rest-api-3-search-get) version of this resource that can be used for smaller JQL query
     *   expressions.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesUsingJqlPost<T = SearchResults$1>(parameters?: SearchForIssuesUsingJqlPost, callback?: never): Promise<T>;
    /**
     * Provide an estimated count of the issues that match the [JQL](https://confluence.atlassian.com/x/egORLQ). Recent
     * updates might not be immediately visible in the returned output. This endpoint requires JQL to be bounded.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    countIssues<T = JQLCount>(parameters: CountIssues, callback: Callback<T>): Promise<void>;
    /**
     * Provide an estimated count of the issues that match the [JQL](https://confluence.atlassian.com/x/egORLQ). Recent
     * updates might not be immediately visible in the returned output. This endpoint requires JQL to be bounded.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    countIssues<T = JQLCount>(parameters: CountIssues, callback?: never): Promise<T>;
    /**
     * @deprecated This endpoint is no longer supported and may be removed in a future version.
     *
     *   Searches for IDs of issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   Use the [Search](#api-rest-api-3-search-post) endpoint if you need to fetch more than just issue IDs. The Search
     *   endpoint returns more information, but may take much longer to respond to requests. This is because it uses a
     *   different mechanism for ordering results than this endpoint and doesn't provide the total number of results for
     *   your query.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesIds<T = IdSearchResults>(parameters: SearchForIssuesIds, callback: Callback<T>): Promise<void>;
    /**
     * @deprecated This endpoint is no longer supported and may be removed in a future version.
     *
     *   Searches for IDs of issues using [JQL](https://confluence.atlassian.com/x/egORLQ).
     *
     *   Use the [Search](#api-rest-api-3-search-post) endpoint if you need to fetch more than just issue IDs. The Search
     *   endpoint returns more information, but may take much longer to respond to requests. This is because it uses a
     *   different mechanism for ordering results than this endpoint and doesn't provide the total number of results for
     *   your query.
     *
     *   This operation can be accessed anonymously.
     *
     *   **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     *   are included in the response where the user has:
     *
     *   - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *       issue.
     *   - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *       to view the issue.
     */
    searchForIssuesIds<T = IdSearchResults>(parameters: SearchForIssuesIds, callback?: never): Promise<T>;
    /**
     * Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ). Recent updates might not be immediately
     * visible in the returned search results. If you need
     * [read-after-write](https://developer.atlassian.com/cloud/jira/platform/search-and-reconcile/) consistency, you can
     * utilize the `reconcileIssues` parameter to ensure stronger consistency assurances. This operation can be accessed
     * anonymously.
     *
     * If the JQL query expression is too large to be encoded as a query parameter, use the
     * [POST](#api-rest-api-3-search-post) version of this resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    searchForIssuesUsingJqlEnhancedSearch<T = SearchAndReconcileResults>(parameters: SearchForIssuesUsingJqlEnhancedSearch, callback: Callback<T>): Promise<void>;
    /**
     * Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ). Recent updates might not be immediately
     * visible in the returned search results. If you need
     * [read-after-write](https://developer.atlassian.com/cloud/jira/platform/search-and-reconcile/) consistency, you can
     * utilize the `reconcileIssues` parameter to ensure stronger consistency assurances. This operation can be accessed
     * anonymously.
     *
     * If the JQL query expression is too large to be encoded as a query parameter, use the
     * [POST](#api-rest-api-3-search-post) version of this resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    searchForIssuesUsingJqlEnhancedSearch<T = SearchAndReconcileResults>(parameters: SearchForIssuesUsingJqlEnhancedSearch, callback?: never): Promise<T>;
    /**
     * Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ). Recent updates might not be immediately
     * visible in the returned search results. If you need
     * [read-after-write](https://developer.atlassian.com/cloud/jira/platform/search-and-reconcile/) consistency, you can
     * utilize the `reconcileIssues` parameter to ensure stronger consistency assurances. This operation can be accessed
     * anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    searchForIssuesUsingJqlEnhancedSearchPost<T = SearchAndReconcileResults>(parameters: SearchForIssuesUsingJqlEnhancedSearchPost, callback: Callback<T>): Promise<void>;
    /**
     * Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ). Recent updates might not be immediately
     * visible in the returned search results. If you need
     * [read-after-write](https://developer.atlassian.com/cloud/jira/platform/search-and-reconcile/) consistency, you can
     * utilize the `reconcileIssues` parameter to ensure stronger consistency assurances. This operation can be accessed
     * anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issues
     * are included in the response where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    searchForIssuesUsingJqlEnhancedSearchPost<T = SearchAndReconcileResults>(parameters: SearchForIssuesUsingJqlEnhancedSearchPost, callback?: never): Promise<T>;
}

declare class IssueSecurityLevel {
    private client;
    constructor(client: Client);
    /**
     * Returns issue security level members.
     *
     * Only issue security level members in context of classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueSecurityLevelMembers<T = PageIssueSecurityLevelMember>(parameters: GetIssueSecurityLevelMembers, callback: Callback<T>): Promise<void>;
    /**
     * Returns issue security level members.
     *
     * Only issue security level members in context of classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueSecurityLevelMembers<T = PageIssueSecurityLevelMember>(parameters: GetIssueSecurityLevelMembers, callback?: never): Promise<T>;
    /**
     * Returns details of an issue security level.
     *
     * Use [Get issue security scheme](#api-rest-api-3-issuesecurityschemes-id-get) to obtain the IDs of issue security
     * levels associated with the issue security scheme.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getIssueSecurityLevel<T = SecurityLevel>(parameters: GetIssueSecurityLevel, callback: Callback<T>): Promise<void>;
    /**
     * Returns details of an issue security level.
     *
     * Use [Get issue security scheme](#api-rest-api-3-issuesecurityschemes-id-get) to obtain the IDs of issue security
     * levels associated with the issue security scheme.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getIssueSecurityLevel<T = SecurityLevel>(parameters: GetIssueSecurityLevel, callback?: never): Promise<T>;
}

declare class IssueSecuritySchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueSecuritySchemes<T = SecuritySchemes>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueSecuritySchemes<T = SecuritySchemes>(callback?: never): Promise<T>;
    /**
     * Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme
     * levels and security scheme levels' members per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueSecurityScheme<T = SecuritySchemeId>(parameters: CreateIssueSecurityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme
     * levels and security scheme levels' members per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueSecurityScheme<T = SecuritySchemeId>(parameters: CreateIssueSecurityScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * security levels.
     *
     * Only issue security levels in the context of classic projects are returned.
     *
     * Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include
     * both specified issue security levels and all issue security levels from the specified schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSecurityLevels<T = PageSecurityLevel>(parameters: GetSecurityLevels | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * security levels.
     *
     * Only issue security levels in the context of classic projects are returned.
     *
     * Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include
     * both specified issue security levels and all issue security levels from the specified schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSecurityLevels<T = PageSecurityLevel>(parameters?: GetSecurityLevels, callback?: never): Promise<T>;
    /**
     * Sets default issue security levels for schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultLevels<T = void>(parameters: SetDefaultLevels | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sets default issue security levels for schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setDefaultLevels<T = void>(parameters?: SetDefaultLevels, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * security level members.
     *
     * Only issue security level members in the context of classic projects are returned.
     *
     * Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will
     * include all issue security level members from the specified schemes and levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSecurityLevelMembers<T = PageSecurityLevelMember>(parameters: GetSecurityLevelMembers | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * security level members.
     *
     * Only issue security level members in the context of classic projects are returned.
     *
     * Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will
     * include all issue security level members from the specified schemes and levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSecurityLevelMembers<T = PageSecurityLevelMember>(parameters?: GetSecurityLevelMembers, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) mapping of
     * projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs
     * to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the
     * context of classic projects are supported.
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchProjectsUsingSecuritySchemes<T = PageIssueSecuritySchemeToProjectMapping>(parameters: SearchProjectsUsingSecuritySchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) mapping of
     * projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs
     * to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the
     * context of classic projects are supported.
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchProjectsUsingSecuritySchemes<T = PageIssueSecuritySchemeToProjectMapping>(parameters?: SearchProjectsUsingSecuritySchemes, callback?: never): Promise<T>;
    /**
     * Associates an issue security scheme with a project and remaps security levels of issues to the new levels, if
     * provided.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    associateSchemesToProjects<T = TaskProgressObject>(parameters: AssociateSchemesToProjects, callback: Callback<T>): Promise<void>;
    /**
     * Associates an issue security scheme with a project and remaps security levels of issues to the new levels, if
     * provided.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    associateSchemesToProjects<T = TaskProgressObject>(parameters: AssociateSchemesToProjects, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * security schemes.\
     * If you specify the project ID parameter, the result will contain issue security schemes and related project IDs you
     * filter by. Use {@link IssueSecuritySchemeResource#searchProjectsUsingSecuritySchemes(String, String, Set, Set)} to
     * obtain all projects related to scheme.
     *
     * Only issue security schemes in the context of classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchSecuritySchemes<T = PageSecuritySchemeWithProjects>(parameters: SearchSecuritySchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * security schemes.\
     * If you specify the project ID parameter, the result will contain issue security schemes and related project IDs you
     * filter by. Use {@link IssueSecuritySchemeResource#searchProjectsUsingSecuritySchemes(String, String, Set, Set)} to
     * obtain all projects related to scheme.
     *
     * Only issue security schemes in the context of classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchSecuritySchemes<T = PageSecuritySchemeWithProjects>(parameters?: SearchSecuritySchemes, callback?: never): Promise<T>;
    /**
     * Returns an issue security scheme along with its security levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the
     *   requested issue security scheme.
     */
    getIssueSecurityScheme<T = SecurityScheme>(parameters: GetIssueSecurityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue security scheme along with its security levels.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the
     *   requested issue security scheme.
     */
    getIssueSecurityScheme<T = SecurityScheme>(parameters: GetIssueSecurityScheme, callback?: never): Promise<T>;
    /**
     * Updates the issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueSecurityScheme<T = void>(parameters: UpdateIssueSecurityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates the issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueSecurityScheme<T = void>(parameters: UpdateIssueSecurityScheme, callback?: never): Promise<T>;
    /**
     * Deletes an issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteSecurityScheme<T = void>(parameters: DeleteSecurityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteSecurityScheme<T = void>(parameters: DeleteSecurityScheme, callback?: never): Promise<T>;
    /**
     * Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addSecurityLevel<T = void>(parameters: AddSecurityLevel, callback: Callback<T>): Promise<void>;
    /**
     * Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addSecurityLevel<T = void>(parameters: AddSecurityLevel, callback?: never): Promise<T>;
    /**
     * Updates the issue security level.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateSecurityLevel<T = void>(parameters: UpdateSecurityLevel, callback: Callback<T>): Promise<void>;
    /**
     * Updates the issue security level.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateSecurityLevel<T = void>(parameters: UpdateSecurityLevel, callback?: never): Promise<T>;
    /**
     * Deletes an issue security level.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeLevel<T = unknown>(parameters: RemoveLevel, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue security level.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeLevel<T = unknown>(parameters: RemoveLevel, callback?: never): Promise<T>;
    /**
     * Adds members to the issue security level. You can add up to 100 members per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addSecurityLevelMembers<T = void>(parameters: AddSecurityLevelMembers, callback: Callback<T>): Promise<void>;
    /**
     * Adds members to the issue security level. You can add up to 100 members per request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addSecurityLevelMembers<T = void>(parameters: AddSecurityLevelMembers, callback?: never): Promise<T>;
    /**
     * Removes an issue security level member from an issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeMemberFromSecurityLevel<T = void>(parameters: RemoveMemberFromSecurityLevel, callback: Callback<T>): Promise<void>;
    /**
     * Removes an issue security level member from an issue security scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeMemberFromSecurityLevel<T = void>(parameters: RemoveMemberFromSecurityLevel, callback?: never): Promise<T>;
}

declare class IssueTypeProperties {
    private client;
    constructor(client: Client);
    /**
     * Returns all the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * keys of the issue type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any
     *   issue type.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any
     *   issue types associated with the projects the user has permission to browse.
     */
    getIssueTypePropertyKeys<T = PropertyKeys$1>(parameters: GetIssueTypePropertyKeys, callback: Callback<T>): Promise<void>;
    /**
     * Returns all the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * keys of the issue type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any
     *   issue type.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any
     *   issue types associated with the projects the user has permission to browse.
     */
    getIssueTypePropertyKeys<T = PropertyKeys$1>(parameters: GetIssueTypePropertyKeys, callback?: never): Promise<T>;
    /**
     * Returns the key and value of the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue
     *   type.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue
     *   types associated with the projects the user has permission to browse.
     */
    getIssueTypeProperty<T = EntityProperty$1>(parameters: GetIssueTypeProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the key and value of the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue
     *   type.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue
     *   types associated with the projects the user has permission to browse.
     */
    getIssueTypeProperty<T = EntityProperty$1>(parameters: GetIssueTypeProperty, callback?: never): Promise<T>;
    /**
     * Creates or updates the value of the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     * Use this resource to store and update data against an issue type.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setIssueTypeProperty<T = unknown>(parameters: SetIssueTypeProperty, callback: Callback<T>): Promise<void>;
    /**
     * Creates or updates the value of the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     * Use this resource to store and update data against an issue type.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setIssueTypeProperty<T = unknown>(parameters: SetIssueTypeProperty, callback?: never): Promise<T>;
    /**
     * Deletes the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeProperty<T = void>(parameters: DeleteIssueTypeProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the [issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeProperty<T = void>(parameters: DeleteIssueTypeProperty, callback?: never): Promise<T>;
}

declare class IssueTypes {
    private client;
    constructor(client: Client);
    /**
     * Returns all issue types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issue
     * types are only returned as follows:
     *
     * - If the user has the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue
     *   types are returned.
     * - If the user has the _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or
     *   more projects, the issue types associated with the projects the user has permission to browse are returned.
     * - If the user is anonymous then they will be able to access projects with the _Browse projects_ for anonymous users
     * - If the user authentication is incorrect they will fall back to anonymous
     */
    getIssueAllTypes<T = IssueTypeDetails[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all issue types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Issue
     * types are only returned as follows:
     *
     * - If the user has the _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue
     *   types are returned.
     * - If the user has the _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or
     *   more projects, the issue types associated with the projects the user has permission to browse are returned.
     * - If the user is anonymous then they will be able to access projects with the _Browse projects_ for anonymous users
     * - If the user authentication is incorrect they will fall back to anonymous
     */
    getIssueAllTypes<T = IssueTypeDetails[]>(callback?: never): Promise<T>;
    /**
     * Creates an issue type and adds it to the default issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueType<T = IssueTypeDetails>(parameters: CreateIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue type and adds it to the default issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueType<T = IssueTypeDetails>(parameters: CreateIssueType, callback?: never): Promise<T>;
    /**
     * Returns issue types for a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypesForProject<T = IssueTypeDetails[]>(parameters: GetIssueTypesForProject, callback: Callback<T>): Promise<void>;
    /**
     * Returns issue types for a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or _Administer
     * Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypesForProject<T = IssueTypeDetails[]>(parameters: GetIssueTypesForProject, callback?: never): Promise<T>;
    /**
     * Returns an issue type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated
     * with or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueType<T = IssueTypeDetails>(parameters: GetIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Returns an issue type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated
     * with or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueType<T = IssueTypeDetails>(parameters: GetIssueType, callback?: never): Promise<T>;
    /**
     * Updates the issue type.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueType<T = IssueTypeDetails>(parameters: UpdateIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Updates the issue type.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueType<T = IssueTypeDetails>(parameters: UpdateIssueType, callback?: never): Promise<T>;
    /**
     * Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type
     * (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue
     * types](#api-rest-api-3-issuetype-id-alternatives-get) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueType<T = void>(parameters: DeleteIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type
     * (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue
     * types](#api-rest-api-3-issuetype-id-alternatives-get) resource.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueType<T = void>(parameters: DeleteIssueType, callback?: never): Promise<T>;
    /**
     * Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those
     * assigned to the same workflow scheme, field configuration scheme, and screen scheme.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAlternativeIssueTypes<T = IssueTypeDetails[]>(parameters: GetAlternativeIssueTypes, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those
     * assigned to the same workflow scheme, field configuration scheme, and screen scheme.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAlternativeIssueTypes<T = IssueTypeDetails[]>(parameters: GetAlternativeIssueTypes, callback?: never): Promise<T>;
    /**
     * Loads an avatar for the issue type.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar, use [ Update issue
     * type](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-types/#api-rest-api-3-issuetype-id-put)
     * to set it as the issue type's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeAvatar<T = Avatar>(parameters: CreateIssueTypeAvatar, callback: Callback<T>): Promise<void>;
    /**
     * Loads an avatar for the issue type.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar, use [ Update issue
     * type](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-types/#api-rest-api-3-issuetype-id-put)
     * to set it as the issue type's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeAvatar<T = Avatar>(parameters: CreateIssueTypeAvatar, callback?: never): Promise<T>;
}

declare class IssueTypeSchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type schemes.
     *
     * Only issue type schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllIssueTypeSchemes<T = PageIssueTypeScheme>(parameters: GetAllIssueTypeSchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type schemes.
     *
     * Only issue type schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllIssueTypeSchemes<T = PageIssueTypeScheme>(parameters?: GetAllIssueTypeSchemes, callback?: never): Promise<T>;
    /**
     * Creates an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeScheme<T = IssueTypeSchemeID>(parameters: CreateIssueTypeScheme, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeScheme<T = IssueTypeSchemeID>(parameters: CreateIssueTypeScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type scheme items.
     *
     * Only issue type scheme items used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeSchemesMapping<T = PageIssueTypeSchemeMapping>(parameters: GetIssueTypeSchemesMapping | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type scheme items.
     *
     * Only issue type scheme items used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeSchemesMapping<T = PageIssueTypeSchemeMapping>(parameters?: GetIssueTypeSchemesMapping, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type schemes and, for each issue type scheme, a list of the projects that use it.
     *
     * Only issue type schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeSchemeForProjects<T = PageIssueTypeSchemeProjects>(parameters: GetIssueTypeSchemeForProjects, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type schemes and, for each issue type scheme, a list of the projects that use it.
     *
     * Only issue type schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeSchemeForProjects<T = PageIssueTypeSchemeProjects>(parameters: GetIssueTypeSchemeForProjects, callback?: never): Promise<T>;
    /**
     * Assigns an issue type scheme to a project.
     *
     * If any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To
     * complete the assignment those issues must be updated to use issue types in the new scheme.
     *
     * Issue type schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignIssueTypeSchemeToProject<T = void>(parameters: AssignIssueTypeSchemeToProject, callback: Callback<T>): Promise<void>;
    /**
     * Assigns an issue type scheme to a project.
     *
     * If any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To
     * complete the assignment those issues must be updated to use issue types in the new scheme.
     *
     * Issue type schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignIssueTypeSchemeToProject<T = void>(parameters: AssignIssueTypeSchemeToProject, callback?: never): Promise<T>;
    /**
     * Updates an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueTypeScheme<T = void>(parameters: UpdateIssueTypeScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueTypeScheme<T = void>(parameters: UpdateIssueTypeScheme, callback?: never): Promise<T>;
    /**
     * Deletes an issue type scheme.
     *
     * Only issue type schemes used in classic projects can be deleted.
     *
     * Any projects assigned to the scheme are reassigned to the default issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeScheme<T = void>(parameters: DeleteIssueTypeScheme, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue type scheme.
     *
     * Only issue type schemes used in classic projects can be deleted.
     *
     * Any projects assigned to the scheme are reassigned to the default issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeScheme<T = void>(parameters: DeleteIssueTypeScheme, callback?: never): Promise<T>;
    /**
     * Adds issue types to an issue type scheme.
     *
     * The added issue types are appended to the issue types list.
     *
     * If any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addIssueTypesToIssueTypeScheme<T = void>(parameters: AddIssueTypesToIssueTypeScheme, callback: Callback<T>): Promise<void>;
    /**
     * Adds issue types to an issue type scheme.
     *
     * The added issue types are appended to the issue types list.
     *
     * If any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addIssueTypesToIssueTypeScheme<T = void>(parameters: AddIssueTypesToIssueTypeScheme, callback?: never): Promise<T>;
    /**
     * Changes the order of issue types in an issue type scheme.
     *
     * The request body parameters must meet the following requirements:
     *
     * - All of the issue types must belong to the issue type scheme.
     * - Either `after` or `position` must be provided.
     * - The issue type in `after` must not be in the issue type list.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    reorderIssueTypesInIssueTypeScheme<T = void>(parameters: ReorderIssueTypesInIssueTypeScheme, callback: Callback<T>): Promise<void>;
    /**
     * Changes the order of issue types in an issue type scheme.
     *
     * The request body parameters must meet the following requirements:
     *
     * - All of the issue types must belong to the issue type scheme.
     * - Either `after` or `position` must be provided.
     * - The issue type in `after` must not be in the issue type list.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    reorderIssueTypesInIssueTypeScheme<T = void>(parameters: ReorderIssueTypesInIssueTypeScheme, callback?: never): Promise<T>;
    /**
     * Removes an issue type from an issue type scheme.
     *
     * This operation cannot remove:
     *
     * - Any issue type used by issues.
     * - Any issue types from the default issue type scheme.
     * - The last standard issue type from an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypeFromIssueTypeScheme<T = void>(parameters: RemoveIssueTypeFromIssueTypeScheme, callback: Callback<T>): Promise<void>;
    /**
     * Removes an issue type from an issue type scheme.
     *
     * This operation cannot remove:
     *
     * - Any issue type used by issues.
     * - Any issue types from the default issue type scheme.
     * - The last standard issue type from an issue type scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeIssueTypeFromIssueTypeScheme<T = void>(parameters: RemoveIssueTypeFromIssueTypeScheme, callback?: never): Promise<T>;
}

declare class IssueTypeScreenSchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type screen schemes.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemes<T = PageIssueTypeScreenScheme>(parameters: GetIssueTypeScreenSchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type screen schemes.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemes<T = PageIssueTypeScreenScheme>(parameters?: GetIssueTypeScreenSchemes, callback?: never): Promise<T>;
    /**
     * Creates an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeScreenScheme<T = IssueTypeScreenSchemeId>(parameters: CreateIssueTypeScreenScheme, callback: Callback<T>): Promise<void>;
    /**
     * Creates an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createIssueTypeScreenScheme<T = IssueTypeScreenSchemeId>(parameters: CreateIssueTypeScreenScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type screen scheme items.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemeMappings<T = PageIssueTypeScreenSchemeItem>(parameters: GetIssueTypeScreenSchemeMappings | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type screen scheme items.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemeMappings<T = PageIssueTypeScreenSchemeItem>(parameters?: GetIssueTypeScreenSchemeMappings, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type screen schemes and, for each issue type screen scheme, a list of the projects that use it.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemeProjectAssociations<T = PageIssueTypeScreenSchemesProjects>(parameters: GetIssueTypeScreenSchemeProjectAssociations, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of issue
     * type screen schemes and, for each issue type screen scheme, a list of the projects that use it.
     *
     * Only issue type screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getIssueTypeScreenSchemeProjectAssociations<T = PageIssueTypeScreenSchemesProjects>(parameters: GetIssueTypeScreenSchemeProjectAssociations, callback?: never): Promise<T>;
    /**
     * Assigns an issue type screen scheme to a project.
     *
     * Issue type screen schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignIssueTypeScreenSchemeToProject<T = void>(parameters: AssignIssueTypeScreenSchemeToProject | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Assigns an issue type screen scheme to a project.
     *
     * Issue type screen schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignIssueTypeScreenSchemeToProject<T = void>(parameters?: AssignIssueTypeScreenSchemeToProject, callback?: never): Promise<T>;
    /**
     * Updates an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueTypeScreenScheme<T = void>(parameters: UpdateIssueTypeScreenScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateIssueTypeScreenScheme<T = void>(parameters: UpdateIssueTypeScreenScheme, callback?: never): Promise<T>;
    /**
     * Deletes an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeScreenScheme<T = void>(parameters: DeleteIssueTypeScreenScheme, callback: Callback<T>): Promise<void>;
    /**
     * Deletes an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteIssueTypeScreenScheme<T = void>(parameters: DeleteIssueTypeScreenScheme, callback?: never): Promise<T>;
    /**
     * Appends issue type to screen scheme mappings to an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    appendMappingsForIssueTypeScreenScheme<T = void>(parameters: AppendMappingsForIssueTypeScreenScheme, callback: Callback<T>): Promise<void>;
    /**
     * Appends issue type to screen scheme mappings to an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    appendMappingsForIssueTypeScreenScheme<T = void>(parameters: AppendMappingsForIssueTypeScreenScheme, callback?: never): Promise<T>;
    /**
     * Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all
     * unmapped issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultScreenScheme<T = void>(parameters: UpdateDefaultScreenScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all
     * unmapped issue types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultScreenScheme<T = void>(parameters: UpdateDefaultScreenScheme, callback?: never): Promise<T>;
    /**
     * Removes issue type to screen scheme mappings from an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeMappingsFromIssueTypeScreenScheme<T = void>(parameters: RemoveMappingsFromIssueTypeScreenScheme, callback: Callback<T>): Promise<void>;
    /**
     * Removes issue type to screen scheme mappings from an issue type screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeMappingsFromIssueTypeScreenScheme<T = void>(parameters: RemoveMappingsFromIssueTypeScreenScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * projects associated with an issue type screen scheme.
     *
     * Only company-managed projects associated with an issue type screen scheme are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectsForIssueTypeScreenScheme<T = PageProjectDetails>(parameters: GetProjectsForIssueTypeScreenScheme, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * projects associated with an issue type screen scheme.
     *
     * Only company-managed projects associated with an issue type screen scheme are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectsForIssueTypeScreenScheme<T = PageProjectDetails>(parameters: GetProjectsForIssueTypeScreenScheme, callback?: never): Promise<T>;
}

declare class IssueVotes {
    private client;
    constructor(client: Client);
    /**
     * Returns details about the votes on an issue.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   ini
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * Note that users with the necessary permissions for this operation but without the _View voters and watchers_
     * project permissions are not returned details in the `voters` field.
     */
    getVotes<T = Votes>(parameters: GetVotes, callback: Callback<T>): Promise<void>;
    /**
     * Returns details about the votes on an issue.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   ini
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     *
     * Note that users with the necessary permissions for this operation but without the _View voters and watchers_
     * project permissions are not returned details in the `voters` field.
     */
    getVotes<T = Votes>(parameters: GetVotes, callback?: never): Promise<T>;
    /**
     * Adds the user's vote to an issue. This is the equivalent of the user clicking _Vote_ on an issue in Jira.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addVote<T = void>(parameters: AddVote, callback: Callback<T>): Promise<void>;
    /**
     * Adds the user's vote to an issue. This is the equivalent of the user clicking _Vote_ on an issue in Jira.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addVote<T = void>(parameters: AddVote, callback?: never): Promise<T>;
    /**
     * Deletes a user's vote from an issue. This is the equivalent of the user clicking _Unvote_ on an issue in Jira.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    removeVote<T = void>(parameters: RemoveVote, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a user's vote from an issue. This is the equivalent of the user clicking _Unvote_ on an issue in Jira.
     *
     * This operation requires the **Allow users to vote on issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    removeVote<T = void>(parameters: RemoveVote, callback?: never): Promise<T>;
}

declare class IssueWatchers {
    private client;
    constructor(client: Client);
    /**
     * Returns, for the user, details of the watched status of issues from a list. If an issue ID is invalid, the returned
     * watched status is `false`.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIsWatchingIssueBulk<T = BulkIssueIsWatching>(parameters: GetIsWatchingIssueBulk | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns, for the user, details of the watched status of issues from a list. If an issue ID is invalid, the returned
     * watched status is `false`.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getIsWatchingIssueBulk<T = BulkIssueIsWatching>(parameters?: GetIsWatchingIssueBulk, callback?: never): Promise<T>;
    /**
     * Returns the watchers for an issue.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   ini
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To see details of users on the watchlist other than themselves, _View voters and watchers_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    getIssueWatchers<T = Watchers>(parameters: GetIssueWatchers, callback: Callback<T>): Promise<void>;
    /**
     * Returns the watchers for an issue.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   ini
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To see details of users on the watchlist other than themselves, _View voters and watchers_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    getIssueWatchers<T = Watchers>(parameters: GetIssueWatchers, callback?: never): Promise<T>;
    /**
     * Adds a user as a watcher of an issue by passing the account ID of the user. For example,
     * `"5b10ac8d82e05b22cc7d4ef5"`. If no user is specified the calling user is added.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To add users other than themselves to the watchlist, _Manage watcher list_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    addWatcher<T = void>(parameters: AddWatcher, callback: Callback<T>): Promise<void>;
    /**
     * Adds a user as a watcher of an issue by passing the account ID of the user. For example,
     * `"5b10ac8d82e05b22cc7d4ef5"`. If no user is specified the calling user is added.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To add users other than themselves to the watchlist, _Manage watcher list_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    addWatcher<T = void>(parameters: AddWatcher, callback?: never): Promise<T>;
    /**
     * Deletes a user as a watcher of an issue.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To remove users other than themselves from the watchlist, _Manage watcher list_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    removeWatcher<T = void>(parameters: RemoveWatcher, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a user as a watcher of an issue.
     *
     * This operation requires the **Allow users to watch issues** option to be _ON_. This option is set in General
     * configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for
     * details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - To remove users other than themselves from the watchlist, _Manage watcher list_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
     */
    removeWatcher<T = void>(parameters: RemoveWatcher, callback?: never): Promise<T>;
}

declare class IssueWorklogProperties {
    private client;
    constructor(client: Client);
    /**
     * Returns the keys of all properties for a worklog.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklogPropertyKeys<T = PropertyKeys$1>(parameters: GetWorklogPropertyKeys, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for a worklog.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklogPropertyKeys<T = PropertyKeys$1>(parameters: GetWorklogPropertyKeys, callback?: never): Promise<T>;
    /**
     * Returns the value of a worklog property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklogProperty<T = EntityProperty$1>(parameters: GetWorklogProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a worklog property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklogProperty<T = EntityProperty$1>(parameters: GetWorklogProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of a worklog property. Use this operation to store custom data against the worklog.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
     *   own worklogs_ to update worklogs created by the user.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    setWorklogProperty<T = unknown>(parameters: SetWorklogProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a worklog property. Use this operation to store custom data against the worklog.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
     *   own worklogs_ to update worklogs created by the user.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    setWorklogProperty<T = unknown>(parameters: SetWorklogProperty, callback?: never): Promise<T>;
    /**
     * Deletes a worklog property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    deleteWorklogProperty<T = void>(parameters: DeleteWorklogProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a worklog property.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    deleteWorklogProperty<T = void>(parameters: DeleteWorklogProperty, callback?: never): Promise<T>;
}

declare class IssueWorklogs {
    private client;
    constructor(client: Client);
    /**
     * Returns worklogs for an issue (ordered by created time), starting from the oldest worklog or from the worklog
     * started on or after a date and time.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Workloads are only returned where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getIssueWorklog<T = PageOfWorklogs>(parameters: GetIssueWorklog, callback: Callback<T>): Promise<void>;
    /**
     * Returns worklogs for an issue (ordered by created time), starting from the oldest worklog or from the worklog
     * started on or after a date and time.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Workloads are only returned where the user has:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getIssueWorklog<T = PageOfWorklogs>(parameters: GetIssueWorklog, callback?: never): Promise<T>;
    /**
     * Adds a worklog to an issue.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Work on issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addWorklog<T = Worklog>(parameters: AddWorklog, callback: Callback<T>): Promise<void>;
    /**
     * Adds a worklog to an issue.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ and _Work on issues_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the
     *   project that the issue is in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    addWorklog<T = Worklog>(parameters: AddWorklog, callback?: never): Promise<T>;
    /**
     * Deletes a list of worklogs from an issue. This is an experimental API with limitations:
     *
     * - You can't delete more than 5000 worklogs at once.
     * - No notifications will be sent for deleted worklogs.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog.
     * - If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    bulkDeleteWorklogs<T = void>(parameters: BulkDeleteWorklogs, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a list of worklogs from an issue. This is an experimental API with limitations:
     *
     * - You can't delete more than 5000 worklogs at once.
     * - No notifications will be sent for deleted worklogs.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the
     *   issue.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog.
     * - If any worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    bulkDeleteWorklogs<T = void>(parameters: BulkDeleteWorklogs, callback?: never): Promise<T>;
    /**
     * Moves a list of worklogs from one issue to another. This is an experimental API with several limitations:
     *
     * - You can't move more than 5000 worklogs at once.
     * - You can't move worklogs containing an attachment.
     * - You can't move worklogs restricted by project roles.
     * - No notifications will be sent for moved worklogs.
     * - No webhooks or events will be sent for moved worklogs.
     * - No issue history will be recorded for moved worklogs.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects containing the
     *   source and destination issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ and _Edit all worklogs_](https://confluence.atlassian.com/x/yodKLg)[project
     *   permission](https://confluence.atlassian.com/x/yodKLg)
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    bulkMoveWorklogs<T = void>(parameters: BulkMoveWorklogs, callback: Callback<T>): Promise<void>;
    /**
     * Moves a list of worklogs from one issue to another. This is an experimental API with several limitations:
     *
     * - You can't move more than 5000 worklogs at once.
     * - You can't move worklogs containing an attachment.
     * - You can't move worklogs restricted by project roles.
     * - No notifications will be sent for moved worklogs.
     * - No webhooks or events will be sent for moved worklogs.
     * - No issue history will be recorded for moved worklogs.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the projects containing the
     *   source and destination issues.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ and _Edit all worklogs_](https://confluence.atlassian.com/x/yodKLg)[project
     *   permission](https://confluence.atlassian.com/x/yodKLg)
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    bulkMoveWorklogs<T = void>(parameters: BulkMoveWorklogs, callback?: never): Promise<T>;
    /**
     * Returns a worklog.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklog<T = Worklog>(parameters: GetWorklog, callback: Callback<T>): Promise<void>;
    /**
     * Returns a worklog.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    getWorklog<T = Worklog>(parameters: GetWorklog, callback?: never): Promise<T>;
    /**
     * Updates a worklog.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
     *   own worklogs_ to update worklogs created by the user.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    updateWorklog<T = Worklog>(parameters: UpdateWorklog, callback: Callback<T>): Promise<void>;
    /**
     * Updates a worklog.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Edit all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or _Edit
     *   own worklogs_ to update worklogs created by the user.
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    updateWorklog<T = Worklog>(parameters: UpdateWorklog, callback?: never): Promise<T>;
    /**
     * Deletes a worklog from an issue.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or
     *   _Delete own worklogs_ to delete worklogs created by the user,
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    deleteWorklog<T = void>(parameters: DeleteWorklog, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a worklog from an issue.
     *
     * Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see
     * [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     * - _Delete all worklogs_[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or
     *   _Delete own worklogs_ to delete worklogs created by the user,
     * - If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.
     */
    deleteWorklog<T = void>(parameters: DeleteWorklog, callback?: never): Promise<T>;
    /**
     * Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.
     *
     * This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
     * youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
     * item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
     * to true on the last page of worklogs.
     *
     * This resource does not return worklogs deleted during the minute preceding the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getIdsOfWorklogsDeletedSince<T = ChangedWorklogs>(parameters: GetIdsOfWorklogsDeletedSince | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.
     *
     * This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
     * youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
     * item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
     * to true on the last page of worklogs.
     *
     * This resource does not return worklogs deleted during the minute preceding the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getIdsOfWorklogsDeletedSince<T = ChangedWorklogs>(parameters?: GetIdsOfWorklogsDeletedSince, callback?: never): Promise<T>;
    /**
     * Returns worklog details for a list of worklog IDs.
     *
     * The returned list of worklogs is limited to 1000 items.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, worklogs are only returned where either of the following is true:
     *
     * - The worklog is set as _Viewable by All Users_.
     * - The user is a member of a project role or group with permission to view the worklog.
     */
    getWorklogsForIds<T = Worklog[]>(parameters: GetWorklogsForIds | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns worklog details for a list of worklog IDs.
     *
     * The returned list of worklogs is limited to 1000 items.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, worklogs are only returned where either of the following is true:
     *
     * - The worklog is set as _Viewable by All Users_.
     * - The user is a member of a project role or group with permission to view the worklog.
     */
    getWorklogsForIds<T = Worklog[]>(parameters?: GetWorklogsForIds, callback?: never): Promise<T>;
    /**
     * Returns a list of IDs and update timestamps for worklogs updated after a date and time.
     *
     * This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
     * youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
     * item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
     * to true on the last page of worklogs.
     *
     * This resource does not return worklogs updated during the minute preceding the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, worklogs are only returned where either of the following is true:
     *
     * - The worklog is set as _Viewable by All Users_.
     * - The user is a member of a project role or group with permission to view the worklog.
     */
    getIdsOfWorklogsModifiedSince<T = ChangedWorklogs>(parameters: GetIdsOfWorklogsModifiedSince | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of IDs and update timestamps for worklogs updated after a date and time.
     *
     * This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to
     * youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest
     * item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set
     * to true on the last page of worklogs.
     *
     * This resource does not return worklogs updated during the minute preceding the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira, however, worklogs are only returned where either of the following is true:
     *
     * - The worklog is set as _Viewable by All Users_.
     * - The user is a member of a project role or group with permission to view the worklog.
     */
    getIdsOfWorklogsModifiedSince<T = ChangedWorklogs>(parameters?: GetIdsOfWorklogsModifiedSince, callback?: never): Promise<T>;
}

declare class JiraExpressions {
    private client;
    constructor(client: Client);
    /**
     * Analyses and validates Jira expressions.
     *
     * As an experimental feature, this operation can also attempt to type-check the expressions.
     *
     * Learn more about Jira expressions in the
     * [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required**: None.
     */
    analyseExpression<T = JiraExpressionsAnalysis>(parameters: AnalyseExpression | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Analyses and validates Jira expressions.
     *
     * As an experimental feature, this operation can also attempt to type-check the expressions.
     *
     * Learn more about Jira expressions in the
     * [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required**: None.
     */
    analyseExpression<T = JiraExpressionsAnalysis>(parameters?: AnalyseExpression, callback?: never): Promise<T>;
    /**
     * Evaluates a Jira expression and returns its value.
     *
     * This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible
     * way. Consult the [Jira expressions
     * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
     *
     * #### Context variables
     *
     * The following context variables are available to Jira expressions evaluated by this resource. Their presence
     * depends on various factors; usually you need to manually request them in the context object sent in the payload,
     * but some of them are added automatically under certain conditions.
     *
     * - `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The
     *   current user. Always available and equal to `null` if the request is anonymous.
     * - `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The
     *   [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request.
     *   Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect
     *   apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
     * - `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The
     *   current issue. Available only when the issue is provided in the request context object.
     * - `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of
     *   [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A
     *   collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
     * - `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
     *   The current project. Available only when the project is provided in the request context object.
     * - `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
     *   The current sprint. Available only when the sprint is provided in the request context object.
     * - `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The
     *   current board. Available only when the board is provided in the request context object.
     * - `serviceDesk`
     *   ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
     *   The current service desk. Available only when the service desk is provided in the request context object.
     * - `customerRequest`
     *   ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
     *   The current customer request. Available only when the customer request is provided in the request context
     *   object.
     *
     * Also, custom context variables can be passed in the request with their types. Those variables can be accessed by
     * key in the Jira expression. These variable types are available for use in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required**: None.
     * However, an expression may return different results for different users depending on their permissions. For
     * example, different users may see different comments on the same issue.\
     * Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or
     * fields (for example, `issue.sprint`).
     */
    evaluateJiraExpression<T = JiraExpressionResult>(parameters: EvaluateJiraExpression, callback: Callback<T>): Promise<void>;
    /**
     * Evaluates a Jira expression and returns its value.
     *
     * This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible
     * way. Consult the [Jira expressions
     * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
     *
     * #### Context variables
     *
     * The following context variables are available to Jira expressions evaluated by this resource. Their presence
     * depends on various factors; usually you need to manually request them in the context object sent in the payload,
     * but some of them are added automatically under certain conditions.
     *
     * - `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The
     *   current user. Always available and equal to `null` if the request is anonymous.
     * - `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The
     *   [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request.
     *   Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect
     *   apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
     * - `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The
     *   current issue. Available only when the issue is provided in the request context object.
     * - `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of
     *   [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A
     *   collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
     * - `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
     *   The current project. Available only when the project is provided in the request context object.
     * - `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
     *   The current sprint. Available only when the sprint is provided in the request context object.
     * - `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The
     *   current board. Available only when the board is provided in the request context object.
     * - `serviceDesk`
     *   ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
     *   The current service desk. Available only when the service desk is provided in the request context object.
     * - `customerRequest`
     *   ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
     *   The current customer request. Available only when the customer request is provided in the request context
     *   object.
     *
     * Also, custom context variables can be passed in the request with their types. Those variables can be accessed by
     * key in the Jira expression. These variable types are available for use in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required**: None.
     * However, an expression may return different results for different users depending on their permissions. For
     * example, different users may see different comments on the same issue.\
     * Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or
     * fields (for example, `issue.sprint`).
     */
    evaluateJiraExpression<T = JiraExpressionResult>(parameters: EvaluateJiraExpression, callback?: never): Promise<T>;
    /**
     * Evaluates a Jira expression and returns its value. The difference between this and `eval` is that this endpoint
     * uses the enhanced search API when evaluating JQL queries. This API is eventually consistent, unlike the strongly
     * consistent `eval` API. This allows for better performance and scalability. In addition, this API's response for JQL
     * evaluation is based on a scrolling view (backed by a `nextPageToken`) instead of a paginated view (backed by
     * `startAt` and `totalCount`).
     *
     * This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible
     * way. Consult the [Jira expressions
     * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
     *
     * #### Context variables
     *
     * The following context variables are available to Jira expressions evaluated by this resource. Their presence
     * depends on various factors; usually you need to manually request them in the context object sent in the payload,
     * but some of them are added automatically under certain conditions.
     *
     * - `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The
     *   current user. Always available and equal to `null` if the request is anonymous.
     * - `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The
     *   [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request.
     *   Available only for authenticated requests made by Connect apps (read more here: [Authentication for Connect
     *   apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
     * - `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The
     *   current issue. Available only when the issue is provided in the request context object.
     * - `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of
     *   [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A
     *   collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
     * - `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
     *   The current project. Available only when the project is provided in the request context object.
     * - `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
     *   The current sprint. Available only when the sprint is provided in the request context object.
     * - `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The
     *   current board. Available only when the board is provided in the request context object.
     * - `serviceDesk`
     *   ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
     *   The current service desk. Available only when the service desk is provided in the request context object.
     * - `customerRequest`
     *   ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
     *   The current customer request. Available only when the customer request is provided in the request context
     *   object.
     *
     * In addition, you can pass custom context variables along with their types. You can then access them from the Jira
     * expression by key. You can use the following variables in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required**: None.
     * However, an expression may return different results for different users depending on their permissions. For
     * example, different users may see different comments on the same issue.\
     * Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or
     * fields (for example, `issue.sprint`).
     */
    evaluateJiraExpressionUsingEnhancedSearch<T = EvaluatedJiraExpression>(parameters: EvaluateJiraExpressionUsingEnhancedSearch, callback: Callback<T>): Promise<void>;
    /**
     * Evaluates a Jira expression and returns its value. The difference between this and `eval` is that this endpoint
     * uses the enhanced search API when evaluating JQL queries. This API is eventually consistent, unlike the strongly
     * consistent `eval` API. This allows for better performance and scalability. In addition, this API's response for JQL
     * evaluation is based on a scrolling view (backed by a `nextPageToken`) instead of a paginated view (backed by
     * `startAt` and `totalCount`).
     *
     * This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible
     * way. Consult the [Jira expressions
     * documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.
     *
     * #### Context variables
     *
     * The following context variables are available to Jira expressions evaluated by this resource. Their presence
     * depends on various factors; usually you need to manually request them in the context object sent in the payload,
     * but some of them are added automatically under certain conditions.
     *
     * - `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The
     *   current user. Always available and equal to `null` if the request is anonymous.
     * - `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The
     *   [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request.
     *   Available only for authenticated requests made by Connect apps (read more here: [Authentication for Connect
     *   apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
     * - `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The
     *   current issue. Available only when the issue is provided in the request context object.
     * - `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of
     *   [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A
     *   collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
     * - `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)):
     *   The current project. Available only when the project is provided in the request context object.
     * - `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)):
     *   The current sprint. Available only when the sprint is provided in the request context object.
     * - `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The
     *   current board. Available only when the board is provided in the request context object.
     * - `serviceDesk`
     *   ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)):
     *   The current service desk. Available only when the service desk is provided in the request context object.
     * - `customerRequest`
     *   ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)):
     *   The current customer request. Available only when the customer request is provided in the request context
     *   object.
     *
     * In addition, you can pass custom context variables along with their types. You can then access them from the Jira
     * expression by key. You can use the following variables in a custom context:
     *
     * - `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)
     *   specified as an Atlassian account ID.
     * - `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)
     *   specified by ID or key. All the fields of the issue object are available in the Jira expression.
     * - `json`: A JSON object containing custom content.
     * - `list`: A JSON list of `user`, `issue`, or `json` variable types.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required**: None.
     * However, an expression may return different results for different users depending on their permissions. For
     * example, different users may see different comments on the same issue.\
     * Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or
     * fields (for example, `issue.sprint`).
     */
    evaluateJiraExpressionUsingEnhancedSearch<T = EvaluatedJiraExpression>(parameters: EvaluateJiraExpressionUsingEnhancedSearch, callback?: never): Promise<T>;
}

declare class JiraSettings {
    private client;
    constructor(client: Client);
    /**
     * Returns all application properties or an application property.
     *
     * If you specify a value for the `key` parameter, then an application property is returned as an object (not in an
     * array). Otherwise, an array of all editable application properties is returned. See [Set application
     * property](#api-rest-api-3-application-properties-id-put) for descriptions of editable properties.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApplicationProperty<T = ApplicationProperty[]>(parameters: GetApplicationProperty | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all application properties or an application property.
     *
     * If you specify a value for the `key` parameter, then an application property is returned as an object (not in an
     * array). Otherwise, an array of all editable application properties is returned. See [Set application
     * property](#api-rest-api-3-application-properties-id-put) for descriptions of editable properties.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApplicationProperty<T = ApplicationProperty[]>(parameters?: GetApplicationProperty, callback?: never): Promise<T>;
    /**
     * Returns the application properties that are accessible on the _Advanced Settings_ page. To navigate to the
     * _Advanced Settings_ page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration**
     * and then click **Advanced Settings** (in the upper right).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAdvancedSettings<T = ApplicationProperty[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the application properties that are accessible on the _Advanced Settings_ page. To navigate to the
     * _Advanced Settings_ page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration**
     * and then click **Advanced Settings** (in the upper right).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAdvancedSettings<T = ApplicationProperty[]>(callback?: never): Promise<T>;
    /**
     * Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from
     * its default value of _CLONE -_ to _Clone -_ if you prefer sentence case capitalization. Editable properties are
     * described below along with their default values.
     *
     * #### Advanced settings
     *
     * The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).
     *
     * | Key                                       | Description                                                                                                                                             | Default value            |
     * | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
     * | `jira.clone.prefix`                       | The string of text prefixed to the title of a cloned issue.                                                                                             | `CLONE -`                |
     * | `jira.date.picker.java.format`            | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting.           | `d/MMM/yy`               |
     * | `jira.date.picker.javascript.format`      | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting.           | `%e/%b/%y`               |
     * | `jira.date.time.picker.java.format`       | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a`       |
     * | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p`      |
     * | `jira.issue.actions.order`                | The default order of actions (such as _Comments_ or _Change history_) displayed on the issue view.                                                      | `asc`                    |
     * | `jira.view.issue.links.sort.order`        | The sort order of the list of issue links on the issue view.                                                                                            | `type, status, priority` |
     * | `jira.comment.collapsing.minimum.hidden`  | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing.                                    | `4`                      |
     * | `jira.newsletter.tip.delay.days`          | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature.                          | `7`                      |
     *
     * #### Look and feel
     *
     * The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).
     *
     * | Key                                   | Description                                                                                                        | Default value                |
     * | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
     * | `jira.lf.date.time`                   | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).          | `h:mm a`                     |
     * | `jira.lf.date.day`                    | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).           | `EEEE h:mm a`                |
     * | `jira.lf.date.complete`               | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a`           |
     * | `jira.lf.date.dmy`                    | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).          | `dd/MMM/yy`                  |
     * | `jira.date.time.picker.use.iso8061`   | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard.   | `false`                      |
     * | `jira.lf.logo.url`                    | The URL of the logo image file.                                                                                    | `/images/icon-jira-logo.png` |
     * | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar.                                                   | `false`                      |
     * | `jira.lf.favicon.url`                 | The URL of the favicon.                                                                                            | `/favicon.ico`               |
     * | `jira.lf.favicon.hires.url`           | The URL of the high-resolution favicon.                                                                            | `/images/64jira.png`         |
     * | `jira.lf.navigation.bgcolour`         | The background color of the sidebar.                                                                               | `#0747A6`                    |
     * | `jira.lf.navigation.highlightcolour`  | The color of the text and logo of the sidebar.                                                                     | `#DEEBFF`                    |
     * | `jira.lf.hero.button.base.bg.colour`  | The background color of the hero button.                                                                           | `#3b7fc4`                    |
     * | `jira.title`                          | The text for the application title. The application title can also be set in _General settings_.                   | `Jira`                       |
     * | `jira.option.globalsharing`           | Whether filters and dashboards can be shared with anyone signed into Jira.                                         | `true`                       |
     * | `xflow.product.suggestions.enabled`   | Whether to expose product suggestions for other Atlassian products within Jira.                                    | `true`                       |
     *
     * #### Other settings
     *
     * | Key                                 | Description                                           | Default value |
     * | ----------------------------------- | ----------------------------------------------------- | ------------- |
     * | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true`        |
     *
     * _Note: Be careful when changing [application properties and advanced
     * settings](https://confluence.atlassian.com/x/vYXKM)._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setApplicationProperty<T = ApplicationProperty>(parameters: SetApplicationProperty, callback: Callback<T>): Promise<void>;
    /**
     * Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from
     * its default value of _CLONE -_ to _Clone -_ if you prefer sentence case capitalization. Editable properties are
     * described below along with their default values.
     *
     * #### Advanced settings
     *
     * The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).
     *
     * | Key                                       | Description                                                                                                                                             | Default value            |
     * | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
     * | `jira.clone.prefix`                       | The string of text prefixed to the title of a cloned issue.                                                                                             | `CLONE -`                |
     * | `jira.date.picker.java.format`            | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting.           | `d/MMM/yy`               |
     * | `jira.date.picker.javascript.format`      | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting.           | `%e/%b/%y`               |
     * | `jira.date.time.picker.java.format`       | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a`       |
     * | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p`      |
     * | `jira.issue.actions.order`                | The default order of actions (such as _Comments_ or _Change history_) displayed on the issue view.                                                      | `asc`                    |
     * | `jira.view.issue.links.sort.order`        | The sort order of the list of issue links on the issue view.                                                                                            | `type, status, priority` |
     * | `jira.comment.collapsing.minimum.hidden`  | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing.                                    | `4`                      |
     * | `jira.newsletter.tip.delay.days`          | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature.                          | `7`                      |
     *
     * #### Look and feel
     *
     * The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).
     *
     * | Key                                   | Description                                                                                                        | Default value                |
     * | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------- |
     * | `jira.lf.date.time`                   | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).          | `h:mm a`                     |
     * | `jira.lf.date.day`                    | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).           | `EEEE h:mm a`                |
     * | `jira.lf.date.complete`               | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a`           |
     * | `jira.lf.date.dmy`                    | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).          | `dd/MMM/yy`                  |
     * | `jira.date.time.picker.use.iso8061`   | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard.   | `false`                      |
     * | `jira.lf.logo.url`                    | The URL of the logo image file.                                                                                    | `/images/icon-jira-logo.png` |
     * | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar.                                                   | `false`                      |
     * | `jira.lf.favicon.url`                 | The URL of the favicon.                                                                                            | `/favicon.ico`               |
     * | `jira.lf.favicon.hires.url`           | The URL of the high-resolution favicon.                                                                            | `/images/64jira.png`         |
     * | `jira.lf.navigation.bgcolour`         | The background color of the sidebar.                                                                               | `#0747A6`                    |
     * | `jira.lf.navigation.highlightcolour`  | The color of the text and logo of the sidebar.                                                                     | `#DEEBFF`                    |
     * | `jira.lf.hero.button.base.bg.colour`  | The background color of the hero button.                                                                           | `#3b7fc4`                    |
     * | `jira.title`                          | The text for the application title. The application title can also be set in _General settings_.                   | `Jira`                       |
     * | `jira.option.globalsharing`           | Whether filters and dashboards can be shared with anyone signed into Jira.                                         | `true`                       |
     * | `xflow.product.suggestions.enabled`   | Whether to expose product suggestions for other Atlassian products within Jira.                                    | `true`                       |
     *
     * #### Other settings
     *
     * | Key                                 | Description                                           | Default value |
     * | ----------------------------------- | ----------------------------------------------------- | ------------- |
     * | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true`        |
     *
     * _Note: Be careful when changing [application properties and advanced
     * settings](https://confluence.atlassian.com/x/vYXKM)._
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setApplicationProperty<T = ApplicationProperty>(parameters: SetApplicationProperty, callback?: never): Promise<T>;
    /**
     * Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether
     * optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this
     * operation also returns the time tracking configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getConfiguration<T = Configuration>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether
     * optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this
     * operation also returns the time tracking configuration.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getConfiguration<T = Configuration>(callback?: never): Promise<T>;
}

declare class JQL {
    private client;
    constructor(client: Client);
    /**
     * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions
     * reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this
     * information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom
     * query builder.
     *
     * To filter visible field details by project or collapse non-unique fields by field type then [Get field reference
     * data (POST)](#api-rest-api-3-jql-autocompletedata-post) can be used.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAutoComplete<T = JQLReferenceData>(callback: Callback<T>): Promise<void>;
    /**
     * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions
     * reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this
     * information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom
     * query builder.
     *
     * To filter visible field details by project or collapse non-unique fields by field type then [Get field reference
     * data (POST)](#api-rest-api-3-jql-autocompletedata-post) can be used.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAutoComplete<T = JQLReferenceData>(callback?: never): Promise<T>;
    /**
     * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions
     * reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this
     * information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom
     * query builder.
     *
     * This operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored.
     * System fields are always returned.
     *
     * It can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across
     * all fields with the same name and of the same field type. For example, the collapsed field `Component -
     * Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched
     * simultaneously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAutoCompletePost<T = JQLReferenceData>(parameters: GetAutoCompletePost | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced
     * searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions
     * reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this
     * information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom
     * query builder.
     *
     * This operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored.
     * System fields are always returned.
     *
     * It can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across
     * all fields with the same name and of the same field type. For example, the collapsed field `Component -
     * Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched
     * simultaneously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAutoCompletePost<T = JQLReferenceData>(parameters?: GetAutoCompletePost, callback?: never): Promise<T>;
    /**
     * Returns the JQL search auto complete suggestions for a field.
     *
     * Suggestions can be obtained by providing:
     *
     * - `fieldName` to get a list of all values for the field.
     * - `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.
     * - `fieldName` and `predicateName` to get a list of all predicate values for the field.
     * - `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in
     *   `predicateValue`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getFieldAutoCompleteForQueryString<T = AutoCompleteSuggestions>(parameters: GetFieldAutoCompleteForQueryString | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the JQL search auto complete suggestions for a field.
     *
     * Suggestions can be obtained by providing:
     *
     * - `fieldName` to get a list of all values for the field.
     * - `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.
     * - `fieldName` and `predicateName` to get a list of all predicate values for the field.
     * - `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in
     *   `predicateValue`.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getFieldAutoCompleteForQueryString<T = AutoCompleteSuggestions>(parameters?: GetFieldAutoCompleteForQueryString, callback?: never): Promise<T>;
    /**
     * Parses and validates JQL queries.
     *
     * Validation is performed in context of the current user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    parseJqlQueries<T = ParsedJqlQueries>(parameters: ParseJqlQueries, callback: Callback<T>): Promise<void>;
    /**
     * Parses and validates JQL queries.
     *
     * Validation is performed in context of the current user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    parseJqlQueries<T = ParsedJqlQueries>(parameters: ParseJqlQueries, callback?: never): Promise<T>;
    /**
     * Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with
     * account IDs.
     *
     * You may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For
     * more information about GDPR-related changes, see the [migration
     * guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    migrateQueries<T = ConvertedJQLQueries>(parameters: MigrateQueries | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with
     * account IDs.
     *
     * You may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For
     * more information about GDPR-related changes, see the [migration
     * guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    migrateQueries<T = ConvertedJQLQueries>(parameters?: MigrateQueries, callback?: never): Promise<T>;
    /**
     * Sanitizes one or more JQL queries by converting readable details into IDs where a user doesn't have permission to
     * view the entity.
     *
     * For example, if the query contains the clause _project = 'Secret project'_, and a user does not have browse
     * permission for the project "Secret project", the sanitized query replaces the clause with _project = 12345"_ (where
     * 12345 is the ID of the project). If a user has the required permission, the clause is not sanitized. If the account
     * ID is null, sanitizing is performed for an anonymous user.
     *
     * Note that sanitization doesn't make the queries GDPR-compliant, because it doesn't remove user identifiers
     * (username or user key). If you need to make queries GDPR-compliant, use [Convert user identifiers to account IDs in
     * JQL
     * queries](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jql/#api-rest-api-3-jql-sanitize-post).
     *
     * Before sanitization each JQL query is parsed. The queries are returned in the same order that they were passed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    sanitiseJqlQueries<T = SanitizedJqlQueries>(parameters: SanitiseJqlQueries | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Sanitizes one or more JQL queries by converting readable details into IDs where a user doesn't have permission to
     * view the entity.
     *
     * For example, if the query contains the clause _project = 'Secret project'_, and a user does not have browse
     * permission for the project "Secret project", the sanitized query replaces the clause with _project = 12345"_ (where
     * 12345 is the ID of the project). If a user has the required permission, the clause is not sanitized. If the account
     * ID is null, sanitizing is performed for an anonymous user.
     *
     * Note that sanitization doesn't make the queries GDPR-compliant, because it doesn't remove user identifiers
     * (username or user key). If you need to make queries GDPR-compliant, use [Convert user identifiers to account IDs in
     * JQL
     * queries](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jql/#api-rest-api-3-jql-sanitize-post).
     *
     * Before sanitization each JQL query is parsed. The queries are returned in the same order that they were passed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    sanitiseJqlQueries<T = SanitizedJqlQueries>(parameters?: SanitiseJqlQueries, callback?: never): Promise<T>;
}

declare class JqlFunctionsApps {
    private client;
    constructor(client: Client);
    /**
     * Returns the list of a function's precomputations along with information about when they were created, updated, and
     * last used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** This
     * API is only accessible to apps and apps can only inspect their own functions.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getPrecomputations<T = PageJqlFunctionPrecomputation>(parameters: GetPrecomputations | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the list of a function's precomputations along with information about when they were created, updated, and
     * last used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** This
     * API is only accessible to apps and apps can only inspect their own functions.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getPrecomputations<T = PageJqlFunctionPrecomputation>(parameters?: GetPrecomputations, callback?: never): Promise<T>;
    /**
     * Update the precomputation value of a function created by a Forge/Connect app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** An API
     * for apps to update their own precomputations.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updatePrecomputations<T = void>(parameters: UpdatePrecomputations, callback: Callback<T>): Promise<void>;
    /**
     * Update the precomputation value of a function created by a Forge/Connect app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** An API
     * for apps to update their own precomputations.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updatePrecomputations<T = void>(parameters: UpdatePrecomputations, callback?: never): Promise<T>;
    /**
     * Returns function precomputations by IDs, along with information about when they were created, updated, and last
     * used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** This
     * API is only accessible to apps and apps can only inspect their own functions.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getPrecomputationsByID<T = JqlFunctionPrecomputationGetByIdResponse>(parameters: GetPrecomputationsByID, callback: Callback<T>): Promise<void>;
    /**
     * Returns function precomputations by IDs, along with information about when they were created, updated, and last
     * used. Each precomputation has a `value` - the JQL fragment to replace the custom function clause with.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** This
     * API is only accessible to apps and apps can only inspect their own functions.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getPrecomputationsByID<T = JqlFunctionPrecomputationGetByIdResponse>(parameters: GetPrecomputationsByID, callback?: never): Promise<T>;
}

declare class Labels {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * labels.
     */
    getAllLabels<T = PageString>(parameters: GetAllLabels | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * labels.
     */
    getAllLabels<T = PageString>(parameters?: GetAllLabels, callback?: never): Promise<T>;
}

declare class LicenseMetrics {
    private client;
    constructor(client: Client);
    /**
     * Returns licensing information about the Jira instance.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getLicense<T = License>(callback: Callback<T>): Promise<void>;
    /**
     * Returns licensing information about the Jira instance.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getLicense<T = License>(callback?: never): Promise<T>;
    /**
     * Returns the approximate number of user accounts across all Jira licenses. Note that this information is cached with
     * a 7-day lifecycle and could be stale at the time of call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApproximateLicenseCount<T = LicenseMetric>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the approximate number of user accounts across all Jira licenses. Note that this information is cached with
     * a 7-day lifecycle and could be stale at the time of call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApproximateLicenseCount<T = LicenseMetric>(callback?: never): Promise<T>;
    /**
     * Returns the total approximate number of user accounts for a single Jira license. Note that this information is
     * cached with a 7-day lifecycle and could be stale at the time of call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApproximateApplicationLicenseCount<T = LicenseMetric>(applicationKey: string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the total approximate number of user accounts for a single Jira license. Note that this information is
     * cached with a 7-day lifecycle and could be stale at the time of call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getApproximateApplicationLicenseCount<T = LicenseMetric>(applicationKey: string, callback?: never): Promise<T>;
}

declare class Myself {
    private client;
    constructor(client: Client);
    /**
     * Returns the value of a preference of the current user.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default this is not set and the user takes the locale of the
     *   instance.
     * - _jira.user.timezone_ The time zone of the user. By default this is not set and the user takes the timezone of the
     *   instance.
     *
     * These system preferences keys will be deprecated by 15/07/2024. You can still retrieve these keys, but it will not
     * have any impact on Notification behaviour.
     *
     * - _user.notifications.watcher_ Whether the user gets notified when they are watcher.
     * - _user.notifications.assignee_ Whether the user gets notified when they are assignee.
     * - _user.notifications.reporter_ Whether the user gets notified when they are reporter.
     * - _user.notifications.mentions_ Whether the user gets notified when they are mentions.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPreference<T = string>(parameters: GetPreference, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a preference of the current user.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default this is not set and the user takes the locale of the
     *   instance.
     * - _jira.user.timezone_ The time zone of the user. By default this is not set and the user takes the timezone of the
     *   instance.
     *
     * These system preferences keys will be deprecated by 15/07/2024. You can still retrieve these keys, but it will not
     * have any impact on Notification behaviour.
     *
     * - _user.notifications.watcher_ Whether the user gets notified when they are watcher.
     * - _user.notifications.assignee_ Whether the user gets notified when they are assignee.
     * - _user.notifications.reporter_ Whether the user gets notified when they are reporter.
     * - _user.notifications.mentions_ Whether the user gets notified when they are mentions.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPreference<T = string>(parameters: GetPreference, callback?: never): Promise<T>;
    /**
     * Creates a preference for the user or updates a preference's value by sending a plain text string. For example,
     * `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the
     * following keys define system preferences that can be set or created:
     *
     * - _user.notifications.mimetype_ The mime type used in notifications sent to the user. Defaults to `html`.
     * - _user.default.share.private_ Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private.
     *   Defaults to `true`.
     * - _user.keyboard.shortcuts.disabled_ Whether keyboard shortcuts are disabled. Defaults to `false`.
     * - _user.autowatch.disabled_ Whether the user automatically watches issues they create or add a comment to. By
     *   default, not set: the user takes the instance autowatch setting.
     * - _user.notifiy.own.changes_ Whether the user gets notified of their own changes.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default, not set. The user takes the instance locale.
     * - _jira.user.timezone_ The time zone of the user. By default, not set. The user takes the instance timezone.
     *
     * These system preferences keys will be deprecated by 15/07/2024. You can still use these keys to create arbitrary
     * preferences, but it will not have any impact on Notification behaviour.
     *
     * - _user.notifications.watcher_ Whether the user gets notified when they are watcher.
     * - _user.notifications.assignee_ Whether the user gets notified when they are assignee.
     * - _user.notifications.reporter_ Whether the user gets notified when they are reporter.
     * - _user.notifications.mentions_ Whether the user gets notified when they are mentions.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    setPreference<T = void>(parameters: SetPreference, callback: Callback<T>): Promise<void>;
    /**
     * Creates a preference for the user or updates a preference's value by sending a plain text string. For example,
     * `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the
     * following keys define system preferences that can be set or created:
     *
     * - _user.notifications.mimetype_ The mime type used in notifications sent to the user. Defaults to `html`.
     * - _user.default.share.private_ Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private.
     *   Defaults to `true`.
     * - _user.keyboard.shortcuts.disabled_ Whether keyboard shortcuts are disabled. Defaults to `false`.
     * - _user.autowatch.disabled_ Whether the user automatically watches issues they create or add a comment to. By
     *   default, not set: the user takes the instance autowatch setting.
     * - _user.notifiy.own.changes_ Whether the user gets notified of their own changes.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default, not set. The user takes the instance locale.
     * - _jira.user.timezone_ The time zone of the user. By default, not set. The user takes the instance timezone.
     *
     * These system preferences keys will be deprecated by 15/07/2024. You can still use these keys to create arbitrary
     * preferences, but it will not have any impact on Notification behaviour.
     *
     * - _user.notifications.watcher_ Whether the user gets notified when they are watcher.
     * - _user.notifications.assignee_ Whether the user gets notified when they are assignee.
     * - _user.notifications.reporter_ Whether the user gets notified when they are reporter.
     * - _user.notifications.mentions_ Whether the user gets notified when they are mentions.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    setPreference<T = void>(parameters: SetPreference, callback?: never): Promise<T>;
    /**
     * Deletes a preference of the user, which restores the default value of system defined settings.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default, not set. The user takes the instance locale.
     * - _jira.user.timezone_ The time zone of the user. By default, not set. The user takes the instance timezone.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    removePreference<T = void>(parameters: RemovePreference, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a preference of the user, which restores the default value of system defined settings.
     *
     * Note that these keys are deprecated:
     *
     * - _jira.user.locale_ The locale of the user. By default, not set. The user takes the instance locale.
     * - _jira.user.timezone_ The time zone of the user. By default, not set. The user takes the instance timezone.
     *
     * Use [ Update a user
     * profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch)
     * from the user management REST API to manage timezone and locale instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    removePreference<T = void>(parameters: RemovePreference, callback?: never): Promise<T>;
    /**
     * Returns the locale for the user.
     *
     * If the user has no language preference set (which is the default setting) or this resource is accessed anonymous,
     * the browser locale detected by Jira is returned. Jira detects the browser locale using the _Accept-Language_ header
     * in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getLocale<T = Locale>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the locale for the user.
     *
     * If the user has no language preference set (which is the default setting) or this resource is accessed anonymous,
     * the browser locale detected by Jira is returned. Jira detects the browser locale using the _Accept-Language_ header
     * in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getLocale<T = Locale>(callback?: never): Promise<T>;
    /**
     * Returns details for the current user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getCurrentUser<T = User$2>(parameters: GetCurrentUser | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns details for the current user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getCurrentUser<T = User$2>(parameters?: GetCurrentUser, callback?: never): Promise<T>;
}

declare class Permissions {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be
     * obtained in a global, project, issue or comment context.
     *
     * The user is reported as having a project permission:
     *
     * - In the global context, if the user has the project permission in any project.
     * - For a project, where the project permission is determined using issue data, if the user meets the permission's
     *   criteria for any issue in the project. Otherwise, if the user has the project permission in the project.
     * - For an issue, where a project permission is determined using issue data, if the user has the permission in the
     *   issue. Otherwise, if the user has the project permission in the project containing the issue.
     * - For a comment, where the user has both the permission to browse the comment and the project permission for the
     *   comment's parent issue. Only the BROWSE_PROJECTS permission is supported. If a `commentId` is provided whose
     *   `permissions` does not equal BROWSE_PROJECTS, a 400 error will be returned.
     *
     * This means that users may be shown as having an issue permission (such as EDIT_ISSUES) in the global context or a
     * project context but may not have the permission for any or all issues. For example, if Reporters have the
     * EDIT_ISSUES permission a user would be shown as having this permission in the global context or the context of a
     * project, because any user can be a reporter. However, if they are not the user who reported the issue queried they
     * would not have EDIT_ISSUES permission for that issue.
     *
     * For [Jira Service Management project
     * permissions](https://support.atlassian.com/jira-cloud-administration/docs/customize-jira-service-management-permissions/),
     * this will be evaluated similarly to a user in the customer portal. For example, if the BROWSE_PROJECTS permission
     * is granted to Service Project Customer - Portal Access, any users with access to the customer portal will have the
     * BROWSE_PROJECTS permission.
     *
     * Global permissions are unaffected by context.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getMyPermissions<T = Permissions$1>(parameters: GetMyPermissions | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be
     * obtained in a global, project, issue or comment context.
     *
     * The user is reported as having a project permission:
     *
     * - In the global context, if the user has the project permission in any project.
     * - For a project, where the project permission is determined using issue data, if the user meets the permission's
     *   criteria for any issue in the project. Otherwise, if the user has the project permission in the project.
     * - For an issue, where a project permission is determined using issue data, if the user has the permission in the
     *   issue. Otherwise, if the user has the project permission in the project containing the issue.
     * - For a comment, where the user has both the permission to browse the comment and the project permission for the
     *   comment's parent issue. Only the BROWSE_PROJECTS permission is supported. If a `commentId` is provided whose
     *   `permissions` does not equal BROWSE_PROJECTS, a 400 error will be returned.
     *
     * This means that users may be shown as having an issue permission (such as EDIT_ISSUES) in the global context or a
     * project context but may not have the permission for any or all issues. For example, if Reporters have the
     * EDIT_ISSUES permission a user would be shown as having this permission in the global context or the context of a
     * project, because any user can be a reporter. However, if they are not the user who reported the issue queried they
     * would not have EDIT_ISSUES permission for that issue.
     *
     * For [Jira Service Management project
     * permissions](https://support.atlassian.com/jira-cloud-administration/docs/customize-jira-service-management-permissions/),
     * this will be evaluated similarly to a user in the customer portal. For example, if the BROWSE_PROJECTS permission
     * is granted to Service Project Customer - Portal Access, any users with access to the customer portal will have the
     * BROWSE_PROJECTS permission.
     *
     * Global permissions are unaffected by context.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getMyPermissions<T = Permissions$1>(parameters?: GetMyPermissions, callback?: never): Promise<T>;
    /**
     * Returns all permissions, including:
     *
     * - Global permissions.
     * - Project permissions.
     * - Global permissions added by plugins.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllPermissions<T = Permissions$1>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all permissions, including:
     *
     * - Global permissions.
     * - Project permissions.
     * - Global permissions added by plugins.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllPermissions<T = Permissions$1>(callback?: never): Promise<T>;
    /**
     * Returns:
     *
     * - For a list of global permissions, the global permissions granted to a user.
     * - For a list of project permissions and lists of projects and issues, for each project permission a list of the
     *   projects and issues a user can access or manipulate.
     *
     * If no account ID is provided, the operation returns details for the logged in user.
     *
     * Note that:
     *
     * - Invalid project and issue IDs are ignored.
     * - A maximum of 1000 projects and 1000 issues can be checked.
     * - Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and
     *   `projectPermissions.issues` are ignored.
     * - Empty strings in `projectPermissions.permissions` are ignored.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - **Classic**: `read:jira-work`
     * - **Granular**: `read:permission:jira`
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other
     * users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain
     * permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made
     * using AP.request() in a browser.
     */
    getBulkPermissions<T = BulkPermissionGrants>(parameters: GetBulkPermissions | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns:
     *
     * - For a list of global permissions, the global permissions granted to a user.
     * - For a list of project permissions and lists of projects and issues, for each project permission a list of the
     *   projects and issues a user can access or manipulate.
     *
     * If no account ID is provided, the operation returns details for the logged in user.
     *
     * Note that:
     *
     * - Invalid project and issue IDs are ignored.
     * - A maximum of 1000 projects and 1000 issues can be checked.
     * - Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and
     *   `projectPermissions.issues` are ignored.
     * - Empty strings in `projectPermissions.permissions` are ignored.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - **Classic**: `read:jira-work`
     * - **Granular**: `read:permission:jira`
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other
     * users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain
     * permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made
     * using AP.request() in a browser.
     */
    getBulkPermissions<T = BulkPermissionGrants>(parameters?: GetBulkPermissions, callback?: never): Promise<T>;
    /**
     * Returns all the projects where the user is granted a list of project permissions.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getPermittedProjects<T = PermittedProjects>(parameters: GetPermittedProjects | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all the projects where the user is granted a list of project permissions.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getPermittedProjects<T = PermittedProjects>(parameters?: GetPermittedProjects, callback?: never): Promise<T>;
}

declare class PermissionSchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns all permission schemes.
     *
     * ### About permission schemes and grants
     *
     * A permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a
     * `permission`.
     *
     * #### Holder object
     *
     * The `holder` object contains information about the user or group being granted the permission. For example, the
     * _Administer projects_ permission is granted to a group named _Teams in space administrators_. In this case, the
     * type is `"type": "group"`, and the parameter is the group name, `"parameter": "Teams in space administrators"` and
     * the value is group ID, `"value": "ca85fac0-d974-40ca-a615-7af99c48d24f"`.
     *
     * The `holder` object is defined by the following properties:
     *
     * - `type` Identifies the user or group (see the list of types below).
     * - `parameter` As a group's name can change, use of `value` is recommended. The value of this property depends on the
     *   `type`. For example, if the `type` is a group, then you need to specify the group name.
     * - `value` The value of this property depends on the `type`. If the `type` is a group, then you need to specify the
     *   group ID. For other `type` it has the same value as `parameter`
     *
     * The following `types` are available. The expected values for `parameter` and `value` are given in parentheses (some
     * types may not have a `parameter` or `value`):
     *
     * - `anyone` Grant for anonymous users.
     * - `applicationRole` Grant for users with access to the specified application (application name, application name).
     *   See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.
     * - `assignee` Grant for the user currently assigned to an issue.
     * - `group` Grant for the specified group (`parameter` : group name, `value` : group ID).
     * - `groupCustomField` Grant for a user in the group selected in the specified custom field (`parameter` : custom field
     *   ID, `value` : custom field ID).
     * - `projectLead` Grant for a project lead.
     * - `projectRole` Grant for the specified project role (`parameter` :project role ID, `value` : project role ID).
     * - `reporter` Grant for the user who reported the issue.
     * - `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not
     *   Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more
     *   information.
     * - `user` Grant for the specified user (`parameter` : user ID - historically this was the userkey but that is
     *   deprecated and the account ID should be used, `value` : user ID).
     * - `userCustomField` Grant for a user selected in the specified custom field (`parameter` : custom field ID, `value` :
     *   custom field ID).
     *
     * #### Built-in permissions
     *
     * The [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define
     * custom permissions. See the [project
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation
     * for more information.
     *
     * **Administration permissions**
     *
     * - `ADMINISTER_PROJECTS`
     * - `EDIT_WORKFLOW`
     * - `EDIT_ISSUE_LAYOUT`
     *
     * **Project permissions**
     *
     * - `BROWSE_PROJECTS`
     * - `MANAGE_SPRINTS_PERMISSION` (Jira Software only)
     * - `SERVICEDESK_AGENT` (Jira Service Desk only)
     * - `VIEW_DEV_TOOLS` (Jira Software only)
     * - `VIEW_READONLY_WORKFLOW`
     *
     * **Issue permissions**
     *
     * - `ASSIGNABLE_USER`
     * - `ASSIGN_ISSUES`
     * - `CLOSE_ISSUES`
     * - `CREATE_ISSUES`
     * - `DELETE_ISSUES`
     * - `EDIT_ISSUES`
     * - `LINK_ISSUES`
     * - `MODIFY_REPORTER`
     * - `MOVE_ISSUES`
     * - `RESOLVE_ISSUES`
     * - `SCHEDULE_ISSUES`
     * - `SET_ISSUE_SECURITY`
     * - `TRANSITION_ISSUES`
     *
     * **Voters and watchers permissions**
     *
     * - `MANAGE_WATCHERS`
     * - `VIEW_VOTERS_AND_WATCHERS`
     *
     * **Comments permissions**
     *
     * - `ADD_COMMENTS`
     * - `DELETE_ALL_COMMENTS`
     * - `DELETE_OWN_COMMENTS`
     * - `EDIT_ALL_COMMENTS`
     * - `EDIT_OWN_COMMENTS`
     *
     * **Attachments permissions**
     *
     * - `CREATE_ATTACHMENTS`
     * - `DELETE_ALL_ATTACHMENTS`
     * - `DELETE_OWN_ATTACHMENTS`
     *
     * **Time tracking permissions**
     *
     * - `DELETE_ALL_WORKLOGS`
     * - `DELETE_OWN_WORKLOGS`
     * - `EDIT_ALL_WORKLOGS`
     * - `EDIT_OWN_WORKLOGS`
     * - `WORK_ON_ISSUES`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAllPermissionSchemes<T = PermissionSchemes$1>(parameters: GetAllPermissionSchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all permission schemes.
     *
     * ### About permission schemes and grants
     *
     * A permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a
     * `permission`.
     *
     * #### Holder object
     *
     * The `holder` object contains information about the user or group being granted the permission. For example, the
     * _Administer projects_ permission is granted to a group named _Teams in space administrators_. In this case, the
     * type is `"type": "group"`, and the parameter is the group name, `"parameter": "Teams in space administrators"` and
     * the value is group ID, `"value": "ca85fac0-d974-40ca-a615-7af99c48d24f"`.
     *
     * The `holder` object is defined by the following properties:
     *
     * - `type` Identifies the user or group (see the list of types below).
     * - `parameter` As a group's name can change, use of `value` is recommended. The value of this property depends on the
     *   `type`. For example, if the `type` is a group, then you need to specify the group name.
     * - `value` The value of this property depends on the `type`. If the `type` is a group, then you need to specify the
     *   group ID. For other `type` it has the same value as `parameter`
     *
     * The following `types` are available. The expected values for `parameter` and `value` are given in parentheses (some
     * types may not have a `parameter` or `value`):
     *
     * - `anyone` Grant for anonymous users.
     * - `applicationRole` Grant for users with access to the specified application (application name, application name).
     *   See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.
     * - `assignee` Grant for the user currently assigned to an issue.
     * - `group` Grant for the specified group (`parameter` : group name, `value` : group ID).
     * - `groupCustomField` Grant for a user in the group selected in the specified custom field (`parameter` : custom field
     *   ID, `value` : custom field ID).
     * - `projectLead` Grant for a project lead.
     * - `projectRole` Grant for the specified project role (`parameter` :project role ID, `value` : project role ID).
     * - `reporter` Grant for the user who reported the issue.
     * - `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not
     *   Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more
     *   information.
     * - `user` Grant for the specified user (`parameter` : user ID - historically this was the userkey but that is
     *   deprecated and the account ID should be used, `value` : user ID).
     * - `userCustomField` Grant for a user selected in the specified custom field (`parameter` : custom field ID, `value` :
     *   custom field ID).
     *
     * #### Built-in permissions
     *
     * The [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define
     * custom permissions. See the [project
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global
     * permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation
     * for more information.
     *
     * **Administration permissions**
     *
     * - `ADMINISTER_PROJECTS`
     * - `EDIT_WORKFLOW`
     * - `EDIT_ISSUE_LAYOUT`
     *
     * **Project permissions**
     *
     * - `BROWSE_PROJECTS`
     * - `MANAGE_SPRINTS_PERMISSION` (Jira Software only)
     * - `SERVICEDESK_AGENT` (Jira Service Desk only)
     * - `VIEW_DEV_TOOLS` (Jira Software only)
     * - `VIEW_READONLY_WORKFLOW`
     *
     * **Issue permissions**
     *
     * - `ASSIGNABLE_USER`
     * - `ASSIGN_ISSUES`
     * - `CLOSE_ISSUES`
     * - `CREATE_ISSUES`
     * - `DELETE_ISSUES`
     * - `EDIT_ISSUES`
     * - `LINK_ISSUES`
     * - `MODIFY_REPORTER`
     * - `MOVE_ISSUES`
     * - `RESOLVE_ISSUES`
     * - `SCHEDULE_ISSUES`
     * - `SET_ISSUE_SECURITY`
     * - `TRANSITION_ISSUES`
     *
     * **Voters and watchers permissions**
     *
     * - `MANAGE_WATCHERS`
     * - `VIEW_VOTERS_AND_WATCHERS`
     *
     * **Comments permissions**
     *
     * - `ADD_COMMENTS`
     * - `DELETE_ALL_COMMENTS`
     * - `DELETE_OWN_COMMENTS`
     * - `EDIT_ALL_COMMENTS`
     * - `EDIT_OWN_COMMENTS`
     *
     * **Attachments permissions**
     *
     * - `CREATE_ATTACHMENTS`
     * - `DELETE_ALL_ATTACHMENTS`
     * - `DELETE_OWN_ATTACHMENTS`
     *
     * **Time tracking permissions**
     *
     * - `DELETE_ALL_WORKLOGS`
     * - `DELETE_OWN_WORKLOGS`
     * - `EDIT_ALL_WORKLOGS`
     * - `EDIT_OWN_WORKLOGS`
     * - `WORK_ON_ISSUES`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAllPermissionSchemes<T = PermissionSchemes$1>(parameters?: GetAllPermissionSchemes, callback?: never): Promise<T>;
    /**
     * Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission
     * grants.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPermissionScheme<T = PermissionScheme>(parameters: CreatePermissionScheme | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission
     * grants.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPermissionScheme<T = PermissionScheme>(parameters?: CreatePermissionScheme, callback?: never): Promise<T>;
    /**
     * Returns a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionScheme<T = PermissionScheme>(parameters: GetPermissionScheme, callback: Callback<T>): Promise<void>;
    /**
     * Returns a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionScheme<T = PermissionScheme>(parameters: GetPermissionScheme, callback?: never): Promise<T>;
    /**
     * Updates a permission scheme. Below are some important things to note when using this resource:
     *
     * - If a permissions list is present in the request, then it is set in the permission scheme, overwriting _all
     *   existing_ grants.
     * - If you want to update only the name and description, then do not send a permissions list in the request.
     * - Sending an empty list will remove all permission grants from the permission scheme.
     *
     * If you want to add or delete a permission grant instead of updating the whole list, see [Create permission
     * grant](#api-rest-api-3-permissionscheme-schemeId-permission-post) or [Delete permission scheme
     * entity](#api-rest-api-3-permissionscheme-schemeId-permission-permissionId-delete).
     *
     * See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for
     * more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePermissionScheme<T = PermissionScheme>(parameters: UpdatePermissionScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates a permission scheme. Below are some important things to note when using this resource:
     *
     * - If a permissions list is present in the request, then it is set in the permission scheme, overwriting _all
     *   existing_ grants.
     * - If you want to update only the name and description, then do not send a permissions list in the request.
     * - Sending an empty list will remove all permission grants from the permission scheme.
     *
     * If you want to add or delete a permission grant instead of updating the whole list, see [Create permission
     * grant](#api-rest-api-3-permissionscheme-schemeId-permission-post) or [Delete permission scheme
     * entity](#api-rest-api-3-permissionscheme-schemeId-permission-permissionId-delete).
     *
     * See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for
     * more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePermissionScheme<T = PermissionScheme>(parameters: UpdatePermissionScheme, callback?: never): Promise<T>;
    /**
     * Deletes a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePermissionScheme<T = void>(parameters: DeletePermissionScheme, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePermissionScheme<T = void>(parameters: DeletePermissionScheme, callback?: never): Promise<T>;
    /**
     * Returns all permission grants for a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionSchemeGrants<T = PermissionGrants>(parameters: GetPermissionSchemeGrants, callback: Callback<T>): Promise<void>;
    /**
     * Returns all permission grants for a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionSchemeGrants<T = PermissionGrants>(parameters: GetPermissionSchemeGrants, callback?: never): Promise<T>;
    /**
     * Creates a permission grant in a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPermissionGrant<T = PermissionGrant>(parameters: CreatePermissionGrant, callback: Callback<T>): Promise<void>;
    /**
     * Creates a permission grant in a permission scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPermissionGrant<T = PermissionGrant>(parameters: CreatePermissionGrant, callback?: never): Promise<T>;
    /**
     * Returns a permission grant.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionSchemeGrant<T = PermissionGrant>(parameters: GetPermissionSchemeGrant, callback: Callback<T>): Promise<void>;
    /**
     * Returns a permission grant.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPermissionSchemeGrant<T = PermissionGrant>(parameters: GetPermissionSchemeGrant, callback?: never): Promise<T>;
    /**
     * Deletes a permission grant from a permission scheme. See [About permission schemes and
     * grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePermissionSchemeEntity<T = void>(parameters: DeletePermissionSchemeEntity, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a permission grant from a permission scheme. See [About permission schemes and
     * grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePermissionSchemeEntity<T = void>(parameters: DeletePermissionSchemeEntity, callback?: never): Promise<T>;
}

declare class Plans {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of plans.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlans<T = PageWithCursorGetPlanResponseForPage>(parameters: GetPlans | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of plans.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlans<T = PageWithCursorGetPlanResponseForPage>(parameters?: GetPlans, callback?: never): Promise<T>;
    /**
     * Creates a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPlan<T = unknown>(parameters: CreatePlan, callback: Callback<T>): Promise<void>;
    /**
     * Creates a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPlan<T = unknown>(parameters: CreatePlan, callback?: never): Promise<T>;
    /**
     * Returns a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlan<T = Plan>(parameters: GetPlan, callback: Callback<T>): Promise<void>;
    /**
     * Returns a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlan<T = Plan>(parameters: GetPlan, callback?: never): Promise<T>;
    /**
     * Updates any of the following details of a plan using [JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get plan" endpoint to find
     * out the order of array elements._
     */
    updatePlan<T = void>(parameters: UpdatePlan, callback: Callback<T>): Promise<void>;
    /**
     * Updates any of the following details of a plan using [JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get plan" endpoint to find
     * out the order of array elements._
     */
    updatePlan<T = void>(parameters: UpdatePlan, callback?: never): Promise<T>;
    /**
     * Archives a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    archivePlan<T = void>(parameters: ArchivePlan, callback: Callback<T>): Promise<void>;
    /**
     * Archives a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    archivePlan<T = void>(parameters: ArchivePlan, callback?: never): Promise<T>;
    /**
     * Duplicates a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    duplicatePlan<T = unknown>(parameters: DuplicatePlan, callback: Callback<T>): Promise<void>;
    /**
     * Duplicates a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    duplicatePlan<T = unknown>(parameters: DuplicatePlan, callback?: never): Promise<T>;
    /**
     * Moves a plan to trash.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    trashPlan<T = void>(parameters: TrashPlan, callback: Callback<T>): Promise<void>;
    /**
     * Moves a plan to trash.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    trashPlan<T = void>(parameters: TrashPlan, callback?: never): Promise<T>;
}

declare class PrioritySchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priority schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPrioritySchemes<T = Paginated<PrioritySchemeWithPaginatedPrioritiesAndProjects>>(parameters: GetPrioritySchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priority schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPrioritySchemes<T = Paginated<PrioritySchemeWithPaginatedPrioritiesAndProjects>>(parameters?: GetPrioritySchemes, callback?: never): Promise<T>;
    /**
     * Creates a new priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPriorityScheme<T = PrioritySchemeId>(parameters: CreatePriorityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Creates a new priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPriorityScheme<T = PrioritySchemeId>(parameters: CreatePriorityScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priorities that would require mapping, given a change in priorities or projects associated with a priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    suggestedPrioritiesForMappings<T = Paginated<PriorityWithSequence>>(parameters: SuggestedPrioritiesForMappings | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priorities that would require mapping, given a change in priorities or projects associated with a priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    suggestedPrioritiesForMappings<T = Paginated<PriorityWithSequence>>(parameters?: SuggestedPrioritiesForMappings, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priorities available for adding to a priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAvailablePrioritiesByPriorityScheme<T = Paginated<PriorityWithSequence>>(parameters: GetAvailablePrioritiesByPriorityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priorities available for adding to a priority scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAvailablePrioritiesByPriorityScheme<T = Paginated<PriorityWithSequence>>(parameters: GetAvailablePrioritiesByPriorityScheme, callback?: never): Promise<T>;
    /**
     * Updates a priority scheme. This includes its details, the lists of priorities and projects in it
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePriorityScheme<T = UpdatePrioritySchemeResponse>(parameters: UpdatePriorityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates a priority scheme. This includes its details, the lists of priorities and projects in it
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updatePriorityScheme<T = UpdatePrioritySchemeResponse>(parameters: UpdatePriorityScheme, callback?: never): Promise<T>;
    /**
     * Deletes a priority scheme.
     *
     * This operation is only available for priority schemes without any associated projects. Any associated projects must
     * be removed from the priority scheme before this operation can be performed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePriorityScheme<T = void>(parameters: DeletePriorityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a priority scheme.
     *
     * This operation is only available for priority schemes without any associated projects. Any associated projects must
     * be removed from the priority scheme before this operation can be performed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePriorityScheme<T = void>(parameters: DeletePriorityScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priorities by scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPrioritiesByPriorityScheme<T = Paginated<PriorityWithSequence>>(parameters: GetPrioritiesByPriorityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * priorities by scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getPrioritiesByPriorityScheme<T = Paginated<PriorityWithSequence>>(parameters: GetPrioritiesByPriorityScheme, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * projects by scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getProjectsByPriorityScheme<T = PageProject>(parameters: GetProjectsByPriorityScheme, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * projects by scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getProjectsByPriorityScheme<T = PageProject>(parameters: GetProjectsByPriorityScheme, callback?: never): Promise<T>;
}

declare class ProjectAvatars {
    private client;
    constructor(client: Client);
    /**
     * Sets the avatar displayed for a project.
     *
     * Use [Load project avatar](#api-rest-api-3-project-projectIdOrKey-avatar2-post) to store avatars against the
     * project, before using this operation to set the displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    updateProjectAvatar<T = void>(parameters: UpdateProjectAvatar, callback: Callback<T>): Promise<void>;
    /**
     * Sets the avatar displayed for a project.
     *
     * Use [Load project avatar](#api-rest-api-3-project-projectIdOrKey-avatar2-post) to store avatars against the
     * project, before using this operation to set the displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    updateProjectAvatar<T = void>(parameters: UpdateProjectAvatar, callback?: never): Promise<T>;
    /**
     * Deletes a custom avatar from a project. Note that system avatars cannot be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    deleteProjectAvatar<T = void>(parameters: DeleteProjectAvatar, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a custom avatar from a project. Note that system avatars cannot be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    deleteProjectAvatar<T = void>(parameters: DeleteProjectAvatar, callback?: never): Promise<T>;
    /**
     * Loads an avatar for a project.
     *
     * Specify the avatar's local file location in the body of the request. Also, include the following headers:
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar use [Set project
     * avatar](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-avatars/#api-rest-api-3-project-projectidorkey-avatar-put)
     * to set it as the project's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    createProjectAvatar<T = Avatar>(parameters: CreateProjectAvatar, callback: Callback<T>): Promise<void>;
    /**
     * Loads an avatar for a project.
     *
     * The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of
     * the image. The length of the square's sides is set to the smaller of the height or width of the image.
     *
     * The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.
     *
     * After creating the avatar use [Set project
     * avatar](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-avatars/#api-rest-api-3-project-projectidorkey-avatar-put)
     * to set it as the project's displayed avatar.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    createProjectAvatar<T = Avatar>(parameters: CreateProjectAvatar, callback?: never): Promise<T>;
    /**
     * Returns all project avatars, grouped by system and custom avatars.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getAllProjectAvatars<T = ProjectAvatars$1>(parameters: GetAllProjectAvatars, callback: Callback<T>): Promise<void>;
    /**
     * Returns all project avatars, grouped by system and custom avatars.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getAllProjectAvatars<T = ProjectAvatars$1>(parameters: GetAllProjectAvatars, callback?: never): Promise<T>;
}

declare class ProjectCategories {
    private client;
    constructor(client: Client);
    /**
     * Returns all project categories.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAllProjectCategories<T = ProjectCategory[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all project categories.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAllProjectCategories<T = ProjectCategory[]>(callback?: never): Promise<T>;
    /**
     * Creates a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProjectCategory<T = ProjectCategory>(parameters: CreateProjectCategory, callback: Callback<T>): Promise<void>;
    /**
     * Creates a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProjectCategory<T = ProjectCategory>(parameters: CreateProjectCategory, callback?: never): Promise<T>;
    /**
     * Returns a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getProjectCategoryById<T = ProjectCategory>(parameters: GetProjectCategoryById, callback: Callback<T>): Promise<void>;
    /**
     * Returns a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getProjectCategoryById<T = ProjectCategory>(parameters: GetProjectCategoryById, callback?: never): Promise<T>;
    /**
     * Updates a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateProjectCategory<T = UpdatedProjectCategory>(parameters: UpdateProjectCategory, callback: Callback<T>): Promise<void>;
    /**
     * Updates a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateProjectCategory<T = UpdatedProjectCategory>(parameters: UpdateProjectCategory, callback?: never): Promise<T>;
    /**
     * Deletes a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeProjectCategory<T = void>(parameters: RemoveProjectCategory, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project category.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeProjectCategory<T = void>(parameters: RemoveProjectCategory, callback?: never): Promise<T>;
}

declare class ProjectClassificationLevels {
    private client;
    constructor(client: Client);
    /**
     * Returns the default data classification for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultProjectClassification<T = unknown>(parameters: GetDefaultProjectClassification, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default data classification for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultProjectClassification<T = unknown>(parameters: GetDefaultProjectClassification, callback?: never): Promise<T>;
    /**
     * Updates the default data classification level for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultProjectClassification<T = void>(parameters: UpdateDefaultProjectClassification, callback: Callback<T>): Promise<void>;
    /**
     * Updates the default data classification level for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultProjectClassification<T = void>(parameters: UpdateDefaultProjectClassification, callback?: never): Promise<T>;
    /**
     * Remove the default data classification level for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeDefaultProjectClassification<T = void>(parameters: RemoveDefaultProjectClassification, callback: Callback<T>): Promise<void>;
    /**
     * Remove the default data classification level for a project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeDefaultProjectClassification<T = void>(parameters: RemoveDefaultProjectClassification, callback?: never): Promise<T>;
}

declare class ProjectComponents {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * components in a project, including global (Compass) components when applicable.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    findComponentsForProjects<T = Paginated<Component>>(parameters: FindComponentsForProjects, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * components in a project, including global (Compass) components when applicable.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    findComponentsForProjects<T = Paginated<Component>>(parameters: FindComponentsForProjects, callback?: never): Promise<T>;
    /**
     * Creates a component. Use components to provide containers for issues within a project. Use components to provide
     * containers for issues within a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the
     * component is created or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createComponent<T = ProjectComponent>(parameters: CreateComponent, callback: Callback<T>): Promise<void>;
    /**
     * Creates a component. Use components to provide containers for issues within a project. Use components to provide
     * containers for issues within a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the
     * component is created or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createComponent<T = ProjectComponent>(parameters: CreateComponent, callback?: never): Promise<T>;
    /**
     * Returns a component.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.
     */
    getComponent<T = ProjectComponent>(parameters: GetComponent, callback: Callback<T>): Promise<void>;
    /**
     * Returns a component.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.
     */
    getComponent<T = ProjectComponent>(parameters: GetComponent, callback?: never): Promise<T>;
    /**
     * Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string ("")
     * the component lead is removed.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateComponent<T = ProjectComponent>(parameters: UpdateComponent, callback: Callback<T>): Promise<void>;
    /**
     * Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string ("")
     * the component lead is removed.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateComponent<T = ProjectComponent>(parameters: UpdateComponent, callback?: never): Promise<T>;
    /**
     * Deletes a component.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteComponent<T = void>(parameters: DeleteComponent, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a component.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing
     * the component or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteComponent<T = void>(parameters: DeleteComponent, callback?: never): Promise<T>;
    /**
     * Returns the counts of issues assigned to the component.
     *
     * This operation can be accessed anonymously.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - **Classic**: `read:jira-work`
     * - **Granular**: `read:field:jira`, `read:project.component:jira`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getComponentRelatedIssues<T = ComponentIssuesCount>(parameters: GetComponentRelatedIssues, callback: Callback<T>): Promise<void>;
    /**
     * Returns the counts of issues assigned to the component.
     *
     * This operation can be accessed anonymously.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - **Classic**: `read:jira-work`
     * - **Granular**: `read:field:jira`, `read:project.component:jira`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getComponentRelatedIssues<T = ComponentIssuesCount>(parameters: GetComponentRelatedIssues, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * components in a project. See the [Get project components](#api-rest-api-3-project-projectIdOrKey-components-get)
     * resource if you want to get a full list of versions without pagination.
     *
     * If your project uses Compass components, this API will return a list of Compass components that are linked to
     * issues in that project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectComponentsPaginated<T = PageComponentWithIssueCount>(parameters: GetProjectComponentsPaginated, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * components in a project. See the [Get project components](#api-rest-api-3-project-projectIdOrKey-components-get)
     * resource if you want to get a full list of versions without pagination.
     *
     * If your project uses Compass components, this API will return a list of Compass components that are linked to
     * issues in that project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectComponentsPaginated<T = PageComponentWithIssueCount>(parameters: GetProjectComponentsPaginated, callback?: never): Promise<T>;
    /**
     * Returns all components in a project. See the [Get project components
     * paginated](#api-rest-api-3-project-projectIdOrKey-component-get) resource if you want to get a full list of
     * components with pagination.
     *
     * If your project uses Compass components, this API will return a paginated list of Compass components that are
     * linked to issues in that project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectComponents<T = ProjectComponent[]>(parameters: GetProjectComponents, callback: Callback<T>): Promise<void>;
    /**
     * Returns all components in a project. See the [Get project components
     * paginated](#api-rest-api-3-project-projectIdOrKey-component-get) resource if you want to get a full list of
     * components with pagination.
     *
     * If your project uses Compass components, this API will return a paginated list of Compass components that are
     * linked to issues in that project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectComponents<T = ProjectComponent[]>(parameters: GetProjectComponents, callback?: never): Promise<T>;
}

declare class ProjectEmail {
    private client;
    constructor(client: Client);
    /**
     * Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectEmail<T = ProjectEmailAddress>(parameters: GetProjectEmail | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectEmail<T = ProjectEmailAddress>(parameters: GetProjectEmail | string, callback?: never): Promise<T>;
    /**
     * Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
     *
     * If `emailAddress` is an empty string, the default email address is restored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    updateProjectEmail<T = void>(parameters: UpdateProjectEmail, callback: Callback<T>): Promise<void>;
    /**
     * Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
     *
     * If `emailAddress` is an empty string, the default email address is restored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    updateProjectEmail<T = void>(parameters: UpdateProjectEmail, callback?: never): Promise<T>;
}

declare class ProjectFeatures {
    private client;
    constructor(client: Client);
    /** Returns the list of features for a project. */
    getFeaturesForProject<T = ContainerForProjectFeatures>(parameters: GetFeaturesForProject | string, callback: Callback<T>): Promise<void>;
    /** Returns the list of features for a project. */
    getFeaturesForProject<T = ContainerForProjectFeatures>(parameters: GetFeaturesForProject | string, callback?: never): Promise<T>;
    /** Sets the state of a project feature. */
    toggleFeatureForProject<T = ContainerForProjectFeatures>(parameters: ToggleFeatureForProject, callback: Callback<T>): Promise<void>;
    /** Sets the state of a project feature. */
    toggleFeatureForProject<T = ContainerForProjectFeatures>(parameters: ToggleFeatureForProject, callback?: never): Promise<T>;
}

declare class ProjectKeyAndNameValidation {
    private client;
    constructor(client: Client);
    /**
     * Validates a project key by confirming the key is a valid string and not in use.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    validateProjectKey<T = ErrorCollection>(parameters: ValidateProjectKey | string | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Validates a project key by confirming the key is a valid string and not in use.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    validateProjectKey<T = ErrorCollection>(parameters?: ValidateProjectKey | string, callback?: never): Promise<T>;
    /**
     * Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getValidProjectKey<T = string>(parameters: GetValidProjectKey | string | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getValidProjectKey<T = string>(parameters?: GetValidProjectKey | string, callback?: never): Promise<T>;
    /**
     * Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in
     * use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a
     * sequence number. If a valid project name cannot be generated, a 404 response is returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getValidProjectName<T = string>(parameters: GetValidProjectName | string, callback: Callback<T>): Promise<void>;
    /**
     * Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in
     * use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a
     * sequence number. If a valid project name cannot be generated, a 404 response is returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getValidProjectName<T = string>(parameters: GetValidProjectName | string, callback?: never): Promise<T>;
}

declare class ProjectPermissionSchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or the _Administer Projects_
     * [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getProjectIssueSecurityScheme<T = SecurityScheme>(parameters: GetProjectIssueSecurityScheme | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or the _Administer Projects_
     * [project permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getProjectIssueSecurityScheme<T = SecurityScheme>(parameters: GetProjectIssueSecurityScheme | string, callback?: never): Promise<T>;
    /**
     * Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getAssignedPermissionScheme<T = PermissionScheme>(parameters: GetAssignedPermissionScheme | string, callback: Callback<T>): Promise<void>;
    /**
     * Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getAssignedPermissionScheme<T = PermissionScheme>(parameters: GetAssignedPermissionScheme | string, callback?: never): Promise<T>;
    /**
     * Assigns a permission scheme with a project. See [Managing project
     * permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    assignPermissionScheme<T = PermissionScheme>(parameters: AssignPermissionScheme, callback: Callback<T>): Promise<void>;
    /**
     * Assigns a permission scheme with a project. See [Managing project
     * permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)
     */
    assignPermissionScheme<T = PermissionScheme>(parameters: AssignPermissionScheme, callback?: never): Promise<T>;
    /**
     * Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has
     * access to.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security
     * levels are only returned for authenticated user with _Set Issue Security_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) for the project.
     */
    getSecurityLevelsForProject<T = ProjectIssueSecurityLevels>(parameters: GetSecurityLevelsForProject | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has
     * access to.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security
     * levels are only returned for authenticated user with _Set Issue Security_ [global
     * permission](https://confluence.atlassian.com/x/x4dKLg) for the project.
     */
    getSecurityLevelsForProject<T = ProjectIssueSecurityLevels>(parameters: GetSecurityLevelsForProject | string, callback?: never): Promise<T>;
}

declare class ProjectProperties {
    private client;
    constructor(client: Client);
    /**
     * Returns all [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * keys for the project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectPropertyKeys<T = PropertyKeys$1>(parameters: GetProjectPropertyKeys | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * keys for the project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectPropertyKeys<T = PropertyKeys$1>(parameters: GetProjectPropertyKeys | string, callback?: never): Promise<T>;
    /**
     * Returns the value of a [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
     */
    getProjectProperty<T = EntityProperty$1>(parameters: GetProjectProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
     */
    getProjectProperty<T = EntityProperty$1>(parameters: GetProjectProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of the [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     * You can use project properties to store custom data against the project.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.
     */
    setProjectProperty<T = unknown>(parameters: SetProjectProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of the [project
     * property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).
     * You can use project properties to store custom data against the project.
     *
     * The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The
     * maximum length is 32768 characters.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.
     */
    setProjectProperty<T = unknown>(parameters: SetProjectProperty, callback?: never): Promise<T>;
    /**
     * Deletes the
     * [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * from a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
     */
    deleteProjectProperty<T = void>(parameters: DeleteProjectProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the
     * [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties)
     * from a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
     */
    deleteProjectProperty<T = void>(parameters: DeleteProjectProperty, callback?: never): Promise<T>;
}

declare class ProjectRoleActors {
    private client;
    constructor(client: Client);
    /**
     * Adds actors to a project role for the project.
     *
     * To replace all actors for the project, use [Set actors for project
     * role](#api-rest-api-3-project-projectIdOrKey-role-id-put).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addActorUsers<T = ProjectRole>(parameters: AddActorUsers, callback: Callback<T>): Promise<void>;
    /**
     * Adds actors to a project role for the project.
     *
     * To replace all actors for the project, use [Set actors for project
     * role](#api-rest-api-3-project-projectIdOrKey-role-id-put).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addActorUsers<T = ProjectRole>(parameters: AddActorUsers, callback?: never): Promise<T>;
    /**
     * Sets the actors for a project role for a project, replacing all existing actors.
     *
     * To add actors to the project without overwriting the existing list, use [Add actors to project
     * role](#api-rest-api-3-project-projectIdOrKey-role-id-post).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setActors<T = ProjectRole>(parameters: SetActors, callback: Callback<T>): Promise<void>;
    /**
     * Sets the actors for a project role for a project, replacing all existing actors.
     *
     * To add actors to the project without overwriting the existing list, use [Add actors to project
     * role](#api-rest-api-3-project-projectIdOrKey-role-id-post).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setActors<T = ProjectRole>(parameters: SetActors, callback?: never): Promise<T>;
    /**
     * Deletes actors from a project role for the project.
     *
     * To remove default actors from the project role, use [Delete default actors from project
     * role](#api-rest-api-3-role-id-actors-delete).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteActor<T = void>(parameters: DeleteActor, callback: Callback<T>): Promise<void>;
    /**
     * Deletes actors from a project role for the project.
     *
     * To remove default actors from the project role, use [Delete default actors from project
     * role](#api-rest-api-3-role-id-actors-delete).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteActor<T = void>(parameters: DeleteActor, callback?: never): Promise<T>;
    /**
     * Returns the [default actors](#api-rest-api-3-resolution-get) for the project role.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoleActorsForRole<T = ProjectRole>(parameters: GetProjectRoleActorsForRole | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the [default actors](#api-rest-api-3-resolution-get) for the project role.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoleActorsForRole<T = ProjectRole>(parameters: GetProjectRoleActorsForRole | string, callback?: never): Promise<T>;
    /**
     * Adds [default actors](#api-rest-api-3-resolution-get) to a role. You may add groups or users, but you cannot add
     * groups and users in the same request.
     *
     * Changing a project role's default actors does not affect project role members for projects already created.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addProjectRoleActorsToRole<T = ProjectRole>(parameters: AddProjectRoleActorsToRole, callback: Callback<T>): Promise<void>;
    /**
     * Adds [default actors](#api-rest-api-3-resolution-get) to a role. You may add groups or users, but you cannot add
     * groups and users in the same request.
     *
     * Changing a project role's default actors does not affect project role members for projects already created.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addProjectRoleActorsToRole<T = ProjectRole>(parameters: AddProjectRoleActorsToRole, callback?: never): Promise<T>;
    /**
     * Deletes the [default actors](#api-rest-api-3-resolution-get) from a project role. You may delete a group or user,
     * but you cannot delete a group and a user in the same request.
     *
     * Changing a project role's default actors does not affect project role members for projects already created.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectRoleActorsFromRole<T = ProjectRole>(parameters: DeleteProjectRoleActorsFromRole, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the [default actors](#api-rest-api-3-resolution-get) from a project role. You may delete a group or user,
     * but you cannot delete a group and a user in the same request.
     *
     * Changing a project role's default actors does not affect project role members for projects already created.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectRoleActorsFromRole<T = ProjectRole>(parameters: DeleteProjectRoleActorsFromRole, callback?: never): Promise<T>;
}

declare class ProjectRoles {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of [project
     * roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) for the project
     * returning the name and self URL for each role.
     *
     * Note that all project roles are shared with all projects in Jira Cloud. See [Get all project
     * roles](#api-rest-api-3-role-get) for more information.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site
     * or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoles<T = Record<string, string>>(parameters: GetProjectRoles | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of [project
     * roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) for the project
     * returning the name and self URL for each role.
     *
     * Note that all project roles are shared with all projects in Jira Cloud. See [Get all project
     * roles](#api-rest-api-3-role-get) for more information.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site
     * or _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoles<T = Record<string, string>>(parameters: GetProjectRoles | string, callback?: never): Promise<T>;
    /**
     * Returns a project role's details and actors associated with the project. The list of actors is sorted by display
     * name.
     *
     * To check whether a user belongs to a role based on their group memberships, use [Get
     * user](#api-rest-api-3-user-get) with the `groups` expand parameter selected. Then check whether the user keys and
     * groups match with the actors returned for the project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRole<T = ProjectRole>(parameters: GetProjectRole, callback: Callback<T>): Promise<void>;
    /**
     * Returns a project role's details and actors associated with the project. The list of actors is sorted by display
     * name.
     *
     * To check whether a user belongs to a role based on their group memberships, use [Get
     * user](#api-rest-api-3-user-get) with the `groups` expand parameter selected. Then check whether the user keys and
     * groups match with the actors returned for the project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRole<T = ProjectRole>(parameters: GetProjectRole, callback?: never): Promise<T>;
    /**
     * Returns all [project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) and
     * the details for each role. Note that the list of project roles is common to all projects.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectRoleDetails<T = ProjectRoleDetails[]>(parameters: GetProjectRoleDetails | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all [project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) and
     * the details for each role. Note that the list of project roles is common to all projects.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectRoleDetails<T = ProjectRoleDetails[]>(parameters: GetProjectRoleDetails | string, callback?: never): Promise<T>;
    /**
     * Gets a list of all project roles, complete with project role details and default actors.
     *
     * ### About project roles
     *
     * [Project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) are a flexible
     * way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally
     * with all projects, but each project can have a different set of actors associated with it (unlike groups, which
     * have the same membership throughout all Jira applications).
     *
     * Project roles are used in [permission schemes](#api-rest-api-3-permissionscheme-get), [email notification
     * schemes](#api-rest-api-3-notificationscheme-get), [issue security
     * levels](#api-rest-api-3-issuesecurityschemes-get), [comment visibility](#api-rest-api-3-comment-list-post), and
     * workflow conditions.
     *
     * #### Members and actors
     *
     * In the Jira REST API, a member of a project role is called an _actor_. An _actor_ is a group or user associated
     * with a project role.
     *
     * Actors may be set as [default
     * members](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/#Specifying-'default-members'-for-a-project-role)
     * of the project role or set at the project level:
     *
     * - Default actors: Users and groups that are assigned to the project role for all newly created projects. The default
     *   actors can be removed at the project level later if desired.
     * - Actors: Users and groups that are associated with a project role for a project, which may differ from the default
     *   actors. This enables you to assign a user to different roles in different projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllProjectRoles<T = ProjectRole[]>(callback: Callback<T>): Promise<void>;
    /**
     * Gets a list of all project roles, complete with project role details and default actors.
     *
     * ### About project roles
     *
     * [Project roles](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/) are a flexible
     * way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally
     * with all projects, but each project can have a different set of actors associated with it (unlike groups, which
     * have the same membership throughout all Jira applications).
     *
     * Project roles are used in [permission schemes](#api-rest-api-3-permissionscheme-get), [email notification
     * schemes](#api-rest-api-3-notificationscheme-get), [issue security
     * levels](#api-rest-api-3-issuesecurityschemes-get), [comment visibility](#api-rest-api-3-comment-list-post), and
     * workflow conditions.
     *
     * #### Members and actors
     *
     * In the Jira REST API, a member of a project role is called an _actor_. An _actor_ is a group or user associated
     * with a project role.
     *
     * Actors may be set as [default
     * members](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-roles/#Specifying-'default-members'-for-a-project-role)
     * of the project role or set at the project level:
     *
     * - Default actors: Users and groups that are assigned to the project role for all newly created projects. The default
     *   actors can be removed at the project level later if desired.
     * - Actors: Users and groups that are associated with a project role for a project, which may differ from the default
     *   actors. This enables you to assign a user to different roles in different projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllProjectRoles<T = ProjectRole[]>(callback?: never): Promise<T>;
    /**
     * Creates a new project role with no [default actors](#api-rest-api-3-resolution-get). You can use the [Add default
     * actors to project role](#api-rest-api-3-role-id-actors-post) operation to add default actors to the project role
     * after creating it.
     *
     * _Note that although a new project role is available to all projects upon creation, any default actors that are
     * associated with the project role are not added to projects that existed prior to the role being created._<
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProjectRole<T = ProjectRole>(parameters: CreateProjectRole, callback: Callback<T>): Promise<void>;
    /**
     * Creates a new project role with no [default actors](#api-rest-api-3-resolution-get). You can use the [Add default
     * actors to project role](#api-rest-api-3-role-id-actors-post) operation to add default actors to the project role
     * after creating it.
     *
     * _Note that although a new project role is available to all projects upon creation, any default actors that are
     * associated with the project role are not added to projects that existed prior to the role being created._<
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProjectRole<T = ProjectRole>(parameters: CreateProjectRole, callback?: never): Promise<T>;
    /**
     * Gets the project role details and the default actors associated with the role. The list of default actors is sorted
     * by display name.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoleById<T = ProjectRole>(parameters: GetProjectRoleById | string, callback: Callback<T>): Promise<void>;
    /**
     * Gets the project role details and the default actors associated with the role. The list of default actors is sorted
     * by display name.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getProjectRoleById<T = ProjectRole>(parameters: GetProjectRoleById | string, callback?: never): Promise<T>;
    /**
     * Updates either the project role's name or its description.
     *
     * You cannot update both the name and description at the same time using this operation. If you send a request with a
     * name and a description only the name is updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    partialUpdateProjectRole<T = ProjectRole>(parameters: PartialUpdateProjectRole, callback: Callback<T>): Promise<void>;
    /**
     * Updates either the project role's name or its description.
     *
     * You cannot update both the name and description at the same time using this operation. If you send a request with a
     * name and a description only the name is updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    partialUpdateProjectRole<T = ProjectRole>(parameters: PartialUpdateProjectRole, callback?: never): Promise<T>;
    /**
     * Updates the project role's name and description. You must include both a name and a description in the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    fullyUpdateProjectRole<T = ProjectRole>(parameters: FullyUpdateProjectRole, callback: Callback<T>): Promise<void>;
    /**
     * Updates the project role's name and description. You must include both a name and a description in the request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    fullyUpdateProjectRole<T = ProjectRole>(parameters: FullyUpdateProjectRole, callback?: never): Promise<T>;
    /**
     * Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in
     * use.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectRole<T = void>(parameters: DeleteProjectRole | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in
     * use.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectRole<T = void>(parameters: DeleteProjectRole | string, callback?: never): Promise<T>;
}

declare class Projects$1 {
    private client;
    constructor(client: Client);
    /**
     * Creates a project based on a project type template, as shown in the following table:
     *
     * | Project Type Key | Project Template Key                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     * | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
     * | `business`       | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     * | `service_desk`   | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-blank-project-business`, `com.atlassian.servicedesk:simplified-blank-project-it`, `com.atlassian.servicedesk:simplified-finance-service-desk`, `com.atlassian.servicedesk:next-gen-it-service-desk`, `com.atlassian.servicedesk:next-gen-hr-service-desk`, `com.atlassian.servicedesk:next-gen-legal-service-desk`, `com.atlassian.servicedesk:next-gen-marketing-service-desk`, `com.atlassian.servicedesk:next-gen-facilities-service-desk`, `com.atlassian.servicedesk:next-gen-general-it-service-desk`, `com.atlassian.servicedesk:next-gen-general-business-service-desk`, `com.atlassian.servicedesk:next-gen-analytics-service-desk`, `com.atlassian.servicedesk:next-gen-finance-service-desk`, `com.atlassian.servicedesk:next-gen-design-service-desk`, `com.atlassian.servicedesk:next-gen-sales-service-desk` |
     * | `software`       | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     *
     * The project types are available according to the installed Jira features as follows:
     *
     * - Jira Core, the default, enables `business` projects.
     * - Jira Service Management enables `service_desk` projects.
     * - Jira Software enables `software` projects.
     *
     * To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the
     * System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** >
     * **Apps** > **Finding new apps**. For more information, see [ Managing
     * add-ons](https://confluence.atlassian.com/x/S31NLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProject<T = ProjectIdentifiers>(parameters: CreateProject, callback: Callback<T>): Promise<void>;
    /**
     * Creates a project based on a project type template, as shown in the following table:
     *
     * | Project Type Key | Project Template Key                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     * | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
     * | `business`       | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     * | `service_desk`   | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-blank-project-business`, `com.atlassian.servicedesk:simplified-blank-project-it`, `com.atlassian.servicedesk:simplified-finance-service-desk`, `com.atlassian.servicedesk:next-gen-it-service-desk`, `com.atlassian.servicedesk:next-gen-hr-service-desk`, `com.atlassian.servicedesk:next-gen-legal-service-desk`, `com.atlassian.servicedesk:next-gen-marketing-service-desk`, `com.atlassian.servicedesk:next-gen-facilities-service-desk`, `com.atlassian.servicedesk:next-gen-general-it-service-desk`, `com.atlassian.servicedesk:next-gen-general-business-service-desk`, `com.atlassian.servicedesk:next-gen-analytics-service-desk`, `com.atlassian.servicedesk:next-gen-finance-service-desk`, `com.atlassian.servicedesk:next-gen-design-service-desk`, `com.atlassian.servicedesk:next-gen-sales-service-desk` |
     * | `software`       | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     *
     * The project types are available according to the installed Jira features as follows:
     *
     * - Jira Core, the default, enables `business` projects.
     * - Jira Service Management enables `service_desk` projects.
     * - Jira Software enables `software` projects.
     *
     * To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the
     * System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** >
     * **Apps** > **Finding new apps**. For more information, see [ Managing
     * add-ons](https://confluence.atlassian.com/x/S31NLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createProject<T = ProjectIdentifiers>(parameters: CreateProject, callback?: never): Promise<T>;
    /**
     * Returns a list of up to 20 projects recently viewed by the user that are still visible to the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Projects are returned only where the user has one of:
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getRecent<T = Project$1[]>(parameters: GetRecent | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of up to 20 projects recently viewed by the user that are still visible to the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Projects are returned only where the user has one of:
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getRecent<T = Project$1[]>(parameters?: GetRecent, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * projects visible to the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Projects are returned only where the user has one of:
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchProjects<T = PageProject>(parameters: SearchProjects | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * projects visible to the user.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Projects are returned only where the user has one of:
     *
     * - _Browse Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    searchProjects<T = PageProject>(parameters?: SearchProjects, callback?: never): Promise<T>;
    /**
     * Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProject<T = Project$1>(parameters: GetProject | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProject<T = Project$1>(parameters: GetProject | string, callback?: never): Promise<T>;
    /**
     * Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.
     *
     * All parameters are optional in the body of the request. Schemes will only be updated if they are included in the
     * request, any omitted schemes will be left unchanged.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). is only needed when changing the
     * schemes or project key. Otherwise you will only need _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg)
     */
    updateProject<T = Project$1>(parameters: UpdateProject, callback: Callback<T>): Promise<void>;
    /**
     * Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.
     *
     * All parameters are optional in the body of the request. Schemes will only be updated if they are included in the
     * request, any omitted schemes will be left unchanged.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg). is only needed when changing the
     * schemes or project key. Otherwise you will only need _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg)
     */
    updateProject<T = Project$1>(parameters: UpdateProject, callback?: never): Promise<T>;
    /**
     * Deletes a project.
     *
     * You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it.
     * To restore a project, use the Jira UI.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProject<T = void>(parameters: DeleteProject | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project.
     *
     * You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it.
     * To restore a project, use the Jira UI.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProject<T = void>(parameters: DeleteProject | string, callback?: never): Promise<T>;
    /**
     * Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project
     * and then delete it. To restore a project, use the Jira UI.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    archiveProject<T = void>(parameters: ArchiveProject | string, callback: Callback<T>): Promise<void>;
    /**
     * Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project
     * and then delete it. To restore a project, use the Jira UI.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    archiveProject<T = void>(parameters: ArchiveProject | string, callback?: never): Promise<T>;
    /**
     * Deletes a project asynchronously.
     *
     * This operation is:
     *
     * - Transactional, that is, if part of the delete fails the project is not deleted.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectAsynchronously<T = unknown>(parameters: DeleteProjectAsynchronously | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project asynchronously.
     *
     * This operation is:
     *
     * - Transactional, that is, if part of the delete fails the project is not deleted.
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `location` link in the response to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteProjectAsynchronously<T = unknown>(parameters: DeleteProjectAsynchronously | string, callback?: never): Promise<T>;
    /**
     * Restores a project that has been archived or placed in the Jira recycle bin.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)for Company managed projects.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project for Team managed projects.
     */
    restore<T = Project$1>(parameters: Restore | string, callback: Callback<T>): Promise<void>;
    /**
     * Restores a project that has been archived or placed in the Jira recycle bin.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg)for Company managed projects.
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer projects_ [project
     *   permission](https://confluence.atlassian.com/x/yodKLg) for the project for Team managed projects.
     */
    restore<T = Project$1>(parameters: Restore | string, callback?: never): Promise<T>;
    /**
     * Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of
     * valid issue types and each issue type has a set of valid statuses.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getAllStatuses<T = IssueTypeWithStatus[]>(parameters: GetAllStatuses | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of
     * valid issue types and each issue type has a set of valid statuses.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getAllStatuses<T = IssueTypeWithStatus[]>(parameters: GetAllStatuses | string, callback?: never): Promise<T>;
    /**
     * Get the issue type hierarchy for a next-gen project.
     *
     * The issue type hierarchy for a project consists of:
     *
     * - _Epic_ at level 1 (optional).
     * - One or more issue types at level 0 such as _Story_, _Task_, or _Bug_. Where the issue type _Epic_ is defined, these
     *   issue types are used to break down the content of an epic.
     * - _Subtask_ at level -1 (optional). This issue type enables level 0 issue types to be broken down into components.
     *   Issues based on a level -1 issue type must have a parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getHierarchy<T = ProjectIssueTypeHierarchy>(parameters: GetHierarchy | string, callback: Callback<T>): Promise<void>;
    /**
     * Get the issue type hierarchy for a next-gen project.
     *
     * The issue type hierarchy for a project consists of:
     *
     * - _Epic_ at level 1 (optional).
     * - One or more issue types at level 0 such as _Story_, _Task_, or _Bug_. Where the issue type _Epic_ is defined, these
     *   issue types are used to break down the content of an epic.
     * - _Subtask_ at level -1 (optional). This issue type enables level 0 issue types to be broken down into components.
     *   Issues based on a level -1 issue type must have a parent issue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getHierarchy<T = ProjectIssueTypeHierarchy>(parameters: GetHierarchy | string, callback?: never): Promise<T>;
    /**
     * Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getNotificationSchemeForProject<T = NotificationScheme>(parameters: GetNotificationSchemeForProject, callback: Callback<T>): Promise<void>;
    /**
     * Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg).
     */
    getNotificationSchemeForProject<T = NotificationScheme>(parameters: GetNotificationSchemeForProject, callback?: never): Promise<T>;
}

declare class ProjectTemplates {
    private client;
    constructor(client: Client);
    /**
     * @experimental
     * Creates a project based on a custom template provided in the request.
     *
     * The request body should contain the project details and the capabilities that comprise the project:
     *
     * - `details` - represents the project details settings
     * - `template` - represents a list of capabilities responsible for creating specific parts of a project
     *
     * A capability is defined as a unit of configuration for the project you want to create.
     *
     * This operation is:
     *
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `Location` link in the response header to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * _**Note: This API is only supported for Jira Enterprise edition.**_
     */
    createProjectWithCustomTemplate<T = unknown>(parameters: CreateProjectWithCustomTemplate, callback: Callback<T>): Promise<void>;
    /**
     * @experimental
     * Creates a project based on a custom template provided in the request.
     *
     * The request body should contain the project details and the capabilities that comprise the project:
     *
     * - `details` - represents the project details settings
     * - `template` - represents a list of capabilities responsible for creating specific parts of a project
     *
     * A capability is defined as a unit of configuration for the project you want to create.
     *
     * This operation is:
     *
     * - [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     *   `Location` link in the response header to determine the status of the task and use [Get
     *   task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.
     *
     * _**Note: This API is only supported for Jira Enterprise edition.**_
     */
    createProjectWithCustomTemplate<T = unknown>(parameters: CreateProjectWithCustomTemplate, callback?: never): Promise<T>;
}

declare class ProjectTypes {
    private client;
    constructor(client: Client);
    /**
     * Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid
     * license for each type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllProjectTypes<T = ProjectType[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid
     * license for each type.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getAllProjectTypes<T = ProjectType[]>(callback?: never): Promise<T>;
    /** Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license. */
    getAllAccessibleProjectTypes<T = ProjectType[]>(callback: Callback<T>): Promise<void>;
    /** Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license. */
    getAllAccessibleProjectTypes<T = ProjectType[]>(callback?: never): Promise<T>;
    /**
     * Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getProjectTypeByKey<T = ProjectType>(parameters: GetProjectTypeByKey | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getProjectTypeByKey<T = ProjectType>(parameters: GetProjectTypeByKey | string, callback?: never): Promise<T>;
    /**
     * Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAccessibleProjectTypeByKey<T = ProjectType>(parameters: GetAccessibleProjectTypeByKey | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getAccessibleProjectTypeByKey<T = ProjectType>(parameters: GetAccessibleProjectTypeByKey | string, callback?: never): Promise<T>;
}

declare class ProjectVersions {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * versions in a project. See the [Get project versions](#api-rest-api-3-project-projectIdOrKey-versions-get) resource
     * if you want to get a full list of versions without pagination.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectVersionsPaginated<T = PageVersion>(parameters: GetProjectVersionsPaginated | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * versions in a project. See the [Get project versions](#api-rest-api-3-project-projectIdOrKey-versions-get) resource
     * if you want to get a full list of versions without pagination.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectVersionsPaginated<T = PageVersion>(parameters: GetProjectVersionsPaginated | string, callback?: never): Promise<T>;
    /**
     * Returns all versions in a project. The response is not paginated. Use [Get project versions
     * paginated](#api-rest-api-3-project-projectIdOrKey-version-get) if you want to get the versions in a project with
     * pagination.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectVersions<T = Version$1[]>(parameters: GetProjectVersions | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns all versions in a project. The response is not paginated. Use [Get project versions
     * paginated](#api-rest-api-3-project-projectIdOrKey-version-get) if you want to get the versions in a project with
     * pagination.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
     */
    getProjectVersions<T = Version$1[]>(parameters: GetProjectVersions | string, callback?: never): Promise<T>;
    /**
     * Creates a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.
     */
    createVersion<T = Version$1>(parameters: CreateVersion, callback: Callback<T>): Promise<void>;
    /**
     * Creates a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.
     */
    createVersion<T = Version$1>(parameters: CreateVersion, callback?: never): Promise<T>;
    /**
     * Returns a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
     */
    getVersion<T = Version$1>(parameters: GetVersion | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
     */
    getVersion<T = Version$1>(parameters: GetVersion | string, callback?: never): Promise<T>;
    /**
     * Updates a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    updateVersion<T = Version$1>(parameters: UpdateVersion, callback: Callback<T>): Promise<void>;
    /**
     * Updates a project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    updateVersion<T = Version$1>(parameters: UpdateVersion, callback?: never): Promise<T>;
    /**
     * Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any
     * occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.
     *
     * Consider using [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) instead. This resource
     * supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    mergeVersions<T = void>(parameters: MergeVersions, callback: Callback<T>): Promise<void>;
    /**
     * Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any
     * occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.
     *
     * Consider using [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) instead. This resource
     * supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    mergeVersions<T = void>(parameters: MergeVersions, callback?: never): Promise<T>;
    /**
     * Modifies the version's sequence within the project, which affects the display order of the versions in Jira.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    moveVersion<T = Version$1>(parameters: MoveVersion, callback: Callback<T>): Promise<void>;
    /**
     * Modifies the version's sequence within the project, which affects the display order of the versions in Jira.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    moveVersion<T = Version$1>(parameters: MoveVersion, callback?: never): Promise<T>;
    /**
     * Returns the following counts for a version:
     *
     * - Number of issues where the `fixVersion` is set to the version.
     * - Number of issues where the `affectedVersion` is set to the version.
     * - Number of issues where a version custom field is set to the version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    getVersionRelatedIssues<T = VersionIssueCounts>(parameters: GetVersionRelatedIssues | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the following counts for a version:
     *
     * - Number of issues where the `fixVersion` is set to the version.
     * - Number of issues where the `affectedVersion` is set to the version.
     * - Number of issues where a version custom field is set to the version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    getVersionRelatedIssues<T = VersionIssueCounts>(parameters: GetVersionRelatedIssues | string, callback?: never): Promise<T>;
    /**
     * Returns related work items for the given version id.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
     */
    getRelatedWork<T = VersionRelatedWork[]>(parameters: GetRelatedWork, callback: Callback<T>): Promise<void>;
    /**
     * Returns related work items for the given version id.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
     */
    getRelatedWork<T = VersionRelatedWork[]>(parameters: GetRelatedWork, callback?: never): Promise<T>;
    /**
     * Creates a related work for the given version. You can only create a generic link type of related works via this
     * API. relatedWorkId will be auto-generated UUID, that does not need to be provided.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    createRelatedWork<T = VersionRelatedWork>(parameters: CreateRelatedWork, callback: Callback<T>): Promise<void>;
    /**
     * Creates a related work for the given version. You can only create a generic link type of related works via this
     * API. relatedWorkId will be auto-generated UUID, that does not need to be provided.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    createRelatedWork<T = VersionRelatedWork>(parameters: CreateRelatedWork, callback?: never): Promise<T>;
    /**
     * Updates the given related work. You can only update generic link related works via Rest APIs. Any archived version
     * related works can't be edited.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    updateRelatedWork<T = VersionRelatedWork>(parameters: UpdateRelatedWork, callback: Callback<T>): Promise<void>;
    /**
     * Updates the given related work. You can only update generic link related works via Rest APIs. Any archived version
     * related works can't be edited.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    updateRelatedWork<T = VersionRelatedWork>(parameters: UpdateRelatedWork, callback?: never): Promise<T>;
    /**
     * Deletes a project version.
     *
     * Alternative versions can be provided to update issues that use the deleted version in `fixVersion`,
     * `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of
     * `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are
     * cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version
     * being deleted.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    deleteAndReplaceVersion<T = void>(parameters: DeleteAndReplaceVersion, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a project version.
     *
     * Alternative versions can be provided to update issues that use the deleted version in `fixVersion`,
     * `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of
     * `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are
     * cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version
     * being deleted.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Administer Projects_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
     */
    deleteAndReplaceVersion<T = void>(parameters: DeleteAndReplaceVersion, callback?: never): Promise<T>;
    /**
     * Returns counts of the issues and unresolved issues for the project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    getVersionUnresolvedIssues<T = VersionUnresolvedIssuesCount>(parameters: GetVersionUnresolvedIssues | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns counts of the issues and unresolved issues for the project version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * projects_ project permission for the project that contains the version.
     */
    getVersionUnresolvedIssues<T = VersionUnresolvedIssuesCount>(parameters: GetVersionUnresolvedIssues | string, callback?: never): Promise<T>;
    /**
     * Deletes the given related work for the given version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    deleteRelatedWork<T = void>(parameters: DeleteRelatedWork, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the given related work for the given version.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Resolve issues:_ and _Edit issues_ [Managing project
     * permissions](https://confluence.atlassian.com/adminjiraserver/managing-project-permissions-938847145.html) for the
     * project that contains the version.
     */
    deleteRelatedWork<T = void>(parameters: DeleteRelatedWork, callback?: never): Promise<T>;
}

declare class Screens {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of the
     * screens a field is used in.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreensForField<T = PageScreenWithTab>(parameters: GetScreensForField | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of the
     * screens a field is used in.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreensForField<T = PageScreenWithTab>(parameters: GetScreensForField | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * screens or those specified by one or more screen IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreens<T = PageScreen>(parameters: GetScreens | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * screens or those specified by one or more screen IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreens<T = PageScreen>(parameters?: GetScreens, callback?: never): Promise<T>;
    /**
     * Creates a screen with a default field tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createScreen<T = Screen>(parameters: CreateScreen, callback: Callback<T>): Promise<void>;
    /**
     * Creates a screen with a default field tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createScreen<T = Screen>(parameters: CreateScreen, callback?: never): Promise<T>;
    /**
     * Adds a field to the default tab of the default screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addFieldToDefaultScreen<T = unknown>(parameters: AddFieldToDefaultScreen | string, callback: Callback<T>): Promise<void>;
    /**
     * Adds a field to the default tab of the default screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addFieldToDefaultScreen<T = unknown>(parameters: AddFieldToDefaultScreen | string, callback?: never): Promise<T>;
    /**
     * Updates a screen. Only screens used in classic projects can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateScreen<T = Screen>(parameters: UpdateScreen, callback: Callback<T>): Promise<void>;
    /**
     * Updates a screen. Only screens used in classic projects can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateScreen<T = Screen>(parameters: UpdateScreen, callback?: never): Promise<T>;
    /**
     * Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.
     *
     * Only screens used in classic projects can be deleted.
     */
    deleteScreen<T = void>(parameters: DeleteScreen | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.
     *
     * Only screens used in classic projects can be deleted.
     */
    deleteScreen<T = void>(parameters: DeleteScreen | string, callback?: never): Promise<T>;
    /**
     * Returns the fields that can be added to a tab on a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAvailableScreenFields<T = ScreenableField[]>(parameters: GetAvailableScreenFields | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the fields that can be added to a tab on a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAvailableScreenFields<T = ScreenableField[]>(parameters: GetAvailableScreenFields | string, callback?: never): Promise<T>;
}

declare class ScreenSchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of screen
     * schemes.
     *
     * Only screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreenSchemes<T = PageScreenScheme>(parameters: GetScreenSchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of screen
     * schemes.
     *
     * Only screen schemes used in classic projects are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getScreenSchemes<T = PageScreenScheme>(parameters?: GetScreenSchemes, callback?: never): Promise<T>;
    /**
     * Creates a screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createScreenScheme<T = ScreenSchemeId>(parameters: CreateScreenScheme | string, callback: Callback<T>): Promise<void>;
    /**
     * Creates a screen scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createScreenScheme<T = ScreenSchemeId>(parameters: CreateScreenScheme | string, callback?: never): Promise<T>;
    /**
     * Updates a screen scheme. Only screen schemes used in classic projects can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateScreenScheme<T = void>(parameters: UpdateScreenScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates a screen scheme. Only screen schemes used in classic projects can be updated.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateScreenScheme<T = void>(parameters: UpdateScreenScheme, callback?: never): Promise<T>;
    /**
     * Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.
     *
     * Only screens schemes used in classic projects can be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteScreenScheme<T = void>(parameters: DeleteScreenScheme | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.
     *
     * Only screens schemes used in classic projects can be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteScreenScheme<T = void>(parameters: DeleteScreenScheme | string, callback?: never): Promise<T>;
}

declare class ScreenTabFields {
    private client;
    constructor(client: Client);
    /**
     * Returns all fields for a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is
     *   specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen
     *   Scheme.
     */
    getAllScreenTabFields<T = ScreenableField[]>(parameters: GetAllScreenTabFields, callback: Callback<T>): Promise<void>;
    /**
     * Returns all fields for a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is
     *   specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen
     *   Scheme.
     */
    getAllScreenTabFields<T = ScreenableField[]>(parameters: GetAllScreenTabFields, callback?: never): Promise<T>;
    /**
     * Adds a field to a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addScreenTabField<T = ScreenableField>(parameters: AddScreenTabField, callback: Callback<T>): Promise<void>;
    /**
     * Adds a field to a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addScreenTabField<T = ScreenableField>(parameters: AddScreenTabField, callback?: never): Promise<T>;
    /**
     * Removes a field from a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeScreenTabField<T = void>(parameters: RemoveScreenTabField, callback: Callback<T>): Promise<void>;
    /**
     * Removes a field from a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeScreenTabField<T = void>(parameters: RemoveScreenTabField, callback?: never): Promise<T>;
    /**
     * Moves a screen tab field.
     *
     * If `after` and `position` are provided in the request, `position` is ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveScreenTabField<T = void>(parameters: MoveScreenTabField, callback: Callback<T>): Promise<void>;
    /**
     * Moves a screen tab field.
     *
     * If `after` and `position` are provided in the request, `position` is ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveScreenTabField<T = void>(parameters: MoveScreenTabField, callback?: never): Promise<T>;
}

declare class ScreenTabs {
    private client;
    constructor(client: Client);
    /**
     * Returns the list of tabs for a bulk of screens.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getBulkScreenTabs<T = unknown>(parameters: GetBulkScreenTabs | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the list of tabs for a bulk of screens.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getBulkScreenTabs<T = unknown>(parameters?: GetBulkScreenTabs, callback?: never): Promise<T>;
    /**
     * Returns the list of tabs for a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is
     *   specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen
     *   Scheme.
     */
    getAllScreenTabs<T = ScreenableTab[]>(parameters: GetAllScreenTabs | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the list of tabs for a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - _Administer projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is
     *   specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen
     *   Scheme.
     */
    getAllScreenTabs<T = ScreenableTab[]>(parameters: GetAllScreenTabs | string, callback?: never): Promise<T>;
    /**
     * Creates a tab for a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addScreenTab<T = ScreenableTab>(parameters: AddScreenTab, callback: Callback<T>): Promise<void>;
    /**
     * Creates a tab for a screen.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addScreenTab<T = ScreenableTab>(parameters: AddScreenTab, callback?: never): Promise<T>;
    /**
     * Updates the name of a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    renameScreenTab<T = ScreenableTab>(parameters: RenameScreenTab, callback: Callback<T>): Promise<void>;
    /**
     * Updates the name of a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    renameScreenTab<T = ScreenableTab>(parameters: RenameScreenTab, callback?: never): Promise<T>;
    /**
     * Deletes a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteScreenTab<T = void>(parameters: DeleteScreenTab, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteScreenTab<T = void>(parameters: DeleteScreenTab, callback?: never): Promise<T>;
    /**
     * Moves a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveScreenTab<T = void>(parameters: MoveScreenTab, callback: Callback<T>): Promise<void>;
    /**
     * Moves a screen tab.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    moveScreenTab<T = void>(parameters: MoveScreenTab, callback?: never): Promise<T>;
}

declare class ServerInfo {
    private client;
    constructor(client: Client);
    /**
     * Returns information about the Jira instance.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getServerInfo<T = ServerInformation>(callback: Callback<T>): Promise<void>;
    /**
     * Returns information about the Jira instance.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    getServerInfo<T = ServerInformation>(callback?: never): Promise<T>;
}

declare class ServiceRegistry {
    private client;
    constructor(client: Client);
    /**
     * Retrieve the attributes of given service registries.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request and the servicesIds belong to the tenant you are requesting
     */
    services<T = ServiceRegistry$1[]>(parameters: Services, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the attributes of given service registries.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can make this request and the servicesIds belong to the tenant you are requesting
     */
    services<T = ServiceRegistry$1[]>(parameters: Services, callback?: never): Promise<T>;
}

declare class Status$1 {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of the statuses specified by one or more status IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    getStatusesById<T = JiraStatus[]>(parameters: GetStatusesById | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of the statuses specified by one or more status IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    getStatusesById<T = JiraStatus[]>(parameters: GetStatusesById | string, callback?: never): Promise<T>;
    /**
     * Creates statuses for a global or project scope.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    createStatuses<T = JiraStatus[]>(parameters: CreateStatuses, callback: Callback<T>): Promise<void>;
    /**
     * Creates statuses for a global or project scope.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    createStatuses<T = JiraStatus[]>(parameters: CreateStatuses, callback?: never): Promise<T>;
    /**
     * Updates statuses by ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    updateStatuses<T = void>(parameters: UpdateStatuses, callback: Callback<T>): Promise<void>;
    /**
     * Updates statuses by ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    updateStatuses<T = void>(parameters: UpdateStatuses, callback?: never): Promise<T>;
    /**
     * Deletes statuses by ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    deleteStatusesById<T = void>(parameters: DeleteStatusesById | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes statuses by ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    deleteStatusesById<T = void>(parameters: DeleteStatusesById | string, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * statuses that match a search on name or project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    search<T = PageOfStatuses>(parameters: Search | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * statuses that match a search on name or project.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer projects_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     * - _Administer Jira_ [project permission.](https://confluence.atlassian.com/x/yodKLg)
     */
    search<T = PageOfStatuses>(parameters?: Search, callback?: never): Promise<T>;
    /** Returns a page of issue types in a project using a given status. */
    getProjectIssueTypeUsagesForStatus<T = StatusProjectIssueTypeUsage>(parameters: GetProjectIssueTypeUsagesForStatus, callback: Callback<T>): Promise<void>;
    /** Returns a page of issue types in a project using a given status. */
    getProjectIssueTypeUsagesForStatus<T = StatusProjectIssueTypeUsage>(parameters: GetProjectIssueTypeUsagesForStatus, callback?: never): Promise<T>;
    /** Returns a page of projects using a given status. */
    getProjectUsagesForStatus<T = StatusProjectUsage>(parameters: GetProjectUsagesForStatus, callback: Callback<T>): Promise<void>;
    /** Returns a page of projects using a given status. */
    getProjectUsagesForStatus<T = StatusProjectUsage>(parameters: GetProjectUsagesForStatus, callback?: never): Promise<T>;
    /** Returns a page of workflows using a given status. */
    getWorkflowUsagesForStatus<T = StatusWorkflowUsage>(parameters: GetWorkflowUsagesForStatus, callback: Callback<T>): Promise<void>;
    /** Returns a page of workflows using a given status. */
    getWorkflowUsagesForStatus<T = StatusWorkflowUsage>(parameters: GetWorkflowUsagesForStatus, callback?: never): Promise<T>;
}

declare class Tasks {
    private client;
    constructor(client: Client);
    /**
     * Returns the status of a [long-running asynchronous
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations).
     *
     * When a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the
     * operation that created the task for details. Task details are not permanently retained. As of September 2019,
     * details are retained for 14 days although this period may change without notice.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - `read:jira-work`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - Creator of the task.
     */
    getTask<T = TaskProgressObject>(parameters: GetTask | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the status of a [long-running asynchronous
     * task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations).
     *
     * When a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the
     * operation that created the task for details. Task details are not permanently retained. As of September 2019,
     * details are retained for 14 days although this period may change without notice.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on June 15, 2024.
     *
     * - `read:jira-work`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - Creator of the task.
     */
    getTask<T = TaskProgressObject>(parameters: GetTask | string, callback?: never): Promise<T>;
    /**
     * Cancels a task.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - Creator of the task.
     */
    cancelTask<T = unknown>(parameters: CancelTask | string, callback: Callback<T>): Promise<void>;
    /**
     * Cancels a task.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** either
     * of:
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     * - Creator of the task.
     */
    cancelTask<T = unknown>(parameters: CancelTask | string, callback?: never): Promise<T>;
}

declare class TeamsInPlan {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * plan-only and Atlassian teams in a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getTeams<T = PageWithCursorGetTeamResponseForPage>(parameters: GetTeams, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * plan-only and Atlassian teams in a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getTeams<T = PageWithCursorGetTeamResponseForPage>(parameters: GetTeams, callback?: never): Promise<T>;
    /**
     * Adds an existing Atlassian team to a plan and configures their plannning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addAtlassianTeam<T = void>(parameters: AddAtlassianTeam, callback: Callback<T>): Promise<void>;
    /**
     * Adds an existing Atlassian team to a plan and configures their plannning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    addAtlassianTeam<T = void>(parameters: AddAtlassianTeam, callback?: never): Promise<T>;
    /**
     * Returns planning settings for an Atlassian team in a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAtlassianTeam<T = GetAtlassianTeamResponse>(parameters: GetAtlassianTeam, callback: Callback<T>): Promise<void>;
    /**
     * Returns planning settings for an Atlassian team in a plan.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAtlassianTeam<T = GetAtlassianTeamResponse>(parameters: GetAtlassianTeam, callback?: never): Promise<T>;
    /**
     * Updates any of the following planning settings of an Atlassian team in a plan using [JSON
     * Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - PlanningStyle
     * - IssueSourceId
     * - SprintLength
     * - Capacity
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get Atlassian team in plan"
     * endpoint to find out the order of array elements._
     */
    updateAtlassianTeam<T = void>(parameters: UpdateAtlassianTeam, callback: Callback<T>): Promise<void>;
    /**
     * Updates any of the following planning settings of an Atlassian team in a plan using [JSON
     * Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - PlanningStyle
     * - IssueSourceId
     * - SprintLength
     * - Capacity
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get Atlassian team in plan"
     * endpoint to find out the order of array elements._
     */
    updateAtlassianTeam<T = void>(parameters: UpdateAtlassianTeam, callback?: never): Promise<T>;
    /**
     * Removes an Atlassian team from a plan and deletes their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeAtlassianTeam<T = void>(parameters: RemoveAtlassianTeam, callback: Callback<T>): Promise<void>;
    /**
     * Removes an Atlassian team from a plan and deletes their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    removeAtlassianTeam<T = void>(parameters: RemoveAtlassianTeam, callback?: never): Promise<T>;
    /**
     * Creates a plan-only team and configures their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPlanOnlyTeam<T = unknown>(parameters: CreatePlanOnlyTeam, callback: Callback<T>): Promise<void>;
    /**
     * Creates a plan-only team and configures their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createPlanOnlyTeam<T = unknown>(parameters: CreatePlanOnlyTeam, callback?: never): Promise<T>;
    /**
     * Returns planning settings for a plan-only team.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlanOnlyTeam<T = GetPlanOnlyTeamResponse>(parameters: GetPlanOnlyTeam, callback: Callback<T>): Promise<void>;
    /**
     * Returns planning settings for a plan-only team.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getPlanOnlyTeam<T = GetPlanOnlyTeamResponse>(parameters: GetPlanOnlyTeam, callback?: never): Promise<T>;
    /**
     * Updates any of the following planning settings of a plan-only team using [JSON
     * Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - Name
     * - PlanningStyle
     * - IssueSourceId
     * - SprintLength
     * - Capacity
     * - MemberAccountIds
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get plan-only team"
     * endpoint to find out the order of array elements._
     */
    updatePlanOnlyTeam<T = void>(parameters: UpdatePlanOnlyTeam, callback: Callback<T>): Promise<void>;
    /**
     * Updates any of the following planning settings of a plan-only team using [JSON
     * Patch](https://datatracker.ietf.org/doc/html/rfc6902).
     *
     * - Name
     * - PlanningStyle
     * - IssueSourceId
     * - SprintLength
     * - Capacity
     * - MemberAccountIds
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * _Note that "add" operations do not respect array indexes in target locations. Call the "Get plan-only team"
     * endpoint to find out the order of array elements._
     */
    updatePlanOnlyTeam<T = void>(parameters: UpdatePlanOnlyTeam, callback?: never): Promise<T>;
    /**
     * Deletes a plan-only team and their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePlanOnlyTeam<T = void>(parameters: DeletePlanOnlyTeam, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a plan-only team and their planning settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deletePlanOnlyTeam<T = void>(parameters: DeletePlanOnlyTeam, callback?: never): Promise<T>;
}

declare class TimeTracking {
    private client;
    constructor(client: Client);
    /**
     * Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a
     * successful but empty response is returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSelectedTimeTrackingImplementation<T = void>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a
     * successful but empty response is returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSelectedTimeTrackingImplementation<T = void>(callback?: never): Promise<T>;
    /**
     * Selects a time tracking provider.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    selectTimeTrackingImplementation<T = void>(parameters: SelectTimeTrackingImplementation | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Selects a time tracking provider.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    selectTimeTrackingImplementation<T = void>(parameters?: SelectTimeTrackingImplementation, callback?: never): Promise<T>;
    /**
     * Returns all time tracking providers. By default, Jira only has one time tracking provider: _JIRA provided time
     * tracking_. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more
     * information on time tracking providers, see the documentation for the [ Time Tracking
     * Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAvailableTimeTrackingImplementations<T = TimeTrackingProvider[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns all time tracking providers. By default, Jira only has one time tracking provider: _JIRA provided time
     * tracking_. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more
     * information on time tracking providers, see the documentation for the [ Time Tracking
     * Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAvailableTimeTrackingImplementations<T = TimeTrackingProvider[]>(callback?: never): Promise<T>;
    /**
     * Returns the time tracking settings. This includes settings such as the time format, default time unit, and others.
     * For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSharedTimeTrackingConfiguration<T = TimeTrackingConfiguration>(callback: Callback<T>): Promise<void>;
    /**
     * Returns the time tracking settings. This includes settings such as the time format, default time unit, and others.
     * For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getSharedTimeTrackingConfiguration<T = TimeTrackingConfiguration>(callback?: never): Promise<T>;
    /**
     * Sets the time tracking settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setSharedTimeTrackingConfiguration<T = TimeTrackingConfiguration>(parameters: SetSharedTimeTrackingConfiguration, callback: Callback<T>): Promise<void>;
    /**
     * Sets the time tracking settings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setSharedTimeTrackingConfiguration<T = TimeTrackingConfiguration>(parameters: SetSharedTimeTrackingConfiguration, callback?: never): Promise<T>;
}

declare class UIModificationsApps {
    private client;
    constructor(client: Client);
    /**
     * Gets UI modifications. UI modifications can only be retrieved by Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getUiModifications<T = PageUiModificationDetails>(parameters: GetUiModifications | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Gets UI modifications. UI modifications can only be retrieved by Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     *
     * The new `read:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    getUiModifications<T = PageUiModificationDetails>(parameters?: GetUiModifications, callback?: never): Promise<T>;
    /**
     * Creates a UI modification. UI modification can only be created by Forge apps.
     *
     * Each app can define up to 3000 UI modifications. Each UI modification can define up to 1000 contexts. The same
     * context can be assigned to maximum 100 UI modifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _None_ if the UI modification is created without contexts.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
     *   UI modification is created with contexts.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    createUiModification<T = UiModificationIdentifiers>(parameters: CreateUiModification, callback: Callback<T>): Promise<void>;
    /**
     * Creates a UI modification. UI modification can only be created by Forge apps.
     *
     * Each app can define up to 3000 UI modifications. Each UI modification can define up to 1000 contexts. The same
     * context can be assigned to maximum 100 UI modifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _None_ if the UI modification is created without contexts.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
     *   UI modification is created with contexts.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    createUiModification<T = UiModificationIdentifiers>(parameters: CreateUiModification, callback?: never): Promise<T>;
    /**
     * Updates a UI modification. UI modification can only be updated by Forge apps.
     *
     * Each UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI
     * modifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _None_ if the UI modification is created without contexts.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
     *   UI modification is created with contexts.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateUiModification<T = void>(parameters: UpdateUiModification, callback: Callback<T>): Promise<void>;
    /**
     * Updates a UI modification. UI modification can only be updated by Forge apps.
     *
     * Each UI modification can define up to 1000 contexts. The same context can be assigned to maximum 100 UI
     * modifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _None_ if the UI modification is created without contexts.
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
     *   UI modification is created with contexts.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    updateUiModification<T = void>(parameters: UpdateUiModification, callback?: never): Promise<T>;
    /**
     * Deletes a UI modification. All the contexts that belong to the UI modification are deleted too. UI modification can
     * only be deleted by Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    deleteUiModification<T = void>(parameters: DeleteUiModification | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a UI modification. All the contexts that belong to the UI modification are deleted too. UI modification can
     * only be deleted by Forge apps.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     *
     * The new `write:app-data:jira` OAuth scope is 100% optional now, and not using it won't break your app. However, we
     * recommend adding it to your app's scope list because we will eventually make it mandatory.
     */
    deleteUiModification<T = void>(parameters: DeleteUiModification | string, callback?: never): Promise<T>;
}

declare class UserNavProperties {
    private client;
    constructor(client: Client);
    /**
     * Returns the value of a user nav preference.
     *
     * Note: This operation fetches the property key value directly from RbacClient.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
     * - Access to Jira, to get a property from the calling user's record.
     */
    getUserNavProperty<T = UserNavProperty>(parameters: GetUserNavProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a user nav preference.
     *
     * Note: This operation fetches the property key value directly from RbacClient.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
     * - Access to Jira, to get a property from the calling user's record.
     */
    getUserNavProperty<T = UserNavProperty>(parameters: GetUserNavProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of a Nav4 preference. Use this resource to store Nav4 preference data against a user in the Identity
     * service.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
     * - Access to Jira, to set a property on the calling user's record.
     */
    setUserNavProperty<T = unknown>(parameters: SetUserNavProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a Nav4 preference. Use this resource to store Nav4 preference data against a user in the Identity
     * service.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
     * - Access to Jira, to set a property on the calling user's record.
     */
    setUserNavProperty<T = unknown>(parameters: SetUserNavProperty, callback?: never): Promise<T>;
}

declare class UserProperties {
    private client;
    constructor(client: Client);
    /**
     * Returns the keys of all properties for a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on
     *   any user.
     * - Access to Jira, to access the calling user's property keys.
     */
    getUserPropertyKeys<T = PropertyKeys$1>(parameters: GetUserPropertyKeys | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on
     *   any user.
     * - Access to Jira, to access the calling user's property keys.
     */
    getUserPropertyKeys<T = PropertyKeys$1>(parameters?: GetUserPropertyKeys, callback?: never): Promise<T>;
    /**
     * Returns the value of a user's property. If no property key is provided [Get user property
     * keys](#api-rest-api-3-user-properties-get) is called.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
     * - Access to Jira, to get a property from the calling user's record.
     */
    getUserProperty<T = EntityProperty$1>(parameters: GetUserProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a user's property. If no property key is provided [Get user property
     * keys](#api-rest-api-3-user-properties-get) is called.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
     * - Access to Jira, to get a property from the calling user's record.
     */
    getUserProperty<T = EntityProperty$1>(parameters: GetUserProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of a user's property. Use this resource to store custom data against a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
     * - Access to Jira, to set a property on the calling user's record.
     */
    setUserProperty<T = unknown>(parameters: SetUserProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a user's property. Use this resource to store custom data against a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
     * - Access to Jira, to set a property on the calling user's record.
     */
    setUserProperty<T = unknown>(parameters: SetUserProperty, callback?: never): Promise<T>;
    /**
     * Deletes a property from a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any
     *   user.
     * - Access to Jira, to delete a property from the calling user's record.
     */
    deleteUserProperty<T = void>(parameters: DeleteUserProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a property from a user.
     *
     * Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and
     * maintained in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any
     *   user.
     * - Access to Jira, to delete a property from the calling user's record.
     */
    deleteUserProperty<T = void>(parameters: DeleteUserProperty, callback?: never): Promise<T>;
}

declare class Users {
    private client;
    constructor(client: Client);
    /**
     * Returns a user.
     *
     * Privacy controls are applied to the response based on the user's preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUser<T = User$2>(parameters: GetUser, callback: Callback<T>): Promise<void>;
    /**
     * Returns a user.
     *
     * Privacy controls are applied to the response based on the user's preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUser<T = User$2>(parameters: GetUser, callback?: never): Promise<T>;
    /**
     * Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is
     * available this resource will be deprecated.
     *
     * If the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have
     * access to Jira, the operation returns a 400 status.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createUser<T = User$2>(parameters: CreateUser, callback: Callback<T>): Promise<void>;
    /**
     * Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is
     * available this resource will be deprecated.
     *
     * If the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have
     * access to Jira, the operation returns a 400 status.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createUser<T = User$2>(parameters: CreateUser, callback?: never): Promise<T>;
    /**
     * Deletes a user. If the operation completes successfully then the user is removed from Jira's user base. This
     * operation does not delete the user's Atlassian account.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, membership of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeUser<T = void>(parameters: RemoveUser, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a user. If the operation completes successfully then the user is removed from Jira's user base. This
     * operation does not delete the user's Atlassian account.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Site
     * administration (that is, membership of the _site-admin_ [group](https://confluence.atlassian.com/x/24xjL)).
     */
    removeUser<T = void>(parameters: RemoveUser, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of the
     * users specified by one or more account IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    bulkGetUsers<T = PageUser>(parameters: BulkGetUsers, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of the
     * users specified by one or more account IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    bulkGetUsers<T = PageUser>(parameters: BulkGetUsers, callback?: never): Promise<T>;
    /**
     * Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or
     * `username` parameters can be specified.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    bulkGetUsersMigration<T = UserMigration[]>(parameters: BulkGetUsersMigration, callback: Callback<T>): Promise<void>;
    /**
     * Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or
     * `username` parameters can be specified.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    bulkGetUsersMigration<T = UserMigration[]>(parameters: BulkGetUsersMigration, callback?: never): Promise<T>;
    /**
     * Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId`
     * is not passed in the request, the calling user's details are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for
     *   any user.
     * - Permission to access Jira, to get the calling user's column details.
     */
    getUserDefaultColumns<T = ColumnItem[]>(parameters: GetUserDefaultColumns | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId`
     * is not passed in the request, the calling user's details are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for
     *   any user.
     * - Permission to access Jira, to get the calling user's column details.
     */
    getUserDefaultColumns<T = ColumnItem[]>(parameters?: GetUserDefaultColumns, callback?: never): Promise<T>;
    /**
     * Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID
     * is not passed, the calling user's default columns are set. If no column details are sent, then all default columns
     * are removed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
     * - Permission to access Jira, to set the calling user's columns.
     */
    setUserColumns<T = string>(parameters: SetUserColumns, callback: Callback<T>): Promise<void>;
    /**
     * Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID
     * is not passed, the calling user's default columns are set. If no column details are sent, then all default columns
     * are removed.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
     * - Permission to access Jira, to set the calling user's columns.
     */
    setUserColumns<T = string>(parameters: SetUserColumns, callback?: never): Promise<T>;
    /**
     * Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system
     * default. If `accountId` is not passed, the calling user's default columns are reset.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
     * - Permission to access Jira, to set the calling user's columns.
     */
    resetUserColumns<T = void>(parameters: ResetUserColumns, callback: Callback<T>): Promise<void>;
    /**
     * Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system
     * default. If `accountId` is not passed, the calling user's default columns are reset.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
     * - Permission to access Jira, to set the calling user's columns.
     */
    resetUserColumns<T = void>(parameters: ResetUserColumns, callback?: never): Promise<T>;
    /**
     * Returns a user's email address regardless of the user's profile visibility settings. For Connect apps, this API is
     * only available to apps approved by Atlassian, according to these
     * [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
     * For Forge apps, this API only supports access via asApp() requests.
     */
    getUserEmail<T = UnrestrictedUserEmail>(parameters: GetUserEmail | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a user's email address regardless of the user's profile visibility settings. For Connect apps, this API is
     * only available to apps approved by Atlassian, according to these
     * [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
     * For Forge apps, this API only supports access via asApp() requests.
     */
    getUserEmail<T = UnrestrictedUserEmail>(parameters: GetUserEmail | string, callback?: never): Promise<T>;
    /**
     * Returns a user's email address regardless of the user's profile visibility settings. For Connect apps, this API is
     * only available to apps approved by Atlassian, according to these
     * [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
     * For Forge apps, this API only supports access via asApp() requests.
     */
    getUserEmailBulk<T = UnrestrictedUserEmail>(parameters: GetUserEmailBulk | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a user's email address regardless of the user's profile visibility settings. For Connect apps, this API is
     * only available to apps approved by Atlassian, according to these
     * [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
     * For Forge apps, this API only supports access via asApp() requests.
     */
    getUserEmailBulk<T = UnrestrictedUserEmail>(parameters: GetUserEmailBulk | string, callback?: never): Promise<T>;
    /**
     * Returns the groups to which a user belongs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUserGroups<T = GroupName[]>(parameters: GetUserGroups, callback: Callback<T>): Promise<void>;
    /**
     * Returns the groups to which a user belongs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getUserGroups<T = GroupName[]>(parameters: GetUserGroups, callback?: never): Promise<T>;
    /**
     * Returns a list of all users, including active users, inactive users and previously deleted users that have an
     * Atlassian account.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllUsersDefault<T = User$2[]>(parameters: GetAllUsersDefault | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all users, including active users, inactive users and previously deleted users that have an
     * Atlassian account.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllUsersDefault<T = User$2[]>(parameters?: GetAllUsersDefault, callback?: never): Promise<T>;
    /**
     * Returns a list of all users, including active users, inactive users and previously deleted users that have an
     * Atlassian account.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllUsers<T = User$2[]>(parameters: GetAllUsers | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all users, including active users, inactive users and previously deleted users that have an
     * Atlassian account.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllUsers<T = User$2[]>(parameters?: GetAllUsers, callback?: never): Promise<T>;
}

declare class UserSearch {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users
     * whose attributes match a string.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that can be assigned issues in the projects. This means the operation
     * usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the
     * projects, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    findBulkAssignableUsers<T = User$2[]>(parameters: FindBulkAssignableUsers, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users
     * whose attributes match a string.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that can be assigned issues in the projects. This means the operation
     * usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the
     * projects, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** None.
     */
    findBulkAssignableUsers<T = User$2[]>(parameters: FindBulkAssignableUsers, callback?: never): Promise<T>;
    /**
     * Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be
     * assigned to:
     *
     * - A new issue, by providing the `projectKeyOrId`.
     * - An updated issue, by providing the `issueKey` or `issueId`.
     * - To an issue during a transition (workflow action), by providing the `issueKey` or `issueId` and the transition id
     *   in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in
     *   the `expand` parameter of [ Get issue](#api-rest-api-3-issue-issueIdOrKey-get).
     *
     * In all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is
     * returned in the response if they can be assigned to the issue or issue transition.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that can be assigned the issue. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get
     * all users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Assign issues_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg)
     */
    findAssignableUsers<T = User$2[]>(parameters: FindAssignableUsers | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be
     * assigned to:
     *
     * - A new issue, by providing the `projectKeyOrId`.
     * - An updated issue, by providing the `issueKey` or `issueId`.
     * - To an issue during a transition (workflow action), by providing the `issueKey` or `issueId` and the transition id
     *   in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in
     *   the `expand` parameter of [ Get issue](#api-rest-api-3-issue-issueIdOrKey-get).
     *
     * In all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is
     * returned in the response if they can be assigned to the issue or issue transition.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that can be assigned the issue. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get
     * all users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg) or _Assign issues_ [project
     * permission](https://confluence.atlassian.com/x/yodKLg)
     */
    findAssignableUsers<T = User$2[]>(parameters?: FindAssignableUsers, callback?: never): Promise<T>;
    /**
     * Returns a list of users who fulfill these criteria:
     *
     * - Their user attributes match a search string.
     * - They have a set of permissions for a project or issue.
     *
     * If no search string is provided, a list of all users with the permissions is returned.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the search string and have permission for the project or
     * issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users
     * who match the search string and have permission for the project or issue, use [Get all
     * users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users
     *   for that project.
     */
    findUsersWithAllPermissions<T = User$2[]>(parameters: FindUsersWithAllPermissions, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users who fulfill these criteria:
     *
     * - Their user attributes match a search string.
     * - They have a set of permissions for a project or issue.
     *
     * If no search string is provided, a list of all users with the permissions is returned.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the search string and have permission for the project or
     * issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users
     * who match the search string and have permission for the project or issue, use [Get all
     * users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.
     * - _Administer Projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users
     *   for that project.
     */
    findUsersWithAllPermissions<T = User$2[]>(parameters: FindUsersWithAllPermissions, callback?: never): Promise<T>;
    /**
     * Returns a list of users whose attributes match the query term. The returned object includes the `html` field where
     * the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude
     * users from the results.
     *
     * This operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns
     * only the users from that range that match the query term. This means the operation usually returns fewer users than
     * specified in `maxResults`. To get all the users who match the query term, use [Get all
     * users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by
     * users without the required permission return search results for an exact name match only.
     */
    findUsersForPicker<T = FoundUsers>(parameters: FindUsersForPicker, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users whose attributes match the query term. The returned object includes the `html` field where
     * the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude
     * users from the results.
     *
     * This operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns
     * only the users from that range that match the query term. This means the operation usually returns fewer users than
     * specified in `maxResults`. To get all the users who match the query term, use [Get all
     * users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by
     * users without the required permission return search results for an exact name match only.
     */
    findUsersForPicker<T = FoundUsers>(parameters: FindUsersForPicker, callback?: never): Promise<T>;
    /**
     * Returns a list of active users that match the search string and property.
     *
     * This operation first applies a filter to match the search string and property, and then takes the filtered users in
     * the range defined by `startAt` and `maxResults`, up to the thousandth user. To get all the users who match the
     * search string and property, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your
     * code.
     *
     * This operation can be accessed anonymously.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users
     * without the required permission return empty search results.
     */
    findUsers<T = User$2[]>(parameters: FindUsers | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of active users that match the search string and property.
     *
     * This operation first applies a filter to match the search string and property, and then takes the filtered users in
     * the range defined by `startAt` and `maxResults`, up to the thousandth user. To get all the users who match the
     * search string and property, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your
     * code.
     *
     * This operation can be accessed anonymously.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users
     * without the required permission return empty search results.
     */
    findUsers<T = User$2[]>(parameters?: FindUsers, callback?: never): Promise<T>;
    /**
     * Finds users with a structured query and returns a
     * [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of user details.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the structured query. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get
     * all users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * The query statements are:
     *
     * - `is assignee of PROJ` Returns the users that are assignees of at least one issue in project _PROJ_.
     * - `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues _PROJ-1_ or _PROJ-2_.
     * - `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues _PROJ-1_ or _PROJ-2_.
     * - `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues _PROJ-1_ or _PROJ-2_.
     * - `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues _PROJ-1_ or
     *   _PROJ-2_.
     * - `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value. For example,
     *   if user property `location` is set to value `{"office": {"country": "AU", "city": "Sydney"}}`, then it's possible
     *   to use `[location].office.city is "Sydney"` to match the user.
     *
     * The list of issues can be extended as needed, as in _(PROJ-1, PROJ-2, ... PROJ-n)_. Statements can be combined
     * using the `AND` and `OR` operators to form more complex queries. For example:
     *
     * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
     */
    findUsersByQuery<T = PageUser>(parameters: FindUsersByQuery, callback: Callback<T>): Promise<void>;
    /**
     * Finds users with a structured query and returns a
     * [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of user details.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the structured query. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get
     * all users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * The query statements are:
     *
     * - `is assignee of PROJ` Returns the users that are assignees of at least one issue in project _PROJ_.
     * - `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues _PROJ-1_ or _PROJ-2_.
     * - `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues _PROJ-1_ or _PROJ-2_.
     * - `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues _PROJ-1_ or _PROJ-2_.
     * - `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues _PROJ-1_ or
     *   _PROJ-2_.
     * - `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value. For example,
     *   if user property `location` is set to value `{"office": {"country": "AU", "city": "Sydney"}}`, then it's possible
     *   to use `[location].office.city is "Sydney"` to match the user.
     *
     * The list of issues can be extended as needed, as in _(PROJ-1, PROJ-2, ... PROJ-n)_. Statements can be combined
     * using the `AND` and `OR` operators to form more complex queries. For example:
     *
     * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
     */
    findUsersByQuery<T = PageUser>(parameters: FindUsersByQuery, callback?: never): Promise<T>;
    /**
     * Finds users with a structured query and returns a
     * [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of user keys.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the structured query. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get
     * all users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * The query statements are:
     *
     * - `is assignee of PROJ` Returns the users that are assignees of at least one issue in project _PROJ_.
     * - `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues _PROJ-1_ or _PROJ-2_.
     * - `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues _PROJ-1_ or _PROJ-2_.
     * - `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues _PROJ-1_ or _PROJ-2_.
     * - `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues _PROJ-1_ or
     *   _PROJ-2_.
     * - `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value. For example,
     *   if user property `location` is set to value `{"office": {"country": "AU", "city": "Sydney"}}`, then it's possible
     *   to use `[location].office.city is "Sydney"` to match the user.
     *
     * The list of issues can be extended as needed, as in _(PROJ-1, PROJ-2, ... PROJ-n)_. Statements can be combined
     * using the `AND` and `OR` operators to form more complex queries. For example:
     *
     * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
     */
    findUserKeysByQuery<T = PageUserKey>(parameters: FindUserKeysByQuery, callback: Callback<T>): Promise<void>;
    /**
     * Finds users with a structured query and returns a
     * [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of user keys.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the structured query. This means the operation usually
     * returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get
     * all users](#api-rest-api-3-users-search-get) and filter the records in your code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     *
     * The query statements are:
     *
     * - `is assignee of PROJ` Returns the users that are assignees of at least one issue in project _PROJ_.
     * - `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues _PROJ-1_ or _PROJ-2_.
     * - `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues _PROJ-1_ or _PROJ-2_.
     * - `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues _PROJ-1_ or _PROJ-2_.
     * - `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues _PROJ-1_ or _PROJ-2_.
     * - `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues _PROJ-1_ or
     *   _PROJ-2_.
     * - `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value. For example,
     *   if user property `location` is set to value `{"office": {"country": "AU", "city": "Sydney"}}`, then it's possible
     *   to use `[location].office.city is "Sydney"` to match the user.
     *
     * The list of issues can be extended as needed, as in _(PROJ-1, PROJ-2, ... PROJ-n)_. Statements can be combined
     * using the `AND` and `OR` operators to form more complex queries. For example:
     *
     * `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
     */
    findUserKeysByQuery<T = PageUserKey>(parameters: FindUserKeysByQuery, callback?: never): Promise<T>;
    /**
     * Returns a list of users who fulfill these criteria:
     *
     * - Their user attributes match a search string.
     * - They have permission to browse issues.
     *
     * Use this resource to find users who can browse:
     *
     * - An issue, by providing the `issueKey`.
     * - Any issue in a project, by providing the `projectKey`.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the search string and have permission to browse issues. This
     * means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the
     * search string and have permission to browse issues, use [Get all users](#api-rest-api-3-users-search-get) and
     * filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by
     * users without the required permission return empty search results.
     */
    findUsersWithBrowsePermission<T = User$2[]>(parameters: FindUsersWithBrowsePermission | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of users who fulfill these criteria:
     *
     * - Their user attributes match a search string.
     * - They have permission to browse issues.
     *
     * Use this resource to find users who can browse:
     *
     * - An issue, by providing the `issueKey`.
     * - Any issue in a project, by providing the `projectKey`.
     *
     * This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and
     * then returns only the users from that range that match the search string and have permission to browse issues. This
     * means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the
     * search string and have permission to browse issues, use [Get all users](#api-rest-api-3-users-search-get) and
     * filter the records in your code.
     *
     * Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that
     * the user's email address is hidden. See the [Profile visibility
     * overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.
     *
     * This operation can be accessed anonymously.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** _Browse
     * users and groups_ [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by
     * users without the required permission return empty search results.
     */
    findUsersWithBrowsePermission<T = User$2[]>(parameters?: FindUsersWithBrowsePermission, callback?: never): Promise<T>;
}

declare class Webhooks {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of the
     * webhooks registered by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    getDynamicWebhooksForApp<T = PageWebhook>(parameters: GetDynamicWebhooksForApp | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of the
     * webhooks registered by the calling app.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    getDynamicWebhooksForApp<T = PageWebhook>(parameters?: GetDynamicWebhooksForApp, callback?: never): Promise<T>;
    /**
     * Registers webhooks.
     *
     * **NOTE:** for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the
     * user who registered a dynamic webhook.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    registerDynamicWebhooks<T = ContainerForRegisteredWebhooks>(parameters: RegisterDynamicWebhooks, callback: Callback<T>): Promise<void>;
    /**
     * Registers webhooks.
     *
     * **NOTE:** for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the
     * user who registered a dynamic webhook.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    registerDynamicWebhooks<T = ContainerForRegisteredWebhooks>(parameters: RegisterDynamicWebhooks, callback?: never): Promise<T>;
    /**
     * Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps
     * are specified, they are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    deleteWebhookById<T = unknown>(parameters: DeleteWebhookById, callback: Callback<T>): Promise<void>;
    /**
     * Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps
     * are specified, they are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    deleteWebhookById<T = unknown>(parameters: DeleteWebhookById, callback?: never): Promise<T>;
    /**
     * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of
     * retries.
     *
     * After 72 hours the failure may no longer be returned by this operation.
     *
     * The oldest failure is returned first.
     *
     * This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on
     * the list as the `failedAfter` value or use the URL provided in `next`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.
     */
    getFailedWebhooks<T = FailedWebhooks>(parameters: GetFailedWebhooks | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of
     * retries.
     *
     * After 72 hours the failure may no longer be returned by this operation.
     *
     * The oldest failure is returned first.
     *
     * This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on
     * the list as the `failedAfter` value or use the URL provided in `next`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.
     */
    getFailedWebhooks<T = FailedWebhooks>(parameters?: GetFailedWebhooks, callback?: never): Promise<T>;
    /**
     * Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to
     * keep them alive.
     *
     * Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    refreshWebhooks<T = WebhooksExpirationDate>(parameters: RefreshWebhooks, callback: Callback<T>): Promise<void>;
    /**
     * Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to
     * keep them alive.
     *
     * Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth
     * 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
     */
    refreshWebhooks<T = WebhooksExpirationDate>(parameters: RefreshWebhooks, callback?: never): Promise<T>;
}

declare class Workflows {
    private client;
    constructor(client: Client);
    /**
     * Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no
     * transitional rules are specified the default system transition rules are used. Note: This only applies to
     * company-managed scoped workflows. Use [bulk create
     * workflows](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/#api-rest-api-3-workflows-create-post)
     * to create both team and company-managed scoped workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflow<T = WorkflowId>(parameters: CreateWorkflow, callback: Callback<T>): Promise<void>;
    /**
     * Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no
     * transitional rules are specified the default system transition rules are used. Note: This only applies to
     * company-managed scoped workflows. Use [bulk create
     * workflows](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflows/#api-rest-api-3-workflows-create-post)
     * to create both team and company-managed scoped workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflow<T = WorkflowId>(parameters: CreateWorkflow, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise,
     * all published classic workflows are returned.
     *
     * This operation does not return next-gen workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowsPaginated<T = PageWorkflow>(parameters: GetWorkflowsPaginated | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise,
     * all published classic workflows are returned.
     *
     * This operation does not return next-gen workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowsPaginated<T = PageWorkflow>(parameters?: GetWorkflowsPaginated, callback?: never): Promise<T>;
    /**
     * Deletes a workflow.
     *
     * The workflow cannot be deleted if it is:
     *
     * - An active workflow.
     * - A system workflow.
     * - Associated with any workflow scheme.
     * - Associated with any draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteInactiveWorkflow<T = void>(parameters: DeleteInactiveWorkflow | string, callback: Callback<T>): Promise<void>;
    /** Returns a page of issue types using a given workflow within a project. */
    getWorkflowProjectIssueTypeUsages<T = WorkflowProjectIssueTypeUsage>(parameters: GetWorkflowProjectIssueTypeUsages, callback: Callback<T>): Promise<void>;
    /** Returns a page of issue types using a given workflow within a project. */
    getWorkflowProjectIssueTypeUsages<T = WorkflowProjectIssueTypeUsage>(parameters: GetWorkflowProjectIssueTypeUsages, callback?: never): Promise<T>;
    /** Returns a page of projects using a given workflow. */
    getProjectUsagesForWorkflow<T = WorkflowProjectUsage>(parameters: GetProjectUsagesForWorkflow, callback: Callback<T>): Promise<void>;
    /** Returns a page of projects using a given workflow. */
    getProjectUsagesForWorkflow<T = WorkflowProjectUsage>(parameters: GetProjectUsagesForWorkflow, callback?: never): Promise<T>;
    /** Returns a page of workflow schemes using a given workflow. */
    getWorkflowSchemeUsagesForWorkflow<T = WorkflowSchemeUsage>(parameters: GetWorkflowSchemeUsagesForWorkflow, callback: Callback<T>): Promise<void>;
    /** Returns a page of workflow schemes using a given workflow. */
    getWorkflowSchemeUsagesForWorkflow<T = WorkflowSchemeUsage>(parameters: GetWorkflowSchemeUsagesForWorkflow, callback?: never): Promise<T>;
    /**
     * Returns a list of workflows and related statuses by providing workflow names, workflow IDs, or project and issue
     * types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflows
     * - At least one of the _Administer projects_ and _View (read-only) workflow_ project permissions to access
     *   project-scoped workflows
     */
    readWorkflows<T = WorkflowRead>(parameters: ReadWorkflows | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of workflows and related statuses by providing workflow names, workflow IDs, or project and issue
     * types.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflows
     * - At least one of the _Administer projects_ and _View (read-only) workflow_ project permissions to access
     *   project-scoped workflows
     */
    readWorkflows<T = WorkflowRead>(parameters?: ReadWorkflows, callback?: never): Promise<T>;
    /**
     * Get the list of workflow capabilities for a specific workflow using either the workflow ID, or the project and
     * issue type ID pair. The response includes the scope of the workflow, defined as global/project-based, and a list of
     * project types that the workflow is scoped to. It also includes all rules organised into their broad categories
     * (conditions, validators, actions, triggers, screens) as well as the source location (Atlassian-provided, Connect,
     * Forge).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to access all, including global-scoped, workflows
     * - _Administer projects_ project permissions to access project-scoped workflows
     */
    workflowCapabilities<T = WorkflowCapabilities$1>(parameters: WorkflowCapabilities | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Get the list of workflow capabilities for a specific workflow using either the workflow ID, or the project and
     * issue type ID pair. The response includes the scope of the workflow, defined as global/project-based, and a list of
     * project types that the workflow is scoped to. It also includes all rules organised into their broad categories
     * (conditions, validators, actions, triggers, screens) as well as the source location (Atlassian-provided, Connect,
     * Forge).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to access all, including global-scoped, workflows
     * - _Administer projects_ project permissions to access project-scoped workflows
     */
    workflowCapabilities<T = WorkflowCapabilities$1>(parameters?: WorkflowCapabilities, callback?: never): Promise<T>;
    /**
     * Create workflows and related statuses.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    createWorkflows<T = WorkflowCreate>(parameters: CreateWorkflows, callback: Callback<T>): Promise<void>;
    /**
     * Create workflows and related statuses.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    createWorkflows<T = WorkflowCreate>(parameters: CreateWorkflows, callback?: never): Promise<T>;
    /**
     * Validate the payload for bulk create workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    validateCreateWorkflows<T = WorkflowValidationErrorList>(parameters: ValidateCreateWorkflows, callback: Callback<T>): Promise<void>;
    /**
     * Validate the payload for bulk create workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    validateCreateWorkflows<T = WorkflowValidationErrorList>(parameters: ValidateCreateWorkflows, callback?: never): Promise<T>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of global
     * and project workflows. If workflow names are specified in query string, details of those workflows are returned.
     * Otherwise, all workflows are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflows
     * - At least one of the _Administer projects_ and _View (read-only) workflow_ project permissions to access
     *   project-scoped workflows
     */
    searchWorkflows<T = WorkflowSearchResponse>(parameters: SearchWorkflows | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of global
     * and project workflows. If workflow names are specified in query string, details of those workflows are returned.
     * Otherwise, all workflows are returned.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflows
     * - At least one of the _Administer projects_ and _View (read-only) workflow_ project permissions to access
     *   project-scoped workflows
     */
    searchWorkflows<T = WorkflowSearchResponse>(parameters?: SearchWorkflows, callback?: never): Promise<T>;
    /**
     * Update workflows and related statuses.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    updateWorkflows<T = WorkflowUpdate>(parameters: UpdateWorkflows, callback: Callback<T>): Promise<void>;
    /**
     * Update workflows and related statuses.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    updateWorkflows<T = WorkflowUpdate>(parameters: UpdateWorkflows, callback?: never): Promise<T>;
    /**
     * Validate the payload for bulk update workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    validateUpdateWorkflows<T = WorkflowValidationErrorList>(parameters: ValidateUpdateWorkflows, callback: Callback<T>): Promise<void>;
    /**
     * Validate the payload for bulk update workflows.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to create all, including global-scoped, workflows
     * - _Administer projects_ project permissions to create project-scoped workflows
     */
    validateUpdateWorkflows<T = WorkflowValidationErrorList>(parameters: ValidateUpdateWorkflows, callback?: never): Promise<T>;
}

declare class WorkflowSchemeDrafts {
    private client;
    constructor(client: Client);
    /**
     * Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an
     * active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowSchemeDraftFromParent<T = WorkflowScheme>(parameters: CreateWorkflowSchemeDraftFromParent | string, callback: Callback<T>): Promise<void>;
    /**
     * Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an
     * active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowSchemeDraftFromParent<T = WorkflowScheme>(parameters: CreateWorkflowSchemeDraftFromParent | string, callback?: never): Promise<T>;
    /**
     * Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to
     * the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is
     * modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow
     * schemes](https://confluence.atlassian.com/x/tohKLg) for more information.\
     * Note that:
     *
     * - Only active workflow schemes can have draft workflow schemes.
     * - An active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeDraft<T = WorkflowScheme>(parameters: GetWorkflowSchemeDraft | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to
     * the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is
     * modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow
     * schemes](https://confluence.atlassian.com/x/tohKLg) for more information.\
     * Note that:
     *
     * - Only active workflow schemes can have draft workflow schemes.
     * - An active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeDraft<T = WorkflowScheme>(parameters: GetWorkflowSchemeDraft | string, callback?: never): Promise<T>;
    /**
     * Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a
     * draft is created. Note that an active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowSchemeDraft<T = WorkflowScheme>(parameters: UpdateWorkflowSchemeDraft, callback: Callback<T>): Promise<void>;
    /**
     * Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a
     * draft is created. Note that an active workflow scheme can only have one draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowSchemeDraft<T = WorkflowScheme>(parameters: UpdateWorkflowSchemeDraft, callback?: never): Promise<T>;
    /**
     * Deletes a draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeDraft<T = void>(parameters: DeleteWorkflowSchemeDraft | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a draft workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeDraft<T = void>(parameters: DeleteWorkflowSchemeDraft | string, callback?: never): Promise<T>;
    /**
     * Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned
     * any issue types that have not been mapped to any other workflow. The default workflow has _All Unassigned Issue
     * Types_ listed in its issue types for the workflow scheme in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDraftDefaultWorkflow<T = DefaultWorkflow>(parameters: GetDraftDefaultWorkflow | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned
     * any issue types that have not been mapped to any other workflow. The default workflow has _All Unassigned Issue
     * Types_ listed in its issue types for the workflow scheme in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDraftDefaultWorkflow<T = DefaultWorkflow>(parameters: GetDraftDefaultWorkflow | string, callback?: never): Promise<T>;
    /**
     * Sets the default workflow for a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDraftDefaultWorkflow<T = WorkflowScheme>(parameters: UpdateDraftDefaultWorkflow, callback: Callback<T>): Promise<void>;
    /**
     * Sets the default workflow for a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDraftDefaultWorkflow<T = WorkflowScheme>(parameters: UpdateDraftDefaultWorkflow, callback?: never): Promise<T>;
    /**
     * Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system
     * workflow (the _jira_ workflow).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDraftDefaultWorkflow<T = WorkflowScheme>(parameters: DeleteDraftDefaultWorkflow | string, callback: Callback<T>): Promise<void>;
    /**
     * Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system
     * workflow (the _jira_ workflow).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDraftDefaultWorkflow<T = WorkflowScheme>(parameters: DeleteDraftDefaultWorkflow | string, callback?: never): Promise<T>;
    /**
     * Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeDraftIssueType<T = IssueTypeWorkflowMapping>(parameters: GetWorkflowSchemeDraftIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeDraftIssueType<T = IssueTypeWorkflowMapping>(parameters: GetWorkflowSchemeDraftIssueType, callback?: never): Promise<T>;
    /**
     * Sets the workflow for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setWorkflowSchemeDraftIssueType<T = WorkflowScheme>(parameters: SetWorkflowSchemeDraftIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Sets the workflow for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setWorkflowSchemeDraftIssueType<T = WorkflowScheme>(parameters: SetWorkflowSchemeDraftIssueType, callback?: never): Promise<T>;
    /**
     * Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeDraftIssueType<T = WorkflowScheme>(parameters: DeleteWorkflowSchemeDraftIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeDraftIssueType<T = WorkflowScheme>(parameters: DeleteWorkflowSchemeDraftIssueType, callback?: never): Promise<T>;
    /**
     * Publishes a draft workflow scheme.
     *
     * Where the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues
     * with the original workflow status to the new workflow status.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    publishDraftWorkflowScheme<T = void>(parameters: PublishDraftWorkflowScheme | string, callback: Callback<T>): Promise<void>;
    /**
     * Publishes a draft workflow scheme.
     *
     * Where the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues
     * with the original workflow status to the new workflow status.
     *
     * This operation is
     * [asynchronous](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations). Follow the
     * `location` link in the response to determine the status of the task and use [Get
     * task](#api-rest-api-3-task-taskId-get) to obtain updates.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    publishDraftWorkflowScheme<T = void>(parameters: PublishDraftWorkflowScheme | string, callback?: never): Promise<T>;
    /**
     * Returns the workflow-issue type mappings for a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDraftWorkflow<T = IssueTypesWorkflowMapping>(parameters: GetDraftWorkflow, callback: Callback<T>): Promise<void>;
    /**
     * Returns the workflow-issue type mappings for a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDraftWorkflow<T = IssueTypesWorkflowMapping>(parameters: GetDraftWorkflow, callback?: never): Promise<T>;
    /**
     * Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default
     * workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDraftWorkflowMapping<T = WorkflowScheme>(parameters: UpdateDraftWorkflowMapping, callback: Callback<T>): Promise<void>;
    /**
     * Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default
     * workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDraftWorkflowMapping<T = WorkflowScheme>(parameters: UpdateDraftWorkflowMapping, callback?: never): Promise<T>;
    /**
     * Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDraftWorkflowMapping<T = unknown>(parameters: DeleteDraftWorkflowMapping, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDraftWorkflowMapping<T = unknown>(parameters: DeleteDraftWorkflowMapping, callback?: never): Promise<T>;
}

declare class WorkflowSchemeProjectAssociations {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a
     * list of the requested projects associated with it. Any team-managed or non-existent projects in the request are
     * ignored and no errors are returned.
     *
     * If the project is associated with the `Default Workflow Scheme` no ID is returned. This is because the way the
     * `Default Workflow Scheme` is stored means it has no ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeProjectAssociations<T = ContainerOfWorkflowSchemeAssociations>(parameters: GetWorkflowSchemeProjectAssociations, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a
     * list of the requested projects associated with it. Any team-managed or non-existent projects in the request are
     * ignored and no errors are returned.
     *
     * If the project is associated with the `Default Workflow Scheme` no ID is returned. This is because the way the
     * `Default Workflow Scheme` is stored means it has no ID.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeProjectAssociations<T = ContainerOfWorkflowSchemeAssociations>(parameters: GetWorkflowSchemeProjectAssociations, callback?: never): Promise<T>;
    /**
     * Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.
     *
     * Workflow schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignSchemeToProject<T = void>(parameters: AssignSchemeToProject, callback: Callback<T>): Promise<void>;
    /**
     * Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.
     *
     * Workflow schemes can only be assigned to classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    assignSchemeToProject<T = void>(parameters: AssignSchemeToProject, callback?: never): Promise<T>;
}

declare class WorkflowSchemes {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * workflow schemes, not including draft workflow schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllWorkflowSchemes<T = PageWorkflowScheme>(parameters: GetAllWorkflowSchemes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of all
     * workflow schemes, not including draft workflow schemes.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getAllWorkflowSchemes<T = PageWorkflowScheme>(parameters?: GetAllWorkflowSchemes, callback?: never): Promise<T>;
    /**
     * Creates a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowScheme<T = WorkflowScheme>(parameters: CreateWorkflowScheme, callback: Callback<T>): Promise<void>;
    /**
     * Creates a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowScheme<T = WorkflowScheme>(parameters: CreateWorkflowScheme, callback?: never): Promise<T>;
    /**
     * Returns a list of workflow schemes by providing workflow scheme IDs or project IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflow schemes
     * - _Administer projects_ project permissions to access project-scoped workflow schemes
     */
    readWorkflowSchemes<T = WorkflowSchemeReadResponse[]>(parameters: ReadWorkflowSchemes, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of workflow schemes by providing workflow scheme IDs or project IDs.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ global permission to access all, including project-scoped, workflow schemes
     * - _Administer projects_ project permissions to access project-scoped workflow schemes
     */
    readWorkflowSchemes<T = WorkflowSchemeReadResponse[]>(parameters: ReadWorkflowSchemes, callback?: never): Promise<T>;
    /**
     * Updates company-managed and team-managed project workflow schemes. This API doesn't have a concept of draft, so any
     * changes made to a workflow scheme are immediately available. When changing the available statuses for issue types,
     * an [asynchronous task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations)
     * migrates the issues as defined in the provided mappings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to update all, including global-scoped, workflow schemes.
     * - _Administer projects_ project permission to update project-scoped workflow schemes.
     */
    updateSchemes<T = unknown>(parameters: UpdateSchemes, callback: Callback<T>): Promise<void>;
    /**
     * Updates company-managed and team-managed project workflow schemes. This API doesn't have a concept of draft, so any
     * changes made to a workflow scheme are immediately available. When changing the available statuses for issue types,
     * an [asynchronous task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#async-operations)
     * migrates the issues as defined in the provided mappings.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ project permission to update all, including global-scoped, workflow schemes.
     * - _Administer projects_ project permission to update project-scoped workflow schemes.
     */
    updateSchemes<T = unknown>(parameters: UpdateSchemes, callback?: never): Promise<T>;
    /**
     * Gets the required status mappings for the desired changes to a workflow scheme. The results are provided per issue
     * type and workflow. When updating a workflow scheme, status mappings can be provided per issue type, per workflow,
     * or both.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ permission to update all, including global-scoped, workflow schemes.
     * - _Administer projects_ project permission to update project-scoped workflow schemes.
     */
    updateWorkflowSchemeMappings<T = WorkflowSchemeUpdateRequiredMappingsResponse>(parameters: UpdateWorkflowSchemeMappings, callback: Callback<T>): Promise<void>;
    /**
     * Gets the required status mappings for the desired changes to a workflow scheme. The results are provided per issue
     * type and workflow. When updating a workflow scheme, status mappings can be provided per issue type, per workflow,
     * or both.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     *
     * - _Administer Jira_ permission to update all, including global-scoped, workflow schemes.
     * - _Administer projects_ project permission to update project-scoped workflow schemes.
     */
    updateWorkflowSchemeMappings<T = WorkflowSchemeUpdateRequiredMappingsResponse>(parameters: UpdateWorkflowSchemeMappings, callback?: never): Promise<T>;
    /**
     * Returns a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowScheme<T = WorkflowScheme>(parameters: GetWorkflowScheme | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowScheme<T = WorkflowScheme>(parameters: GetWorkflowScheme | string, callback?: never): Promise<T>;
    /**
     * Updates a company-manged project workflow scheme, including the name, default workflow, issue type to project
     * mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft
     * workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowScheme<T = WorkflowScheme>(parameters: UpdateWorkflowScheme, callback: Callback<T>): Promise<void>;
    /**
     * Updates a company-manged project workflow scheme, including the name, default workflow, issue type to project
     * mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft
     * workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowScheme<T = WorkflowScheme>(parameters: UpdateWorkflowScheme, callback?: never): Promise<T>;
    /**
     * Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at
     * least one project).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowScheme<T = void>(parameters: DeleteWorkflowScheme | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at
     * least one project).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowScheme<T = void>(parameters: DeleteWorkflowScheme | string, callback?: never): Promise<T>;
    /**
     * Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue
     * types that have not been mapped to any other workflow. The default workflow has _All Unassigned Issue Types_ listed
     * in its issue types for the workflow scheme in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultWorkflow<T = DefaultWorkflow>(parameters: GetDefaultWorkflow | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue
     * types that have not been mapped to any other workflow. The default workflow has _All Unassigned Issue Types_ listed
     * in its issue types for the workflow scheme in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getDefaultWorkflow<T = DefaultWorkflow>(parameters: GetDefaultWorkflow | string, callback?: never): Promise<T>;
    /**
     * Sets the default workflow for a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The
     * draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultWorkflow<T = WorkflowScheme>(parameters: UpdateDefaultWorkflow, callback: Callback<T>): Promise<void>;
    /**
     * Sets the default workflow for a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The
     * draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateDefaultWorkflow<T = WorkflowScheme>(parameters: UpdateDefaultWorkflow, callback?: never): Promise<T>;
    /**
     * Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow
     * (the _jira_ workflow).
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme
     * can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDefaultWorkflow<T = WorkflowScheme>(parameters: DeleteDefaultWorkflow | string, callback: Callback<T>): Promise<void>;
    /**
     * Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow
     * (the _jira_ workflow).
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme
     * can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteDefaultWorkflow<T = WorkflowScheme>(parameters: DeleteDefaultWorkflow | string, callback?: never): Promise<T>;
    /**
     * Returns the issue type-workflow mapping for an issue type in a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeIssueType<T = IssueTypeWorkflowMapping>(parameters: GetWorkflowSchemeIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Returns the issue type-workflow mapping for an issue type in a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowSchemeIssueType<T = IssueTypeWorkflowMapping>(parameters: GetWorkflowSchemeIssueType, callback?: never): Promise<T>;
    /**
     * Sets the workflow for an issue type in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow
     * mapping. The draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setWorkflowSchemeIssueType<T = WorkflowScheme>(parameters: SetWorkflowSchemeIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Sets the workflow for an issue type in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow
     * mapping. The draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    setWorkflowSchemeIssueType<T = WorkflowScheme>(parameters: SetWorkflowSchemeIssueType, callback?: never): Promise<T>;
    /**
     * Deletes the issue type-workflow mapping for an issue type in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft
     * workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeIssueType<T = WorkflowScheme>(parameters: DeleteWorkflowSchemeIssueType, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the issue type-workflow mapping for an issue type in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft
     * workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowSchemeIssueType<T = WorkflowScheme>(parameters: DeleteWorkflowSchemeIssueType, callback?: never): Promise<T>;
    /**
     * Returns the workflow-issue type mappings for a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflow<T = IssueTypesWorkflowMapping>(parameters: GetWorkflow | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns the workflow-issue type mappings for a workflow scheme.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflow<T = IssueTypesWorkflowMapping>(parameters: GetWorkflow | string, callback?: never): Promise<T>;
    /**
     * Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for
     * the workflow scheme. Unmapped issues types are mapped to the default workflow.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types
     * mappings. The draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowMapping<T = WorkflowScheme>(parameters: UpdateWorkflowMapping, callback: Callback<T>): Promise<void>;
    /**
     * Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for
     * the workflow scheme. Unmapped issues types are mapped to the default workflow.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types
     * mappings. The draft workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowMapping<T = WorkflowScheme>(parameters: UpdateWorkflowMapping, callback?: never): Promise<T>;
    /**
     * Deletes the workflow-issue type mapping for a workflow in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft
     * workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowMapping<T = unknown>(parameters: DeleteWorkflowMapping | string, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the workflow-issue type mapping for a workflow in a workflow scheme.
     *
     * Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to
     * `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft
     * workflow scheme can be published in Jira.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowMapping<T = unknown>(parameters: DeleteWorkflowMapping | string, callback?: never): Promise<T>;
    /** Returns a page of projects using a given workflow scheme. */
    getProjectUsagesForWorkflowScheme<T = WorkflowSchemeProjectUsage>(parameters: GetProjectUsagesForWorkflowScheme, callback: Callback<T>): Promise<void>;
    /** Returns a page of projects using a given workflow scheme. */
    getProjectUsagesForWorkflowScheme<T = WorkflowSchemeProjectUsage>(parameters: GetProjectUsagesForWorkflowScheme, callback?: never): Promise<T>;
}

declare class WorkflowStatusCategories {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of all status categories.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getStatusCategories<T = StatusCategory$2[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all status categories.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getStatusCategories<T = StatusCategory$2[]>(callback?: never): Promise<T>;
    /**
     * Returns a status category. Status categories provided a mechanism for categorizing
     * [statuses](#api-rest-api-3-status-idOrName-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getStatusCategory<T = StatusCategory$2>(parameters: GetStatusCategory | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a status category. Status categories provided a mechanism for categorizing
     * [statuses](#api-rest-api-3-status-idOrName-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * Permission to access Jira.
     */
    getStatusCategory<T = StatusCategory$2>(parameters: GetStatusCategory | string, callback?: never): Promise<T>;
}

declare class WorkflowStatuses {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of all statuses associated with active workflows.
     *
     * This operation can be accessed anonymously.
     *
     * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required: _Browse
     * projects_ [project
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the
     * project.
     */
    getStatuses<T = StatusDetails$1[]>(callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of all statuses associated with active workflows.
     *
     * This operation can be accessed anonymously.
     *
     * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required: _Browse
     * projects_ [project
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the
     * project.
     */
    getStatuses<T = StatusDetails$1[]>(callback?: never): Promise<T>;
    /**
     * Returns a status. The status must be associated with an active workflow to be returned.
     *
     * If a name is used on more than one status, only the status found first is returned. Therefore, identifying the
     * status by its ID may be preferable.
     *
     * This operation can be accessed anonymously.
     *
     * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required: _Browse
     * projects_ [project
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the
     * project.
     */
    getStatus<T = StatusDetails$1>(parameters: GetStatus | string, callback: Callback<T>): Promise<void>;
    /**
     * Returns a status. The status must be associated with an active workflow to be returned.
     *
     * If a name is used on more than one status, only the status found first is returned. Therefore, identifying the
     * status by its ID may be preferable.
     *
     * This operation can be accessed anonymously.
     *
     * [Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required: _Browse
     * projects_ [project
     * permission](https://support.atlassian.com/jira-cloud-administration/docs/manage-project-permissions/) for the
     * project.
     */
    getStatus<T = StatusDetails$1>(parameters: GetStatus | string, callback?: never): Promise<T>;
}

declare class WorkflowTransitionProperties {
    private client;
    constructor(client: Client);
    /**
     * Returns the properties on a workflow transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowTransitionProperties<T = WorkflowTransitionProperty>(parameters: GetWorkflowTransitionProperties, callback: Callback<T>): Promise<void>;
    /**
     * Returns the properties on a workflow transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    getWorkflowTransitionProperties<T = WorkflowTransitionProperty>(parameters: GetWorkflowTransitionProperties, callback?: never): Promise<T>;
    /**
     * Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition.
     * For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowTransitionProperty<T = WorkflowTransitionProperty>(parameters: CreateWorkflowTransitionProperty, callback: Callback<T>): Promise<void>;
    /**
     * Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition.
     * For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    createWorkflowTransitionProperty<T = WorkflowTransitionProperty>(parameters: CreateWorkflowTransitionProperty, callback?: never): Promise<T>;
    /**
     * Updates a workflow transition by changing the property value. Trying to update a property that does not exist
     * results in a new property being added to the transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowTransitionProperty<T = WorkflowTransitionProperty>(parameters: UpdateWorkflowTransitionProperty, callback: Callback<T>): Promise<void>;
    /**
     * Updates a workflow transition by changing the property value. Trying to update a property that does not exist
     * results in a new property being added to the transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    updateWorkflowTransitionProperty<T = WorkflowTransitionProperty>(parameters: UpdateWorkflowTransitionProperty, callback?: never): Promise<T>;
    /**
     * Deletes a property from a workflow transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowTransitionProperty<T = unknown>(parameters: DeleteWorkflowTransitionProperty, callback: Callback<T>): Promise<void>;
    /**
     * Deletes a property from a workflow transition. Transition properties are used to change the behavior of a
     * transition. For more information, see [Transition
     * properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and
     * [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:**
     * _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
     */
    deleteWorkflowTransitionProperty<T = unknown>(parameters: DeleteWorkflowTransitionProperty, callback?: never): Promise<T>;
}

declare class WorkflowTransitionRules {
    private client;
    constructor(client: Client);
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * workflows with transition rules. The workflows can be filtered to return only those containing workflow transition
     * rules:
     *
     * - Of one or more transition rule types, such as [workflow post
     *   functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).
     * - Matching one or more transition rule keys.
     *
     * Only workflows containing transition rules created by the calling
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app are returned.
     *
     * Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be
     * ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
     */
    getWorkflowTransitionRuleConfigurations<T = PageWorkflowTransitionRules>(parameters: GetWorkflowTransitionRuleConfigurations, callback: Callback<T>): Promise<void>;
    /**
     * Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of
     * workflows with transition rules. The workflows can be filtered to return only those containing workflow transition
     * rules:
     *
     * - Of one or more transition rule types, such as [workflow post
     *   functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).
     * - Matching one or more transition rule keys.
     *
     * Only workflows containing transition rules created by the calling
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app are returned.
     *
     * Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be
     * ignored.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
     */
    getWorkflowTransitionRuleConfigurations<T = PageWorkflowTransitionRules>(parameters: GetWorkflowTransitionRuleConfigurations, callback?: never): Promise<T>;
    /**
     * Updates configuration of workflow transition rules. The following rule types are supported:
     *
     * - [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
     * - [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
     * - [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
     *
     * Only rules created by the calling
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app can be updated.
     *
     * To assist with app migration, this operation can be used to:
     *
     * - Disable a rule.
     * - Add a `tag`. Use this to filter rules in the [Get workflow transition rule
     *   configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).
     *
     * Rules are enabled if the `disabled` parameter is not provided.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
     */
    updateWorkflowTransitionRuleConfigurations<T = WorkflowTransitionRulesUpdateErrors>(parameters: UpdateWorkflowTransitionRuleConfigurations, callback: Callback<T>): Promise<void>;
    /**
     * Updates configuration of workflow transition rules. The following rule types are supported:
     *
     * - [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
     * - [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
     * - [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
     *
     * Only rules created by the calling
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app can be updated.
     *
     * To assist with app migration, this operation can be used to:
     *
     * - Disable a rule.
     * - Add a `tag`. Use this to filter rules in the [Get workflow transition rule
     *   configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).
     *
     * Rules are enabled if the `disabled` parameter is not provided.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or
     * [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
     */
    updateWorkflowTransitionRuleConfigurations<T = WorkflowTransitionRulesUpdateErrors>(parameters: UpdateWorkflowTransitionRuleConfigurations, callback?: never): Promise<T>;
    /**
     * Deletes workflow transition rules from one or more workflows. These rule types are supported:
     *
     * - [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
     * - [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
     * - [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
     *
     * Only rules created by the calling Connect app can be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can use this operation.
     */
    deleteWorkflowTransitionRuleConfigurations<T = WorkflowTransitionRulesUpdateErrors>(parameters: DeleteWorkflowTransitionRuleConfigurations | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Deletes workflow transition rules from one or more workflows. These rule types are supported:
     *
     * - [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
     * - [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
     * - [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)
     *
     * Only rules created by the calling Connect app can be deleted.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#permissions) required:** Only
     * Connect apps can use this operation.
     */
    deleteWorkflowTransitionRuleConfigurations<T = WorkflowTransitionRulesUpdateErrors>(parameters?: DeleteWorkflowTransitionRuleConfigurations, callback?: never): Promise<T>;
}

declare class Version3Client extends BaseClient {
    announcementBanner: AnnouncementBanner;
    appDataPolicies: AppDataPolicies;
    applicationRoles: ApplicationRoles;
    appMigration: AppMigration;
    appProperties: AppProperties;
    auditRecords: AuditRecords;
    avatars: Avatars;
    classificationLevels: ClassificationLevels;
    dashboards: Dashboards;
    dynamicModules: DynamicModules;
    filters: Filters;
    filterSharing: FilterSharing;
    groupAndUserPicker: GroupAndUserPicker;
    groups: Groups;
    instanceInformation: InstanceInformation;
    issueAttachments: IssueAttachments;
    issueBulkOperations: IssueBulkOperations;
    issueCommentProperties: IssueCommentProperties;
    issueComments: IssueComments;
    issueCustomFieldAssociations: IssueCustomFieldAssociations;
    issueCustomFieldConfigurationApps: IssueCustomFieldConfigurationApps;
    issueCustomFieldContexts: IssueCustomFieldContexts;
    issueCustomFieldOptions: IssueCustomFieldOptions;
    issueCustomFieldOptionsApps: IssueCustomFieldOptionsApps;
    issueCustomFieldValuesApps: IssueCustomFieldValuesApps;
    issueFieldConfigurations: IssueFieldConfigurations;
    issueFields: IssueFields;
    issueLinks: IssueLinks;
    issueLinkTypes: IssueLinkTypes;
    issueNavigatorSettings: IssueNavigatorSettings;
    issueNotificationSchemes: IssueNotificationSchemes;
    issuePriorities: IssuePriorities;
    issueProperties: IssueProperties;
    issueRemoteLinks: IssueRemoteLinks;
    issueResolutions: IssueResolutions;
    issues: Issues;
    issueSearch: IssueSearch;
    issueSecurityLevel: IssueSecurityLevel;
    issueSecuritySchemes: IssueSecuritySchemes;
    issueTypeProperties: IssueTypeProperties;
    issueTypes: IssueTypes;
    issueTypeSchemes: IssueTypeSchemes;
    issueTypeScreenSchemes: IssueTypeScreenSchemes;
    issueVotes: IssueVotes;
    issueWatchers: IssueWatchers;
    issueWorklogProperties: IssueWorklogProperties;
    issueWorklogs: IssueWorklogs;
    jiraExpressions: JiraExpressions;
    jiraSettings: JiraSettings;
    jql: JQL;
    jqlFunctionsApps: JqlFunctionsApps;
    labels: Labels;
    licenseMetrics: LicenseMetrics;
    myself: Myself;
    permissions: Permissions;
    permissionSchemes: PermissionSchemes;
    plans: Plans;
    prioritySchemes: PrioritySchemes;
    projectAvatars: ProjectAvatars;
    projectCategories: ProjectCategories;
    projectClassificationLevels: ProjectClassificationLevels;
    projectComponents: ProjectComponents;
    projectEmail: ProjectEmail;
    projectFeatures: ProjectFeatures;
    projectKeyAndNameValidation: ProjectKeyAndNameValidation;
    projectPermissionSchemes: ProjectPermissionSchemes;
    projectProperties: ProjectProperties;
    projectRoleActors: ProjectRoleActors;
    projectRoles: ProjectRoles;
    projects: Projects$1;
    projectTemplates: ProjectTemplates;
    projectTypes: ProjectTypes;
    projectVersions: ProjectVersions;
    screens: Screens;
    screenSchemes: ScreenSchemes;
    screenTabFields: ScreenTabFields;
    screenTabs: ScreenTabs;
    serverInfo: ServerInfo;
    serviceRegistry: ServiceRegistry;
    status: Status$1;
    tasks: Tasks;
    teamsInPlan: TeamsInPlan;
    timeTracking: TimeTracking;
    uiModificationsApps: UIModificationsApps;
    userNavProperties: UserNavProperties;
    userProperties: UserProperties;
    users: Users;
    userSearch: UserSearch;
    webhooks: Webhooks;
    workflows: Workflows;
    workflowSchemeDrafts: WorkflowSchemeDrafts;
    workflowSchemeProjectAssociations: WorkflowSchemeProjectAssociations;
    workflowSchemes: WorkflowSchemes;
    workflowStatusCategories: WorkflowStatusCategories;
    workflowStatuses: WorkflowStatuses;
    workflowTransitionProperties: WorkflowTransitionProperties;
    workflowTransitionRules: WorkflowTransitionRules;
}

type index$5_AnnouncementBanner = AnnouncementBanner;
declare const index$5_AnnouncementBanner: typeof AnnouncementBanner;
type index$5_AppDataPolicies = AppDataPolicies;
declare const index$5_AppDataPolicies: typeof AppDataPolicies;
type index$5_AppMigration = AppMigration;
declare const index$5_AppMigration: typeof AppMigration;
type index$5_AppProperties = AppProperties;
declare const index$5_AppProperties: typeof AppProperties;
type index$5_ApplicationRoles = ApplicationRoles;
declare const index$5_ApplicationRoles: typeof ApplicationRoles;
type index$5_AuditRecords = AuditRecords;
declare const index$5_AuditRecords: typeof AuditRecords;
type index$5_Avatars = Avatars;
declare const index$5_Avatars: typeof Avatars;
type index$5_ClassificationLevels = ClassificationLevels;
declare const index$5_ClassificationLevels: typeof ClassificationLevels;
type index$5_Dashboards = Dashboards;
declare const index$5_Dashboards: typeof Dashboards;
type index$5_DynamicModules = DynamicModules;
declare const index$5_DynamicModules: typeof DynamicModules;
type index$5_FilterSharing = FilterSharing;
declare const index$5_FilterSharing: typeof FilterSharing;
type index$5_Filters = Filters;
declare const index$5_Filters: typeof Filters;
type index$5_GroupAndUserPicker = GroupAndUserPicker;
declare const index$5_GroupAndUserPicker: typeof GroupAndUserPicker;
type index$5_Groups = Groups;
declare const index$5_Groups: typeof Groups;
type index$5_InstanceInformation = InstanceInformation;
declare const index$5_InstanceInformation: typeof InstanceInformation;
type index$5_IssueAttachments = IssueAttachments;
declare const index$5_IssueAttachments: typeof IssueAttachments;
type index$5_IssueBulkOperations = IssueBulkOperations;
declare const index$5_IssueBulkOperations: typeof IssueBulkOperations;
type index$5_IssueCommentProperties = IssueCommentProperties;
declare const index$5_IssueCommentProperties: typeof IssueCommentProperties;
type index$5_IssueComments = IssueComments;
declare const index$5_IssueComments: typeof IssueComments;
type index$5_IssueCustomFieldAssociations = IssueCustomFieldAssociations;
declare const index$5_IssueCustomFieldAssociations: typeof IssueCustomFieldAssociations;
type index$5_IssueCustomFieldConfigurationApps = IssueCustomFieldConfigurationApps;
declare const index$5_IssueCustomFieldConfigurationApps: typeof IssueCustomFieldConfigurationApps;
type index$5_IssueCustomFieldContexts = IssueCustomFieldContexts;
declare const index$5_IssueCustomFieldContexts: typeof IssueCustomFieldContexts;
type index$5_IssueCustomFieldOptions = IssueCustomFieldOptions;
declare const index$5_IssueCustomFieldOptions: typeof IssueCustomFieldOptions;
type index$5_IssueCustomFieldOptionsApps = IssueCustomFieldOptionsApps;
declare const index$5_IssueCustomFieldOptionsApps: typeof IssueCustomFieldOptionsApps;
type index$5_IssueCustomFieldValuesApps = IssueCustomFieldValuesApps;
declare const index$5_IssueCustomFieldValuesApps: typeof IssueCustomFieldValuesApps;
type index$5_IssueFieldConfigurations = IssueFieldConfigurations;
declare const index$5_IssueFieldConfigurations: typeof IssueFieldConfigurations;
type index$5_IssueFields = IssueFields;
declare const index$5_IssueFields: typeof IssueFields;
type index$5_IssueLinkTypes = IssueLinkTypes;
declare const index$5_IssueLinkTypes: typeof IssueLinkTypes;
type index$5_IssueLinks = IssueLinks;
declare const index$5_IssueLinks: typeof IssueLinks;
type index$5_IssueNavigatorSettings = IssueNavigatorSettings;
declare const index$5_IssueNavigatorSettings: typeof IssueNavigatorSettings;
type index$5_IssueNotificationSchemes = IssueNotificationSchemes;
declare const index$5_IssueNotificationSchemes: typeof IssueNotificationSchemes;
type index$5_IssuePriorities = IssuePriorities;
declare const index$5_IssuePriorities: typeof IssuePriorities;
type index$5_IssueProperties = IssueProperties;
declare const index$5_IssueProperties: typeof IssueProperties;
type index$5_IssueRemoteLinks = IssueRemoteLinks;
declare const index$5_IssueRemoteLinks: typeof IssueRemoteLinks;
type index$5_IssueResolutions = IssueResolutions;
declare const index$5_IssueResolutions: typeof IssueResolutions;
type index$5_IssueSearch = IssueSearch;
declare const index$5_IssueSearch: typeof IssueSearch;
type index$5_IssueSecurityLevel = IssueSecurityLevel;
declare const index$5_IssueSecurityLevel: typeof IssueSecurityLevel;
type index$5_IssueSecuritySchemes = IssueSecuritySchemes;
declare const index$5_IssueSecuritySchemes: typeof IssueSecuritySchemes;
type index$5_IssueTypeProperties = IssueTypeProperties;
declare const index$5_IssueTypeProperties: typeof IssueTypeProperties;
type index$5_IssueTypeSchemes = IssueTypeSchemes;
declare const index$5_IssueTypeSchemes: typeof IssueTypeSchemes;
type index$5_IssueTypeScreenSchemes = IssueTypeScreenSchemes;
declare const index$5_IssueTypeScreenSchemes: typeof IssueTypeScreenSchemes;
type index$5_IssueTypes = IssueTypes;
declare const index$5_IssueTypes: typeof IssueTypes;
type index$5_IssueVotes = IssueVotes;
declare const index$5_IssueVotes: typeof IssueVotes;
type index$5_IssueWatchers = IssueWatchers;
declare const index$5_IssueWatchers: typeof IssueWatchers;
type index$5_IssueWorklogProperties = IssueWorklogProperties;
declare const index$5_IssueWorklogProperties: typeof IssueWorklogProperties;
type index$5_IssueWorklogs = IssueWorklogs;
declare const index$5_IssueWorklogs: typeof IssueWorklogs;
type index$5_Issues = Issues;
declare const index$5_Issues: typeof Issues;
type index$5_JQL = JQL;
declare const index$5_JQL: typeof JQL;
type index$5_JiraExpressions = JiraExpressions;
declare const index$5_JiraExpressions: typeof JiraExpressions;
type index$5_JiraSettings = JiraSettings;
declare const index$5_JiraSettings: typeof JiraSettings;
type index$5_JqlFunctionsApps = JqlFunctionsApps;
declare const index$5_JqlFunctionsApps: typeof JqlFunctionsApps;
type index$5_Labels = Labels;
declare const index$5_Labels: typeof Labels;
type index$5_LicenseMetrics = LicenseMetrics;
declare const index$5_LicenseMetrics: typeof LicenseMetrics;
type index$5_Myself = Myself;
declare const index$5_Myself: typeof Myself;
type index$5_PermissionSchemes = PermissionSchemes;
declare const index$5_PermissionSchemes: typeof PermissionSchemes;
type index$5_Permissions = Permissions;
declare const index$5_Permissions: typeof Permissions;
type index$5_Plans = Plans;
declare const index$5_Plans: typeof Plans;
type index$5_PrioritySchemes = PrioritySchemes;
declare const index$5_PrioritySchemes: typeof PrioritySchemes;
type index$5_ProjectAvatars = ProjectAvatars;
declare const index$5_ProjectAvatars: typeof ProjectAvatars;
type index$5_ProjectCategories = ProjectCategories;
declare const index$5_ProjectCategories: typeof ProjectCategories;
type index$5_ProjectClassificationLevels = ProjectClassificationLevels;
declare const index$5_ProjectClassificationLevels: typeof ProjectClassificationLevels;
type index$5_ProjectComponents = ProjectComponents;
declare const index$5_ProjectComponents: typeof ProjectComponents;
type index$5_ProjectEmail = ProjectEmail;
declare const index$5_ProjectEmail: typeof ProjectEmail;
type index$5_ProjectFeatures = ProjectFeatures;
declare const index$5_ProjectFeatures: typeof ProjectFeatures;
type index$5_ProjectKeyAndNameValidation = ProjectKeyAndNameValidation;
declare const index$5_ProjectKeyAndNameValidation: typeof ProjectKeyAndNameValidation;
type index$5_ProjectPermissionSchemes = ProjectPermissionSchemes;
declare const index$5_ProjectPermissionSchemes: typeof ProjectPermissionSchemes;
type index$5_ProjectProperties = ProjectProperties;
declare const index$5_ProjectProperties: typeof ProjectProperties;
type index$5_ProjectRoleActors = ProjectRoleActors;
declare const index$5_ProjectRoleActors: typeof ProjectRoleActors;
type index$5_ProjectRoles = ProjectRoles;
declare const index$5_ProjectRoles: typeof ProjectRoles;
type index$5_ProjectTemplates = ProjectTemplates;
declare const index$5_ProjectTemplates: typeof ProjectTemplates;
type index$5_ProjectTypes = ProjectTypes;
declare const index$5_ProjectTypes: typeof ProjectTypes;
type index$5_ProjectVersions = ProjectVersions;
declare const index$5_ProjectVersions: typeof ProjectVersions;
type index$5_ScreenSchemes = ScreenSchemes;
declare const index$5_ScreenSchemes: typeof ScreenSchemes;
type index$5_ScreenTabFields = ScreenTabFields;
declare const index$5_ScreenTabFields: typeof ScreenTabFields;
type index$5_ScreenTabs = ScreenTabs;
declare const index$5_ScreenTabs: typeof ScreenTabs;
type index$5_Screens = Screens;
declare const index$5_Screens: typeof Screens;
type index$5_ServerInfo = ServerInfo;
declare const index$5_ServerInfo: typeof ServerInfo;
type index$5_ServiceRegistry = ServiceRegistry;
declare const index$5_ServiceRegistry: typeof ServiceRegistry;
type index$5_Tasks = Tasks;
declare const index$5_Tasks: typeof Tasks;
type index$5_TeamsInPlan = TeamsInPlan;
declare const index$5_TeamsInPlan: typeof TeamsInPlan;
type index$5_TimeTracking = TimeTracking;
declare const index$5_TimeTracking: typeof TimeTracking;
type index$5_UIModificationsApps = UIModificationsApps;
declare const index$5_UIModificationsApps: typeof UIModificationsApps;
type index$5_UserNavProperties = UserNavProperties;
declare const index$5_UserNavProperties: typeof UserNavProperties;
type index$5_UserProperties = UserProperties;
declare const index$5_UserProperties: typeof UserProperties;
type index$5_UserSearch = UserSearch;
declare const index$5_UserSearch: typeof UserSearch;
type index$5_Users = Users;
declare const index$5_Users: typeof Users;
type index$5_Version3Client = Version3Client;
declare const index$5_Version3Client: typeof Version3Client;
type index$5_Webhooks = Webhooks;
declare const index$5_Webhooks: typeof Webhooks;
type index$5_WorkflowSchemeDrafts = WorkflowSchemeDrafts;
declare const index$5_WorkflowSchemeDrafts: typeof WorkflowSchemeDrafts;
type index$5_WorkflowSchemeProjectAssociations = WorkflowSchemeProjectAssociations;
declare const index$5_WorkflowSchemeProjectAssociations: typeof WorkflowSchemeProjectAssociations;
type index$5_WorkflowSchemes = WorkflowSchemes;
declare const index$5_WorkflowSchemes: typeof WorkflowSchemes;
type index$5_WorkflowStatusCategories = WorkflowStatusCategories;
declare const index$5_WorkflowStatusCategories: typeof WorkflowStatusCategories;
type index$5_WorkflowStatuses = WorkflowStatuses;
declare const index$5_WorkflowStatuses: typeof WorkflowStatuses;
type index$5_WorkflowTransitionProperties = WorkflowTransitionProperties;
declare const index$5_WorkflowTransitionProperties: typeof WorkflowTransitionProperties;
type index$5_WorkflowTransitionRules = WorkflowTransitionRules;
declare const index$5_WorkflowTransitionRules: typeof WorkflowTransitionRules;
type index$5_Workflows = Workflows;
declare const index$5_Workflows: typeof Workflows;
declare namespace index$5 {
  export { index$5_AnnouncementBanner as AnnouncementBanner, index$5_AppDataPolicies as AppDataPolicies, index$5_AppMigration as AppMigration, index$5_AppProperties as AppProperties, index$5_ApplicationRoles as ApplicationRoles, index$5_AuditRecords as AuditRecords, index$5_Avatars as Avatars, index$5_ClassificationLevels as ClassificationLevels, index$5_Dashboards as Dashboards, index$5_DynamicModules as DynamicModules, index$5_FilterSharing as FilterSharing, index$5_Filters as Filters, index$5_GroupAndUserPicker as GroupAndUserPicker, index$5_Groups as Groups, index$5_InstanceInformation as InstanceInformation, index$5_IssueAttachments as IssueAttachments, index$5_IssueBulkOperations as IssueBulkOperations, index$5_IssueCommentProperties as IssueCommentProperties, index$5_IssueComments as IssueComments, index$5_IssueCustomFieldAssociations as IssueCustomFieldAssociations, index$5_IssueCustomFieldConfigurationApps as IssueCustomFieldConfigurationApps, index$5_IssueCustomFieldContexts as IssueCustomFieldContexts, index$5_IssueCustomFieldOptions as IssueCustomFieldOptions, index$5_IssueCustomFieldOptionsApps as IssueCustomFieldOptionsApps, index$5_IssueCustomFieldValuesApps as IssueCustomFieldValuesApps, index$5_IssueFieldConfigurations as IssueFieldConfigurations, index$5_IssueFields as IssueFields, index$5_IssueLinkTypes as IssueLinkTypes, index$5_IssueLinks as IssueLinks, index$5_IssueNavigatorSettings as IssueNavigatorSettings, index$5_IssueNotificationSchemes as IssueNotificationSchemes, index$5_IssuePriorities as IssuePriorities, index$5_IssueProperties as IssueProperties, index$5_IssueRemoteLinks as IssueRemoteLinks, index$5_IssueResolutions as IssueResolutions, index$5_IssueSearch as IssueSearch, index$5_IssueSecurityLevel as IssueSecurityLevel, index$5_IssueSecuritySchemes as IssueSecuritySchemes, index$5_IssueTypeProperties as IssueTypeProperties, index$5_IssueTypeSchemes as IssueTypeSchemes, index$5_IssueTypeScreenSchemes as IssueTypeScreenSchemes, index$5_IssueTypes as IssueTypes, index$5_IssueVotes as IssueVotes, index$5_IssueWatchers as IssueWatchers, index$5_IssueWorklogProperties as IssueWorklogProperties, index$5_IssueWorklogs as IssueWorklogs, index$5_Issues as Issues, index$5_JQL as JQL, index$5_JiraExpressions as JiraExpressions, index$5_JiraSettings as JiraSettings, index$5_JqlFunctionsApps as JqlFunctionsApps, index$5_Labels as Labels, index$5_LicenseMetrics as LicenseMetrics, index$5_Myself as Myself, index$5_PermissionSchemes as PermissionSchemes, index$5_Permissions as Permissions, index$5_Plans as Plans, index$5_PrioritySchemes as PrioritySchemes, index$5_ProjectAvatars as ProjectAvatars, index$5_ProjectCategories as ProjectCategories, index$5_ProjectClassificationLevels as ProjectClassificationLevels, index$5_ProjectComponents as ProjectComponents, index$5_ProjectEmail as ProjectEmail, index$5_ProjectFeatures as ProjectFeatures, index$5_ProjectKeyAndNameValidation as ProjectKeyAndNameValidation, index$5_ProjectPermissionSchemes as ProjectPermissionSchemes, index$5_ProjectProperties as ProjectProperties, index$5_ProjectRoleActors as ProjectRoleActors, index$5_ProjectRoles as ProjectRoles, index$5_ProjectTemplates as ProjectTemplates, index$5_ProjectTypes as ProjectTypes, index$5_ProjectVersions as ProjectVersions, Projects$1 as Projects, index$5_ScreenSchemes as ScreenSchemes, index$5_ScreenTabFields as ScreenTabFields, index$5_ScreenTabs as ScreenTabs, index$5_Screens as Screens, index$5_ServerInfo as ServerInfo, index$5_ServiceRegistry as ServiceRegistry, Status$1 as Status, index$5_Tasks as Tasks, index$5_TeamsInPlan as TeamsInPlan, index$5_TimeTracking as TimeTracking, index$5_UIModificationsApps as UIModificationsApps, index$5_UserNavProperties as UserNavProperties, index$5_UserProperties as UserProperties, index$5_UserSearch as UserSearch, index$5_Users as Users, index$5_Version3Client as Version3Client, index$7 as Version3Models, index$6 as Version3Parameters, index$5_Webhooks as Webhooks, index$5_WorkflowSchemeDrafts as WorkflowSchemeDrafts, index$5_WorkflowSchemeProjectAssociations as WorkflowSchemeProjectAssociations, index$5_WorkflowSchemes as WorkflowSchemes, index$5_WorkflowStatusCategories as WorkflowStatusCategories, index$5_WorkflowStatuses as WorkflowStatuses, index$5_WorkflowTransitionProperties as WorkflowTransitionProperties, index$5_WorkflowTransitionRules as WorkflowTransitionRules, index$5_Workflows as Workflows };
}

interface AdditionalComment {
    /** Content of the comment. */
    body?: string;
}

interface UserLink {
    self?: string;
    /** REST API URL for the customer. */
    jiraRest?: string;
}

interface User$1 {
    /**
     * The accountId of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** Customer's email address. Depending on the customer’s privacy settings, this may be returned as null. */
    emailAddress?: string;
    /**
     * Customer's name for display in a UI. Depending on the customer’s privacy settings, this may return an alternative
     * value.
     */
    displayName?: string;
    /** Indicates if the customer is active (true) or inactive (false) */
    active?: boolean;
    /** Customer time zone. Depending on the customer’s privacy settings, this may be returned as null. */
    timeZone?: string;
    Links?: UserLink;
}

interface Approver {
    approver?: User$1;
    /** Decision made by the approver. */
    approverDecision?: string;
}

interface Date$1 {
    /** Date in ISO8601 format. */
    iso8601?: string;
    /**
     * Date in the format used in the Jira REST APIs, which is ISO8601 format but extended with milliseconds. For example,
     * 2016-09-28T23:08:32.097+1000.
     */
    jira?: string;
    /** Date in a user-friendly text format. */
    friendly?: string;
    /**
     * Date as the number of milliseconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), 1 January
     * 1970.
     */
    epochMillis?: number;
}

interface SelfLink {
    self?: string;
}

interface Approval {
    /** ID of the approval. */
    id?: string;
    /** Description of the approval being sought or provided. */
    name?: string;
    /** Outcome of the approval, based on the approvals provided by all approvers. */
    finalDecision?: string;
    /**
     * Indicates whether the user making the request is one of the approvers and can respond to the approval (true) or not
     * (false).
     */
    canAnswerApproval?: boolean;
    /** Detailed list of the users who must provide a response to the approval. */
    approvers?: Approver[];
    createdDate?: Date$1;
    completedDate?: Date$1;
    Links?: SelfLink;
}

interface ApprovalDecisionRequest {
    /** Response to the approval request. */
    decision?: string;
}

interface Content {
    /** Url containing the body of the article (without title), suitable for rendering in an iframe */
    iframeSrc?: string;
}

interface Source {
    /** Type of the knowledge base source */
    type?: string;
}

interface Article {
    /** Title of the article. */
    title?: string;
    /** Excerpt of the article which matches the given query string. */
    excerpt?: string;
    source?: Source;
    content?: Content;
}

interface AttachmentLink {
    self?: string;
    /** REST API URL for the attachment */
    jiraRest?: string;
    /** URL for the attachment. */
    content?: string;
    /** URL for the attachment's thumbnail image. */
    thumbnail?: string;
}

interface Attachment$1 {
    /** Filename of the item attached. */
    filename?: string;
    author?: User$1;
    created?: Date$1;
    /** Size of the attachment in bytes. */
    size?: number;
    /** MIME type of the attachment. */
    mimeType?: string;
    Links?: AttachmentLink;
}

interface AttachmentCreate {
    /** List of IDs for the temporary attachments to be added to the customer request. */
    temporaryAttachmentIds?: string[];
    additionalComment?: AdditionalComment;
    /** Indicates whether the attachments are to be public (true) or private/internal (false). */
    public?: boolean;
}

interface PagedLink {
    /** REST API URL for the current page. */
    self?: string;
    /** Base URL for the REST API calls. */
    base?: string;
    context?: string;
    /** REST API URL for the next page, if there is one. */
    next?: string;
    /** REST API URL for the previous page, if there is one. */
    prev?: string;
}

interface PagedAttachment {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: Attachment$1[];
    Expands?: string[];
    Links?: PagedLink;
}

interface RenderedValue {
    html?: string;
}

interface Comment {
    /** ID of the comment. */
    id?: string;
    /** Content of the comment. */
    body?: string;
    renderedBody?: RenderedValue;
    author?: User$1;
    created?: Date$1;
    attachments?: PagedAttachment;
    /** List of items that can be expanded in the response by specifying the expand query parameter. */
    Expands?: string[];
    /** Indicates whether the comment is public (true) or private/internal (false). */
    public?: boolean;
    Links?: SelfLink;
}

interface AttachmentCreateResult {
    comment?: Comment;
    attachments?: PagedAttachment;
}

interface AvatarUrls$1 {
    /** The URL of the item's 16x16 pixel avatar. */
    '16x16'?: string;
    /** The URL of the item's 24x24 pixel avatar. */
    '24x24'?: string;
    /** The URL of the item's 32x32 pixel avatar. */
    '32x32'?: string;
    /** The URL of the item's 48x48 pixel avatar. */
    '48x48'?: string;
}

interface CommentCreate {
    /** Content of the comment. */
    body?: string;
    /** Indicates whether the comment is public (true) or private/internal (false). */
    public?: boolean;
}

interface CsatFeedbackFull {
    /** Indicates the type of feedback, supported values: `csat`. */
    type?: string;
    /** A numeric representation of the rating, this must be an integer value between 1 and 5. */
    rating?: number;
    comment?: AdditionalComment;
}

interface CustomerCreate {
    /** Customer's email address. */
    email?: string;
    /** Customer's name for display in the UI. */
    displayName?: string;
}

interface CustomerRequestAction {
    /** Indicates whether the user can undertake the action (true) or not (false). */
    allowed?: boolean;
}

interface CustomerRequestActions {
    addAttachment?: CustomerRequestAction;
    addComment?: CustomerRequestAction;
    addParticipant?: CustomerRequestAction;
    removeParticipant?: CustomerRequestAction;
}

interface CustomerRequestFieldValue {
    /** ID of the field. */
    fieldId?: string;
    /** Text label for the field. */
    label?: string;
    /** Value of the field. */
    value?: unknown;
    /** Value of the field rendered in the UI. */
    renderedValue?: unknown;
}

interface CustomerRequestLink {
    self?: string;
    /** REST API URL for the request. */
    jiraRest?: string;
    /** Web URL for the request. */
    web?: string;
    /** Jira agent view URL for the request. */
    agent?: string;
}

interface CustomerRequestStatus {
    /** Name of the status condition. */
    status?: string;
    /** Status category the status belongs to. */
    statusCategory?: string;
    statusDate?: Date$1;
}

interface PagedComment {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: Comment[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedCustomerRequestStatus {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: CustomerRequestStatus[];
    Expands?: string[];
    Links?: PagedLink;
}

interface Duration {
    /** Duration in milliseconds. */
    millis?: number;
    /** Duration in a user-friendly text format. */
    friendly?: string;
}

interface SlaInformationCompletedCycle {
    startTime?: Date$1;
    stopTime?: Date$1;
    breachTime?: Date$1;
    /** Indicates if the SLA (duration) was exceeded (true) or not (false). */
    breached?: boolean;
    goalDuration?: Duration;
    elapsedTime?: Duration;
    remainingTime?: Duration;
}

interface SlaInformationOngoingCycle {
    startTime?: Date$1;
    breachTime?: Date$1;
    /** Indicates whether the SLA has been breached (true) or not (false). */
    breached?: boolean;
    /** Indicates whether the SLA is paused (true) or not (false). */
    paused?: boolean;
    /** Indicates whether the SLA it timed during calendared working hours only (true) or not (false). */
    withinCalendarHours?: boolean;
    goalDuration?: Duration;
    elapsedTime?: Duration;
    remainingTime?: Duration;
}

interface SlaInformation {
    /** ID of the Service Level Agreement (SLA). */
    id?: string;
    /** Description of the SLA. */
    name?: string;
    /** List of completed cycles for the SLA. */
    completedCycles?: SlaInformationCompletedCycle[];
    ongoingCycle?: SlaInformationOngoingCycle;
    /** Format in which SLA is to be displayed in the UI */
    slaDisplayFormat?: string;
    Links?: SelfLink;
}

interface PagedSlaInformation {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: SlaInformation[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedUser {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: User$1[];
    Expands?: string[];
    Links?: PagedLink;
}

/** The schema of a field. */
interface JsonType$1 {
    /** The data type of the field. */
    type: string;
    /** When the data type is an array, the name of the field items within the array. */
    items?: string;
    /** If the field is a system field, the name of the field. */
    system?: string;
    /** If the field is a custom field, the URI of the field. */
    custom?: string;
    /** If the field is a custom field, the custom ID of the field. */
    customId?: number;
    /** If the field is a custom field, the configuration of the field. */
    configuration?: unknown;
}

interface RequestTypeFieldValue {
    /** Value of the field. */
    value?: string;
    /** Label for the field. */
    label?: string;
    /** List of child fields. */
    children?: RequestTypeFieldValue[];
}

interface RequestTypeField {
    /** ID of the field. */
    fieldId?: string;
    /** Name of the field. */
    name?: string;
    /** Description of the field. */
    description?: string;
    /** Indicates if the field is required (true) or not (false). */
    required?: boolean;
    /** List of default values for the field. */
    defaultValues?: RequestTypeFieldValue[];
    /** List of valid values for the field. */
    validValues?: RequestTypeFieldValue[];
    /** List of preset values for the field. */
    presetValues?: string[];
    jiraSchema?: JsonType$1;
    visible?: boolean;
}

interface CustomerRequestCreateMeta {
    /** List of the fields included in this request. */
    requestTypeFields?: RequestTypeField[];
    /** Flag indicating if a request can be raised on behalf of another user (true) or not. */
    canRaiseOnBehalfOf?: boolean;
    /** Flag indicating if participants can be added to a request (true) or not. */
    canAddRequestParticipants?: boolean;
}

interface RequestTypeIconLink {
    /** URLs for the request type icons. */
    iconUrls?: unknown;
}

interface RequestTypeIcon {
    /** ID of the request type icon. */
    id?: string;
    Links?: RequestTypeIconLink;
}

interface RequestType$1 {
    /** ID for the request type. */
    id?: string;
    /** Short name for the request type. */
    name?: string;
    /** Description of the request type. */
    description?: string;
    /** Help text for the request type. */
    helpText?: string;
    /** ID of the issue type the request type is based upon. */
    issueTypeId?: string;
    /** ID of the service desk the request type belongs to. */
    serviceDeskId?: string;
    /** ID of the customer portal associated with the service desk project. */
    portalId?: string;
    /** List of the request type groups the request type belongs to. */
    groupIds?: string[];
    icon?: RequestTypeIcon;
    fields?: CustomerRequestCreateMeta;
    /** The request type's practice */
    practice?: string;
    /** List of items that can be expanded in the response by specifying the expand query parameter. */
    Expands?: string[];
    Links?: SelfLink;
}

interface ServiceDesk$1 {
    /** ID of the service desk. */
    id?: string;
    /** ID of the peer project for the service desk. */
    projectId?: string;
    /** Name of the project and service desk. */
    projectName?: string;
    /** Key of the peer project of the service desk. */
    projectKey?: string;
    Links?: SelfLink;
}

interface CustomerRequest {
    /** ID of the request, as the peer issue ID. */
    issueId?: string;
    /** Key of the request, as the peer issue key. */
    issueKey?: string;
    /** ID of the request type for the request. */
    requestTypeId?: string;
    requestType?: RequestType$1;
    /** ID of the service desk the request belongs to. */
    serviceDeskId?: string;
    serviceDesk?: ServiceDesk$1;
    createdDate?: Date$1;
    reporter?: User$1;
    /** JSON map of Jira field IDs and their values representing the content of the request. */
    requestFieldValues?: CustomerRequestFieldValue[];
    currentStatus?: CustomerRequestStatus;
    status?: PagedCustomerRequestStatus;
    participants?: PagedUser;
    sla?: PagedSlaInformation;
    attachments?: PagedAttachment;
    comments?: PagedComment;
    actions?: CustomerRequestActions;
    /** List of items that can be expanded in the response by specifying the expand query parameter. */
    Expands?: string[];
    Links?: CustomerRequestLink;
}

interface CustomerTransition {
    /** ID of the transition. */
    id?: string;
    /** Name of the transition. */
    name?: string;
}

interface CustomerTransitionExecution {
    /** ID of the transition to be performed. */
    id?: string;
    additionalComment?: AdditionalComment;
}

/**
 * An entity property, for more information see [Entity
 * properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
 */
interface EntityProperty {
    /** The key of the property. Required on create and update. */
    key?: string;
    /** The value of the property. Required on create and update. */
    value?: unknown;
}

/** Details of an insight workspace ID. */
interface InsightWorkspace {
    /** The workspace ID used as the identifier to access the Insight REST API. */
    workspaceId?: string;
}

/** Details about an issue. */
type Issue$2 = Issue$4;

/** A status category. */
interface StatusCategory$1 {
    /** The URL of the status category. */
    self?: string;
    /** The ID of the status category. */
    id?: number;
    /** The key of the status category. */
    key?: string;
    /** The name of the color used to represent the status category. */
    colorName?: string;
    /** The name of the status category. */
    name?: string;
}

/** A status. */
interface StatusDetails {
    /** The URL of the status. */
    self?: string;
    /** The description of the status. */
    description?: string;
    /** The URL of the icon used to represent the status. */
    iconUrl?: string;
    /** The name of the status. */
    name?: string;
    /** The ID of the status. */
    id?: string;
    statusCategory?: StatusCategory$1;
}

/** Details of an issue transition. */
interface IssueTransition$1 {
    /** The ID of the issue transition. Required when specifying a transition to undertake. */
    id?: string;
    /** The name of the issue transition. */
    name?: string;
    to?: StatusDetails;
    /** Whether there is a screen associated with the issue transition. */
    hasScreen?: boolean;
    /** Whether the issue transition is global, that is, the transition is applied to issues regardless of their status. */
    isGlobal?: boolean;
    /** Whether this is the initial issue transition for the workflow. */
    isInitial?: boolean;
    /** Whether the transition is available to be performed. */
    isAvailable?: boolean;
    /** Whether the issue has to meet criteria before the issue transition is applied. */
    isConditional?: boolean;
    /**
     * Details of the fields associated with the issue transition screen. Use this information to populate `fields` and
     * `update` in a transition request.
     */
    fields?: unknown;
    /** Expand options that include additional transition details in the response. */
    expand?: string;
    looped?: boolean;
}

interface Organization$1 {
    /** A unique system generated ID for the organization. */
    id?: string;
    /** Name of the organization. */
    name?: string;
    Links?: SelfLink;
}

interface OrganizationCreate {
    /** Name of the organization. */
    name: string;
}

interface OrganizationServiceDeskUpdate {
    /** List of organizations, specified by 'ID' field values, to add to or remove from the service desk. */
    organizationId: number;
}

interface PagedApproval {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: Approval[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedArticle {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: Article[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedCustomerRequest {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: CustomerRequest[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedCustomerTransition {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: CustomerTransition[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedInsightWorkspace {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: InsightWorkspace[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedIssue {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: Issue$2[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedOrganization {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: Organization$1[];
    Expands?: string[];
    Links?: PagedLink;
}

interface Queue {
    /** ID for the queue. */
    id?: string;
    /** Short name for the queue. */
    name?: string;
    /** JQL query that filters reqeusts for the queue. */
    jql?: string;
    /** Fields returned for each request in the queue. */
    fields?: string[];
    /** The count of customer requests in the queue. */
    issueCount?: number;
    Links?: SelfLink;
}

interface PagedQueue {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: Queue[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedRequestType {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: RequestType$1[];
    Expands?: string[];
    Links?: PagedLink;
}

interface RequestTypeGroup {
    /** ID of the request type group */
    id?: string;
    /** Name of the request type group. */
    name?: string;
}

interface PagedRequestTypeGroup {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: RequestTypeGroup[];
    Expands?: string[];
    Links?: PagedLink;
}

interface PagedServiceDesk {
    /** Number of items returned in the page. */
    size?: number;
    /** Index of the first item returned in the page. */
    start?: number;
    /** Number of items to be returned per page, up to the maximum set for these objects in the current implementation. */
    limit?: number;
    /** Indicates if this is the last page of records (true) or not (false). */
    isLastPage?: boolean;
    /** Details of the items included in the page. */
    values?: ServiceDesk$1[];
    Expands?: string[];
    Links?: PagedLink;
}

/** Property key details. */
interface PropertyKey {
    /** The URL of the property. */
    self?: string;
    /** The key of the property. */
    key?: string;
}

/** List of property keys. */
interface PropertyKeys {
    /** Property key details. */
    keys?: PropertyKey[];
}

interface RequestCreate {
    /** ID of the service desk in which to create the request. */
    serviceDeskId?: string;
    /** ID of the request type for the request. */
    requestTypeId?: string;
    /** JSON map of Jira field IDs and their values representing the content of the request. */
    requestFieldValues?: unknown;
    /** List of customers to participate in the request, as a list of `accountId` values. */
    requestParticipants?: string[];
    /** The `accountId` of the customer that the request is being raised on behalf of. */
    raiseOnBehalfOf?: string;
    /** (Experimental) Shows extra information for the request channel. */
    channel?: string;
}

interface RequestNotificationSubscription {
    /** Indicates whether the user is subscribed (true) or not (false) to the request's notifications. */
    subscribed?: boolean;
}

interface RequestParticipantUpdate {
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details. Use `accountIds` instead.
     */
    usernames?: string[];
    /** List of users, specified by account IDs, to add to or remove as participants in the request. */
    accountIds?: string[];
}

interface RequestTypeCreate {
    /** ID of the request type to add to the service desk. */
    issueTypeId?: string;
    /** Name of the request type on the service desk. */
    name?: string;
    /** Description of the request type on the service desk. */
    description?: string;
    /** Help text for the request type on the service desk. */
    helpText?: string;
}

interface ServiceDeskCustomer {
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details. Use `accountIds` instead.
     */
    usernames?: string[];
    /** List of users, specified by account IDs, to add to or remove from a service desk. */
    accountIds?: string[];
}

interface SoftwareInfo {
    /** Jira Service Management version. */
    version?: string;
    /** Jira Platform version upon which Service Desk is based. */
    platformVersion?: string;
    buildDate?: Date$1;
    /** Reference of the change set included in the build. */
    buildChangeSet?: string;
    /** Indicates whether the instance is licensed (true) or not (false). */
    isLicensedForUse?: boolean;
    Links?: SelfLink;
}

/**
 * User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:*
 *
 * - User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case,
 *   `displayName` provides an indication and other parameters have default values or are blank (for example, email is
 *   blank).
 * - User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted
 *   users. In this case, `accountId` returns _unknown_ and all other parameters have fallback values.
 * - User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have
 *   fallback values.
 */
interface UserDetails {
    /** The URL of the user. */
    self?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    name?: string;
    /**
     * This property is no longer available and will be removed from the documentation soon. See the [deprecation
     * notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/)
     * for details.
     */
    key?: string;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
    /** The email address of the user. Depending on the user’s privacy settings, this may be returned as null. */
    emailAddress?: string;
    avatarUrls?: AvatarUrls$1;
    /** The display name of the user. Depending on the user’s privacy settings, this may return an alternative value. */
    displayName?: string;
    /** Whether the user is active. */
    active?: boolean;
    /**
     * The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as
     * null.
     */
    timeZone?: string;
    /**
     * The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application
     * user) or 'customer' (Jira Service Desk customer user)
     */
    accountType?: string;
}

interface UsersOrganizationUpdate {
    /** List of customers, specific by account IDs, to add to or remove from the organization. */
    accountIds?: string[];
}

type index$4_AdditionalComment = AdditionalComment;
type index$4_Approval = Approval;
type index$4_ApprovalDecisionRequest = ApprovalDecisionRequest;
type index$4_Approver = Approver;
type index$4_Article = Article;
type index$4_AttachmentCreate = AttachmentCreate;
type index$4_AttachmentCreateResult = AttachmentCreateResult;
type index$4_AttachmentLink = AttachmentLink;
type index$4_Comment = Comment;
type index$4_CommentCreate = CommentCreate;
type index$4_Content = Content;
type index$4_CsatFeedbackFull = CsatFeedbackFull;
type index$4_CustomerCreate = CustomerCreate;
type index$4_CustomerRequest = CustomerRequest;
type index$4_CustomerRequestAction = CustomerRequestAction;
type index$4_CustomerRequestActions = CustomerRequestActions;
type index$4_CustomerRequestCreateMeta = CustomerRequestCreateMeta;
type index$4_CustomerRequestFieldValue = CustomerRequestFieldValue;
type index$4_CustomerRequestLink = CustomerRequestLink;
type index$4_CustomerRequestStatus = CustomerRequestStatus;
type index$4_CustomerTransition = CustomerTransition;
type index$4_CustomerTransitionExecution = CustomerTransitionExecution;
type index$4_Duration = Duration;
type index$4_EntityProperty = EntityProperty;
type index$4_InsightWorkspace = InsightWorkspace;
type index$4_OrganizationCreate = OrganizationCreate;
type index$4_OrganizationServiceDeskUpdate = OrganizationServiceDeskUpdate;
type index$4_PagedApproval = PagedApproval;
type index$4_PagedArticle = PagedArticle;
type index$4_PagedAttachment = PagedAttachment;
type index$4_PagedComment = PagedComment;
type index$4_PagedCustomerRequest = PagedCustomerRequest;
type index$4_PagedCustomerRequestStatus = PagedCustomerRequestStatus;
type index$4_PagedCustomerTransition = PagedCustomerTransition;
type index$4_PagedInsightWorkspace = PagedInsightWorkspace;
type index$4_PagedIssue = PagedIssue;
type index$4_PagedLink = PagedLink;
type index$4_PagedOrganization = PagedOrganization;
type index$4_PagedQueue = PagedQueue;
type index$4_PagedRequestType = PagedRequestType;
type index$4_PagedRequestTypeGroup = PagedRequestTypeGroup;
type index$4_PagedServiceDesk = PagedServiceDesk;
type index$4_PagedSlaInformation = PagedSlaInformation;
type index$4_PagedUser = PagedUser;
type index$4_PropertyKey = PropertyKey;
type index$4_PropertyKeys = PropertyKeys;
type index$4_Queue = Queue;
type index$4_RenderedValue = RenderedValue;
type index$4_RequestCreate = RequestCreate;
type index$4_RequestNotificationSubscription = RequestNotificationSubscription;
type index$4_RequestParticipantUpdate = RequestParticipantUpdate;
type index$4_RequestTypeCreate = RequestTypeCreate;
type index$4_RequestTypeField = RequestTypeField;
type index$4_RequestTypeFieldValue = RequestTypeFieldValue;
type index$4_RequestTypeGroup = RequestTypeGroup;
type index$4_RequestTypeIcon = RequestTypeIcon;
type index$4_RequestTypeIconLink = RequestTypeIconLink;
type index$4_SelfLink = SelfLink;
type index$4_ServiceDeskCustomer = ServiceDeskCustomer;
type index$4_SlaInformation = SlaInformation;
type index$4_SlaInformationCompletedCycle = SlaInformationCompletedCycle;
type index$4_SlaInformationOngoingCycle = SlaInformationOngoingCycle;
type index$4_SoftwareInfo = SoftwareInfo;
type index$4_Source = Source;
type index$4_StatusDetails = StatusDetails;
type index$4_UserDetails = UserDetails;
type index$4_UserLink = UserLink;
type index$4_UsersOrganizationUpdate = UsersOrganizationUpdate;
declare namespace index$4 {
  export type { index$4_AdditionalComment as AdditionalComment, index$4_Approval as Approval, index$4_ApprovalDecisionRequest as ApprovalDecisionRequest, index$4_Approver as Approver, index$4_Article as Article, Attachment$1 as Attachment, index$4_AttachmentCreate as AttachmentCreate, index$4_AttachmentCreateResult as AttachmentCreateResult, index$4_AttachmentLink as AttachmentLink, AvatarUrls$1 as AvatarUrls, index$4_Comment as Comment, index$4_CommentCreate as CommentCreate, index$4_Content as Content, index$4_CsatFeedbackFull as CsatFeedbackFull, index$4_CustomerCreate as CustomerCreate, index$4_CustomerRequest as CustomerRequest, index$4_CustomerRequestAction as CustomerRequestAction, index$4_CustomerRequestActions as CustomerRequestActions, index$4_CustomerRequestCreateMeta as CustomerRequestCreateMeta, index$4_CustomerRequestFieldValue as CustomerRequestFieldValue, index$4_CustomerRequestLink as CustomerRequestLink, index$4_CustomerRequestStatus as CustomerRequestStatus, index$4_CustomerTransition as CustomerTransition, index$4_CustomerTransitionExecution as CustomerTransitionExecution, Date$1 as Date, index$4_Duration as Duration, index$4_EntityProperty as EntityProperty, index$4_InsightWorkspace as InsightWorkspace, Issue$2 as Issue, IssueTransition$1 as IssueTransition, JsonType$1 as JsonType, Organization$1 as Organization, index$4_OrganizationCreate as OrganizationCreate, index$4_OrganizationServiceDeskUpdate as OrganizationServiceDeskUpdate, index$4_PagedApproval as PagedApproval, index$4_PagedArticle as PagedArticle, index$4_PagedAttachment as PagedAttachment, index$4_PagedComment as PagedComment, index$4_PagedCustomerRequest as PagedCustomerRequest, index$4_PagedCustomerRequestStatus as PagedCustomerRequestStatus, index$4_PagedCustomerTransition as PagedCustomerTransition, index$4_PagedInsightWorkspace as PagedInsightWorkspace, index$4_PagedIssue as PagedIssue, index$4_PagedLink as PagedLink, index$4_PagedOrganization as PagedOrganization, index$4_PagedQueue as PagedQueue, index$4_PagedRequestType as PagedRequestType, index$4_PagedRequestTypeGroup as PagedRequestTypeGroup, index$4_PagedServiceDesk as PagedServiceDesk, index$4_PagedSlaInformation as PagedSlaInformation, index$4_PagedUser as PagedUser, index$4_PropertyKey as PropertyKey, index$4_PropertyKeys as PropertyKeys, index$4_Queue as Queue, index$4_RenderedValue as RenderedValue, index$4_RequestCreate as RequestCreate, index$4_RequestNotificationSubscription as RequestNotificationSubscription, index$4_RequestParticipantUpdate as RequestParticipantUpdate, RequestType$1 as RequestType, index$4_RequestTypeCreate as RequestTypeCreate, index$4_RequestTypeField as RequestTypeField, index$4_RequestTypeFieldValue as RequestTypeFieldValue, index$4_RequestTypeGroup as RequestTypeGroup, index$4_RequestTypeIcon as RequestTypeIcon, index$4_RequestTypeIconLink as RequestTypeIconLink, index$4_SelfLink as SelfLink, ServiceDesk$1 as ServiceDesk, index$4_ServiceDeskCustomer as ServiceDeskCustomer, index$4_SlaInformation as SlaInformation, index$4_SlaInformationCompletedCycle as SlaInformationCompletedCycle, index$4_SlaInformationOngoingCycle as SlaInformationOngoingCycle, index$4_SoftwareInfo as SoftwareInfo, index$4_Source as Source, StatusCategory$1 as StatusCategory, index$4_StatusDetails as StatusDetails, User$1 as User, index$4_UserDetails as UserDetails, index$4_UserLink as UserLink, index$4_UsersOrganizationUpdate as UsersOrganizationUpdate };
}

interface AddCustomers extends ServiceDeskCustomer {
    /**
     * The ID of the service desk the customer list should be returned from. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
}

interface AddOrganization extends OrganizationServiceDeskUpdate {
    /**
     * The ID of the service desk to which the organization will be added. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
}

interface AddRequestParticipants extends RequestParticipantUpdate {
    /** The ID or key of the customer request to have participants added. */
    issueIdOrKey: string;
}

interface AddUsersToOrganization extends UsersOrganizationUpdate {
    /** The ID of the organization. */
    organizationId: number;
}

interface AnswerApproval extends ApprovalDecisionRequest {
    /** The ID or key of the customer request to be updated. */
    issueIdOrKey: string;
    /** The ID of the approval to be updated. */
    approvalId: number;
}

/**
 * Represents an attachment to be temporarily attached to a Service Desk.
 *
 * @example
 *   ```typescript
 *   const attachment: Attachment = {
 *     filename: 'example.txt',
 *     file: Buffer.from('Temporary file content'),
 *     mimeType: 'text/plain',
 *   };
 *   ```
 */
interface Attachment {
    /**
     * The name of the attachment file.
     *
     * @example
     *   ```typescript
     *   const filename = 'example.png';
     *   ```
     */
    filename: string;
    /**
     * The content of the attachment. Can be one of the following:
     *
     * - `Buffer`: For binary data.
     * - `ReadableStream`: For streaming large files.
     * - `string`: For text-based content.
     * - `Blob`: For browser-like blob objects.
     * - `File`: For file objects with metadata (e.g., in web environments).
     *
     * @example
     *   ```typescript
     *   const fileContent = Buffer.from('Example content here');
     *   ```
     */
    file: Buffer | ReadableStream | Readable | string | Blob | File;
    /**
     * Optional MIME type of the attachment. Example values include:
     *
     * - 'application/pdf'
     * - 'image/jpeg' If not provided, the MIME type will be automatically detected based on the filename.
     *
     * @example
     *   ```typescript
     *   const mimeType = 'image/jpeg';
     *   ```
     */
    mimeType?: string;
}
/**
 * Parameters for attaching temporary files to a Service Desk.
 *
 * @example
 *   ```typescript
 *   const attachTemporaryFileParams: AttachTemporaryFile = {
 *     serviceDeskId: '5',
 *     attachment: [
 *       {
 *         filename: 'example.txt',
 *         file: Buffer.from('Temporary file content'),
 *         mimeType: 'text/plain',
 *       },
 *     ],
 *   };
 *   ```
 */
interface AttachTemporaryFile {
    /**
     * The ID of the Service Desk to which the file will be attached. This can alternatively be a [project
     * identifier](#project-identifiers).
     *
     * @example
     *   ```typescript
     *   const serviceDeskId = '5';
     *   ```
     */
    serviceDeskId: string;
    /**
     * The attachment(s) to be added. Can be a single `Attachment` object or an array of `Attachment` objects.
     *
     * @example
     *   ```typescript
     *   const attachments = [
     *     {
     *       filename: 'file1.txt',
     *       file: Buffer.from('Temporary content 1'),
     *       mimeType: 'text/plain',
     *     },
     *     {
     *       filename: 'file2.jpeg',
     *       file: Buffer.from('Temporary content 2'),
     *       mimeType: 'image/jpeg',
     *     },
     *   ];
     *   ```
     */
    attachment: Attachment | Attachment[];
}

interface CreateAttachment extends AttachmentCreate {
    /** The ID or key of the customer request to which the attachment will be added. */
    issueIdOrKey: string;
}

interface CreateCustomer extends CustomerCreate {
}

interface CreateCustomerRequest extends RequestCreate {
}

interface CreateOrganization extends OrganizationCreate {
}

interface CreateRequestComment extends CommentCreate {
    /** The ID or key of the customer request to which the comment will be added. */
    issueIdOrKey: string;
}

interface CreateRequestType extends RequestTypeCreate {
    /**
     * The ID of the service desk where the customer request type is to be created. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
}

interface DeleteFeedback {
    /** The id or the key of the request to post the feedback on */
    requestIdOrKey: string;
}

interface DeleteOrganization {
    /** The ID of the organization. */
    organizationId: number;
}

interface DeleteOrganizationProperty {
    /** The ID of the organization from which the property will be removed. */
    organizationId: string;
    /** The key of the property to remove. */
    propertyKey: string;
}

interface DeleteProperty {
    /**
     * The ID of the service desk which contains the request type. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** The ID of the request type for which the property will be removed. */
    requestTypeId: number;
    /** The key of the property to remove. */
    propertyKey: string;
}

interface DeleteRequestType {
    /** The ID or [project identifier](#project-identifiers) of the service desk. */
    serviceDeskId: string;
    /** The ID of the request type. */
    requestTypeId: number;
}

interface GetAllRequestTypes {
    /** String to be used to filter the results. */
    searchQuery?: string;
    /**
     * Filter the request types by service desk Ids provided. Multiple values of the query parameter are supported. For
     * example, `serviceDeskId=1&serviceDeskId=2` will return request types only for service desks 1 and 2.
     */
    serviceDeskId?: number[];
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 100. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
    expand?: string[];
}

interface GetApprovalById {
    /** The ID or key of the customer request the approval is on. */
    issueIdOrKey: string;
    /** The ID of the approval to be returned. */
    approvalId: number;
}

interface GetApprovals {
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of approvals to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
    /** The ID or key of the customer request to be queried for its approvals. */
    issueIdOrKey: string;
}

interface GetArticles {
    serviceDeskId: string;
    /** The string used to filter the articles. */
    query: string;
    /**
     * If set to true matching query term in the title and excerpt will be highlighted using the @@@hl@@@term@@@endhl@@@
     * syntax. Default: false.
     */
    highlight?: boolean;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 100. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetAttachmentContent {
    /** The ID or key for the customer request the attachment is associated with */
    issueIdOrKey: string;
    /** The ID for the attachment */
    attachmentId: number;
}

interface GetAttachmentsForRequest {
    /** The ID or key of the customer request from which the attachments will be listed. */
    issueIdOrKey: string;
    /**
     * The starting index of the returned attachment. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of comments to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetAttachmentThumbnail {
    /** The ID or key for the customer request the attachment is associated with */
    issueIdOrKey: string;
    /** The ID of the attachment. */
    attachmentId: number;
}

interface GetCommentAttachments {
    /** The ID or key of the customer request that contains the comment. */
    issueIdOrKey: string;
    /** The ID of the comment. */
    commentId: number;
    /**
     * The starting index of the returned comments. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of comments to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetCustomerRequestByIdOrKey {
    /** The ID or Key of the customer request to be returned */
    issueIdOrKey: string;
    /**
     * A multi-value parameter indicating which properties of the customer request to expand, where:
     *
     * `serviceDesk` returns additional service desk details. `requestType` returns additional customer request type
     * details. `participant` returns the participant details. `sla` returns the SLA information. `status` returns the
     * status transitions, in chronological order. `attachment` returns the attachments. `action` returns the actions that
     * the user can or cannot perform. `comment` returns the comments. `comment.attachment` returns the attachment details
     * for each comment. `comment.renderedBody` (Experimental) return the rendered body in HTML format (in addition to the
     * raw body) for each comment.
     */
    expand?: string[];
}

interface GetCustomerRequests {
    /**
     * Filters customer requests where the request summary matches the `searchTerm`.
     * [Wildcards](https://confluence.atlassian.com/display/JIRACORECLOUD/Search+syntax+for+text+fields) can be used in
     * the `searchTerm` parameter.
     */
    searchTerm?: string;
    /**
     * Filters customer requests where the request is closed, open, or either of the two where:
     *
     * `CLOSED_REQUESTS` returns customer requests that are closed. `OPEN_REQUESTS` returns customer requests that are
     * open. `ALL_REQUESTS` returns all customer requests.
     */
    requestStatus?: string;
    /**
     * Filters results to customer requests based on their approval status:
     *
     * `MY_PENDING_APPROVAL` returns customer requests pending the user's approval. `MY_HISTORY_APPROVAL` returns customer
     * requests where the user was an approver.
     *
     * **Note**: Valid only when used with requestOwnership=APPROVER.
     */
    approvalStatus?: string;
    /**
     * Filters customer requests that belong to a specific organization (note that the user must be a member of that
     * organization). **Note**: Valid only when used with requestOwnership=ORGANIZATION.
     */
    organizationId?: number;
    /** Filters customer requests by service desk. */
    serviceDeskId?: number;
    /**
     * Filters customer requests by request type. Note that the `serviceDeskId` must be specified for the service desk in
     * which the request type belongs.
     */
    requestTypeId?: number;
    /**
     * A multi-value parameter indicating which properties of the customer request to expand, where:
     *
     * `serviceDesk` returns additional details for each service desk. `requestType` returns additional details for each
     * request type. `participant` returns the participant details, if any, for each customer request. `sla` returns the
     * SLA information on each customer request. `status` returns the status transitions, in chronological order, for each
     * customer request. `attachment` returns the attachments for the customer request. `action` returns the actions that
     * the user can or cannot perform on this customer request. `comment` returns the comments, if any, for each customer
     * request. `comment.attachment` returns the attachment details, if any, for each comment. `comment.renderedBody`
     * (Experimental) returns the rendered body in HTML format (in addition to the raw body) for each comment.
     */
    expand?: string[];
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetCustomerRequestStatus {
    /** The ID or key of the customer request to be retrieved. */
    issueIdOrKey: string;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetCustomers {
    /**
     * The ID of the service desk the customer list should be returned from. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** The string used to filter the customer list. */
    query?: string;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of users to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetCustomerTransitions {
    /** The ID or key of the customer request whose transitions will be retrieved. */
    issueIdOrKey: string;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 100. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetFeedback {
    /** The id or the key of the request to post the feedback on */
    requestIdOrKey: string;
}

interface GetInsightWorkspaces {
    /**
     * The starting index of the returned workspace IDs. Base index: 0 See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of workspace IDs to return per page. Default: 50 See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetIssuesInQueue {
    /**
     * The ID of the service desk containing the queue to be queried. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** The ID of the queue whose customer requests will be returned. */
    queueId: number;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetOrganization {
    /** The ID of the organization. */
    organizationId: number;
}

interface GetOrganizationProperty {
    /** The ID of the organization from which the property will be returned. */
    organizationId: string;
    /** The key of the property to return. */
    propertyKey: string;
}

interface GetOrganizationPropertyKeys {
    /** The ID of the organization from which keys will be returned. */
    organizationId: string;
}

interface GetOrganizations {
    /**
     * The ID of the service desk from which the organization list will be returned. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId?: string;
}

interface GetPropertiesKeys {
    /** The ID of the request type for which keys will be retrieved. */
    requestTypeId: number;
    /**
     * The ID of the service desk which contains the request type. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
}

interface GetProperty {
    /**
     * The ID of the service desk which contains the request type. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** The ID of the request type from which the property will be retrieved. */
    requestTypeId: number;
    /** The key of the property to return. */
    propertyKey: string;
}

interface GetQueue {
    /**
     * ID of the service desk whose queues will be returned. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** ID of the required queue. */
    queueId: number;
    /** Specifies whether to include each queue's customer request (issue) count in the response. */
    includeCount?: boolean;
}

interface GetQueues {
    /**
     * ID of the service desk whose queues will be returned. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** Specifies whether to include each queue's customer request (issue) count in the response. */
    includeCount?: boolean;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetRequestCommentById {
    /** The ID or key of the customer request that contains the comment. */
    issueIdOrKey: string;
    /** The ID of the comment to retrieve. */
    commentId: number;
    /**
     * A multi-value parameter indicating which properties of the comment to expand:
     *
     * - `attachment` returns the attachment details, if any, for the comment. (If you want to get all attachments for a
     *   request, use [servicedeskapi/request/{issueIdOrKey}/attachment](#api-request-issueIdOrKey-attachment-get).)
     * - `renderedBody` (Experimental) returns the rendered body in HTML format (in addition to the raw body) of the
     *   comment.
     */
    expand?: 'attachment' | 'renderedBody' | ('attachment' | 'renderedBody')[] | string | string[];
}

interface GetRequestComments {
    /** The ID or key of the customer request whose comments will be retrieved. */
    issueIdOrKey: string;
    /** Specifies whether to return public comments or not. Default: true. */
    public?: boolean;
    /** Specifies whether to return internal comments or not. Default: true. */
    internal?: boolean;
    /**
     * A multi-value parameter indicating which properties of the comment to expand:
     *
     * - `attachment` returns the attachment details, if any, for each comment. (If you want to get all attachments for a
     *   request, use [servicedeskapi/request/{issueIdOrKey}/attachment](#api-request-issueIdOrKey-attachment-get).)
     * - `renderedBody` (Experimental) returns the rendered body in HTML format (in addition to the raw body) for each
     *   comment.
     */
    expand?: 'attachment' | 'renderedBody' | ('attachment' | 'renderedBody')[] | string | string[];
    /**
     * The starting index of the returned comments. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of comments to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetRequestParticipants {
    /** The ID or key of the customer request to be queried for its participants. */
    issueIdOrKey: string;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of request types to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetRequestTypeById {
    /**
     * The ID of the service desk whose customer request type is to be returned. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** The ID of the customer request type to be returned. */
    requestTypeId: number;
    expand?: string[];
}

interface GetRequestTypeFields {
    /**
     * The ID of the service desk containing the request types whose fields are to be returned. This can alternatively be
     * a [project identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** The ID of the request types whose fields are to be returned. */
    requestTypeId: number;
    /**
     * Use [expand](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#expansion) to include additional
     * information in the response. This parameter accepts `hiddenFields` that returns hidden fields associated with the
     * request type.
     */
    expand?: string[];
}

interface GetRequestTypeGroups {
    /**
     * The ID of the service desk whose customer request type groups are to be returned. This can alternatively be a
     * [project identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 100. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetRequestTypes {
    /**
     * The ID of the service desk whose customer request types are to be returned. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** Filters results to those in a customer request type group. */
    groupId?: number;
    expand?: string[];
    /** The string to be used to filter the results. */
    searchQuery?: string;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 100. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetServiceDeskById {
    /** The ID of the service desk to return. This can alternatively be a [project identifier.](#project-identifiers) */
    serviceDeskId: string;
}

interface GetServiceDesks {
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of items to return per page. Default: 100. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetSlaInformation {
    /** The ID or key of the customer request whose SLAs will be retrieved. */
    issueIdOrKey: string;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of request types to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface GetSlaInformationById {
    /** The ID or key of the customer request whose SLAs will be retrieved. */
    issueIdOrKey: string;
    /** The ID or key of the SLAs metric to be retrieved. */
    slaMetricId: number;
}

interface GetSubscriptionStatus {
    /** The ID or key of the customer request to be queried for subscription status. */
    issueIdOrKey: string;
}

interface GetUsersInOrganization {
    /** The ID of the organization. */
    organizationId: number;
    /**
     * The starting index of the returned objects. Base index: 0. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    start?: number;
    /**
     * The maximum number of users to return per page. Default: 50. See the
     * [Pagination](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#pagination) section for more
     * details.
     */
    limit?: number;
}

interface PerformCustomerTransition extends CustomerTransitionExecution {
    /** ID or key of the issue to transition */
    issueIdOrKey: string;
}

interface PostFeedback extends CsatFeedbackFull {
    /** The id or the key of the request to post the feedback on */
    requestIdOrKey: string;
}

interface RemoveCustomers extends ServiceDeskCustomer {
    /**
     * The ID of the service desk the customers should be removed from. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
}

interface RemoveOrganization extends OrganizationServiceDeskUpdate {
    /**
     * The ID of the service desk from which the organization will be removed. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
}

interface RemoveRequestParticipants extends RequestParticipantUpdate {
    /** The ID or key of the customer request to have participants removed. */
    issueIdOrKey: string;
}

interface RemoveUsersFromOrganization extends UsersOrganizationUpdate {
    /** The ID of the organization. */
    organizationId: number;
}

interface SetOrganizationProperty {
    /** The ID of the organization on which the property will be set. */
    organizationId: string;
    /** The key of the organization's property. The maximum length of the key is 255 bytes. */
    propertyKey: string;
}

interface SetProperty {
    /**
     * The ID of the service desk which contains the request type. This can alternatively be a [project
     * identifier.](#project-identifiers)
     */
    serviceDeskId: string;
    /** The ID of the request type on which the property will be set. */
    requestTypeId: number;
    /** The key of the request type property. The maximum length of the key is 255 bytes. */
    propertyKey: string;
}

interface Subscribe {
    /** The ID or key of the customer request to be subscribed to. */
    issueIdOrKey: string;
}

interface Unsubscribe {
    /** The ID or key of the customer request to be unsubscribed from. */
    issueIdOrKey: string;
}

type index$3_AddCustomers = AddCustomers;
type index$3_AddOrganization = AddOrganization;
type index$3_AddRequestParticipants = AddRequestParticipants;
type index$3_AddUsersToOrganization = AddUsersToOrganization;
type index$3_AnswerApproval = AnswerApproval;
type index$3_AttachTemporaryFile = AttachTemporaryFile;
type index$3_Attachment = Attachment;
type index$3_CreateAttachment = CreateAttachment;
type index$3_CreateCustomer = CreateCustomer;
type index$3_CreateCustomerRequest = CreateCustomerRequest;
type index$3_CreateOrganization = CreateOrganization;
type index$3_CreateRequestComment = CreateRequestComment;
type index$3_CreateRequestType = CreateRequestType;
type index$3_DeleteFeedback = DeleteFeedback;
type index$3_DeleteOrganization = DeleteOrganization;
type index$3_DeleteOrganizationProperty = DeleteOrganizationProperty;
type index$3_DeleteProperty = DeleteProperty;
type index$3_DeleteRequestType = DeleteRequestType;
type index$3_GetAllRequestTypes = GetAllRequestTypes;
type index$3_GetApprovalById = GetApprovalById;
type index$3_GetApprovals = GetApprovals;
type index$3_GetArticles = GetArticles;
type index$3_GetAttachmentContent = GetAttachmentContent;
type index$3_GetAttachmentThumbnail = GetAttachmentThumbnail;
type index$3_GetAttachmentsForRequest = GetAttachmentsForRequest;
type index$3_GetCommentAttachments = GetCommentAttachments;
type index$3_GetCustomerRequestByIdOrKey = GetCustomerRequestByIdOrKey;
type index$3_GetCustomerRequestStatus = GetCustomerRequestStatus;
type index$3_GetCustomerRequests = GetCustomerRequests;
type index$3_GetCustomerTransitions = GetCustomerTransitions;
type index$3_GetCustomers = GetCustomers;
type index$3_GetFeedback = GetFeedback;
type index$3_GetInsightWorkspaces = GetInsightWorkspaces;
type index$3_GetIssuesInQueue = GetIssuesInQueue;
type index$3_GetOrganization = GetOrganization;
type index$3_GetOrganizationProperty = GetOrganizationProperty;
type index$3_GetOrganizationPropertyKeys = GetOrganizationPropertyKeys;
type index$3_GetOrganizations = GetOrganizations;
type index$3_GetPropertiesKeys = GetPropertiesKeys;
type index$3_GetProperty = GetProperty;
type index$3_GetQueue = GetQueue;
type index$3_GetQueues = GetQueues;
type index$3_GetRequestCommentById = GetRequestCommentById;
type index$3_GetRequestComments = GetRequestComments;
type index$3_GetRequestParticipants = GetRequestParticipants;
type index$3_GetRequestTypeById = GetRequestTypeById;
type index$3_GetRequestTypeFields = GetRequestTypeFields;
type index$3_GetRequestTypeGroups = GetRequestTypeGroups;
type index$3_GetRequestTypes = GetRequestTypes;
type index$3_GetServiceDeskById = GetServiceDeskById;
type index$3_GetServiceDesks = GetServiceDesks;
type index$3_GetSlaInformation = GetSlaInformation;
type index$3_GetSlaInformationById = GetSlaInformationById;
type index$3_GetSubscriptionStatus = GetSubscriptionStatus;
type index$3_GetUsersInOrganization = GetUsersInOrganization;
type index$3_PerformCustomerTransition = PerformCustomerTransition;
type index$3_PostFeedback = PostFeedback;
type index$3_RemoveCustomers = RemoveCustomers;
type index$3_RemoveOrganization = RemoveOrganization;
type index$3_RemoveRequestParticipants = RemoveRequestParticipants;
type index$3_RemoveUsersFromOrganization = RemoveUsersFromOrganization;
type index$3_SetOrganizationProperty = SetOrganizationProperty;
type index$3_SetProperty = SetProperty;
type index$3_Subscribe = Subscribe;
type index$3_Unsubscribe = Unsubscribe;
declare namespace index$3 {
  export type { index$3_AddCustomers as AddCustomers, index$3_AddOrganization as AddOrganization, index$3_AddRequestParticipants as AddRequestParticipants, index$3_AddUsersToOrganization as AddUsersToOrganization, index$3_AnswerApproval as AnswerApproval, index$3_AttachTemporaryFile as AttachTemporaryFile, index$3_Attachment as Attachment, index$3_CreateAttachment as CreateAttachment, index$3_CreateCustomer as CreateCustomer, index$3_CreateCustomerRequest as CreateCustomerRequest, index$3_CreateOrganization as CreateOrganization, index$3_CreateRequestComment as CreateRequestComment, index$3_CreateRequestType as CreateRequestType, index$3_DeleteFeedback as DeleteFeedback, index$3_DeleteOrganization as DeleteOrganization, index$3_DeleteOrganizationProperty as DeleteOrganizationProperty, index$3_DeleteProperty as DeleteProperty, index$3_DeleteRequestType as DeleteRequestType, index$3_GetAllRequestTypes as GetAllRequestTypes, index$3_GetApprovalById as GetApprovalById, index$3_GetApprovals as GetApprovals, index$3_GetArticles as GetArticles, index$3_GetAttachmentContent as GetAttachmentContent, index$3_GetAttachmentThumbnail as GetAttachmentThumbnail, index$3_GetAttachmentsForRequest as GetAttachmentsForRequest, index$3_GetCommentAttachments as GetCommentAttachments, index$3_GetCustomerRequestByIdOrKey as GetCustomerRequestByIdOrKey, index$3_GetCustomerRequestStatus as GetCustomerRequestStatus, index$3_GetCustomerRequests as GetCustomerRequests, index$3_GetCustomerTransitions as GetCustomerTransitions, index$3_GetCustomers as GetCustomers, index$3_GetFeedback as GetFeedback, index$3_GetInsightWorkspaces as GetInsightWorkspaces, index$3_GetIssuesInQueue as GetIssuesInQueue, index$3_GetOrganization as GetOrganization, index$3_GetOrganizationProperty as GetOrganizationProperty, index$3_GetOrganizationPropertyKeys as GetOrganizationPropertyKeys, index$3_GetOrganizations as GetOrganizations, index$3_GetPropertiesKeys as GetPropertiesKeys, index$3_GetProperty as GetProperty, index$3_GetQueue as GetQueue, index$3_GetQueues as GetQueues, index$3_GetRequestCommentById as GetRequestCommentById, index$3_GetRequestComments as GetRequestComments, index$3_GetRequestParticipants as GetRequestParticipants, index$3_GetRequestTypeById as GetRequestTypeById, index$3_GetRequestTypeFields as GetRequestTypeFields, index$3_GetRequestTypeGroups as GetRequestTypeGroups, index$3_GetRequestTypes as GetRequestTypes, index$3_GetServiceDeskById as GetServiceDeskById, index$3_GetServiceDesks as GetServiceDesks, index$3_GetSlaInformation as GetSlaInformation, index$3_GetSlaInformationById as GetSlaInformationById, index$3_GetSubscriptionStatus as GetSubscriptionStatus, index$3_GetUsersInOrganization as GetUsersInOrganization, index$3_PerformCustomerTransition as PerformCustomerTransition, index$3_PostFeedback as PostFeedback, index$3_RemoveCustomers as RemoveCustomers, index$3_RemoveOrganization as RemoveOrganization, index$3_RemoveRequestParticipants as RemoveRequestParticipants, index$3_RemoveUsersFromOrganization as RemoveUsersFromOrganization, index$3_SetOrganizationProperty as SetOrganizationProperty, index$3_SetProperty as SetProperty, index$3_Subscribe as Subscribe, index$3_Unsubscribe as Unsubscribe };
}

declare class Customer {
    private client;
    constructor(client: Client);
    /**
     * This method adds a customer to the Jira Service Management instance by passing a JSON file including an email
     * address and display name. The display name does not need to be unique. The record's identifiers, `name` and `key`,
     * are automatically generated from the request details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Jira
     * Administrator Global permission
     */
    createCustomer<T = User$1>(parameters: CreateCustomer | undefined, callback: Callback<T>): Promise<void>;
    /**
     * This method adds a customer to the Jira Service Management instance by passing a JSON file including an email
     * address and display name. The display name does not need to be unique. The record's identifiers, `name` and `key`,
     * are automatically generated from the request details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Jira
     * Administrator Global permission
     */
    createCustomer<T = User$1>(parameters?: CreateCustomer, callback?: never): Promise<T>;
}

declare class Info {
    private client;
    constructor(client: Client);
    /**
     * This method retrieves information about the Jira Service Management instance such as software version, builds, and
     * related links.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: None,
     * the user does not need to be logged in.
     */
    getInfo<T = SoftwareInfo>(callback: Callback<T>): Promise<void>;
    /**
     * This method retrieves information about the Jira Service Management instance such as software version, builds, and
     * related links.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: None,
     * the user does not need to be logged in.
     */
    getInfo<T = SoftwareInfo>(callback?: never): Promise<T>;
}

declare class Insight {
    private client;
    constructor(client: Client);
    /**
     * Returns a list of Insight workspace IDs. Include a workspace ID in the path to access the [Insight REST
     * APIs](https://developer.atlassian.com/cloud/insight/rest).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     */
    getInsightWorkspaces<T = PagedInsightWorkspace>(parameters: GetInsightWorkspaces | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns a list of Insight workspace IDs. Include a workspace ID in the path to access the [Insight REST
     * APIs](https://developer.atlassian.com/cloud/insight/rest).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     */
    getInsightWorkspaces<T = PagedInsightWorkspace>(parameters?: GetInsightWorkspaces, callback?: never): Promise<T>;
}

declare class KnowledgeBase {
    private client;
    constructor(client: Client);
    /**
     * Returns articles which match the given query string across all service desks.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the [customer
     * portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html).
     */
    getArticles<T = PagedArticle>(parameters: GetArticles, callback: Callback<T>): Promise<void>;
    /**
     * Returns articles which match the given query string across all service desks.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the [customer
     * portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html).
     */
    getArticles<T = PagedArticle>(parameters: GetArticles, callback?: never): Promise<T>;
}

declare class Organization {
    private client;
    constructor(client: Client);
    /**
     * This method returns a list of organizations in the Jira Service Management instance. Use this method when you want
     * to present a list of organizations or want to locate an organization by name.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any.
     * However, to fetch organizations based on `accountId` the user must have a Service Desk agent license.
     *
     * **Response limitations**: If the user is a customer, only those organizations of which the customer is a member are
     * listed.
     */
    getOrganizations<T = PagedOrganization>(parameters: GetOrganizations | undefined, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a list of organizations in the Jira Service Management instance. Use this method when you want
     * to present a list of organizations or want to locate an organization by name.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any.
     * However, to fetch organizations based on `accountId` the user must have a Service Desk agent license.
     *
     * **Response limitations**: If the user is a customer, only those organizations of which the customer is a member are
     * listed.
     */
    getOrganizations<T = PagedOrganization>(parameters?: GetOrganizations, callback?: never): Promise<T>;
    /**
     * This method creates an organization by passing the name of the organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator or agent. Note: Permission to create organizations can be switched to users with the
     * Jira administrator permission, using the **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    createOrganization<T = Organization$1>(parameters: CreateOrganization | undefined, callback: Callback<T>): Promise<void>;
    /**
     * This method creates an organization by passing the name of the organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator or agent. Note: Permission to create organizations can be switched to users with the
     * Jira administrator permission, using the **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    createOrganization<T = Organization$1>(parameters?: CreateOrganization, callback?: never): Promise<T>;
    /**
     * This method returns details of an organization. Use this method to get organization details whenever your
     * application component is passed an organization ID but needs to display other organization details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     *
     * **Response limitations**: Customers can only retrieve organization of which they are members.
     */
    getOrganization<T = Organization$1>(parameters: GetOrganization, callback: Callback<T>): Promise<void>;
    /**
     * This method returns details of an organization. Use this method to get organization details whenever your
     * application component is passed an organization ID but needs to display other organization details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     *
     * **Response limitations**: Customers can only retrieve organization of which they are members.
     */
    getOrganization<T = Organization$1>(parameters: GetOrganization, callback?: never): Promise<T>;
    /**
     * This method deletes an organization. Note that the organization is deleted regardless of other associations it may
     * have. For example, associations with service desks.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Jira
     * administrator.
     */
    deleteOrganization<T = void>(parameters: DeleteOrganization, callback: Callback<T>): Promise<void>;
    /**
     * This method deletes an organization. Note that the organization is deleted regardless of other associations it may
     * have. For example, associations with service desks.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Jira
     * administrator.
     */
    deleteOrganization<T = void>(parameters: DeleteOrganization, callback?: never): Promise<T>;
    /**
     * Returns the keys of all properties for an organization. Use this resource when you need to find out what additional
     * properties items have been added to an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     *
     * **Response limitations**: Customers can only access properties of organizations of which they are members.
     */
    getPropertiesKeys<T = PropertyKeys>(parameters: GetOrganizationPropertyKeys, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for an organization. Use this resource when you need to find out what additional
     * properties items have been added to an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     *
     * **Response limitations**: Customers can only access properties of organizations of which they are members.
     */
    getPropertiesKeys<T = PropertyKeys>(parameters: GetOrganizationPropertyKeys, callback?: never): Promise<T>;
    /**
     * Returns the value of a property from an organization. Use this method to obtain the JSON content for an
     * organization's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     *
     * **Response limitations**: Customers can only access properties of organizations of which they are members.
     */
    getProperty<T = EntityProperty>(parameters: GetOrganizationProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of a property from an organization. Use this method to obtain the JSON content for an
     * organization's property.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     *
     * **Response limitations**: Customers can only access properties of organizations of which they are members.
     */
    getProperty<T = EntityProperty>(parameters: GetOrganizationProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of a property for an organization. Use this resource to store custom data against an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service Desk Administrator or Agent.
     *
     * Note: Permission to manage organizations can be switched to users with the Jira administrator permission, using the
     * **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    setProperty<T = unknown>(parameters: SetOrganizationProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a property for an organization. Use this resource to store custom data against an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service Desk Administrator or Agent.
     *
     * Note: Permission to manage organizations can be switched to users with the Jira administrator permission, using the
     * **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    setProperty<T = unknown>(parameters: SetOrganizationProperty, callback?: never): Promise<T>;
    /**
     * Removes a property from an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service Desk Administrator or Agent.
     *
     * Note: Permission to manage organizations can be switched to users with the Jira administrator permission, using the
     * **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    deleteProperty<T = void>(parameters: DeleteOrganizationProperty, callback: Callback<T>): Promise<void>;
    /**
     * Removes a property from an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service Desk Administrator or Agent.
     *
     * Note: Permission to manage organizations can be switched to users with the Jira administrator permission, using the
     * **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    deleteProperty<T = void>(parameters: DeleteOrganizationProperty, callback?: never): Promise<T>;
    /**
     * This method returns all the users associated with an organization. Use this method where you want to provide a list
     * of users for an organization or determine if a user is associated with an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator or agent.
     */
    getUsersInOrganization<T = PagedUser>(parameters: GetUsersInOrganization, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all the users associated with an organization. Use this method where you want to provide a list
     * of users for an organization or determine if a user is associated with an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator or agent.
     */
    getUsersInOrganization<T = PagedUser>(parameters: GetUsersInOrganization, callback?: never): Promise<T>;
    /**
     * This method adds users to an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator or agent. Note: Permission to add users to an organization can be switched to users with
     * the Jira administrator permission, using the **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    addUsersToOrganization<T = void>(parameters: AddUsersToOrganization, callback: Callback<T>): Promise<void>;
    /**
     * This method adds users to an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator or agent. Note: Permission to add users to an organization can be switched to users with
     * the Jira administrator permission, using the **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    addUsersToOrganization<T = void>(parameters: AddUsersToOrganization, callback?: never): Promise<T>;
    /**
     * This method removes users from an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator or agent. Note: Permission to delete users from an organization can be switched to users
     * with the Jira administrator permission, using the **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    removeUsersFromOrganization<T = void>(parameters: RemoveUsersFromOrganization, callback: Callback<T>): Promise<void>;
    /**
     * This method removes users from an organization.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator or agent. Note: Permission to delete users from an organization can be switched to users
     * with the Jira administrator permission, using the **[Organization
     * management](https://confluence.atlassian.com/servicedeskcloud/setting-up-service-desk-users-732528877.html#Settingupservicedeskusers-manageorgsManageorganizations)**
     * feature.
     */
    removeUsersFromOrganization<T = void>(parameters: RemoveUsersFromOrganization, callback?: never): Promise<T>;
    /**
     * This method returns a list of all organizations associated with a service desk.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's agent.
     */
    getServiceDeskOrganizations<T = PagedOrganization>(parameters: GetOrganizations, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a list of all organizations associated with a service desk.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's agent.
     */
    getServiceDeskOrganizations<T = PagedOrganization>(parameters: GetOrganizations, callback?: never): Promise<T>;
    /**
     * This method adds an organization to a service desk. If the organization ID is already associated with the service
     * desk, no change is made and the resource returns a 204 success code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's agent.
     */
    addOrganization<T = void>(parameters: AddOrganization, callback: Callback<T>): Promise<void>;
    /**
     * This method adds an organization to a service desk. If the organization ID is already associated with the service
     * desk, no change is made and the resource returns a 204 success code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's agent.
     */
    addOrganization<T = void>(parameters: AddOrganization, callback?: never): Promise<T>;
    /**
     * This method removes an organization from a service desk. If the organization ID does not match an organization
     * associated with the service desk, no change is made and the resource returns a 204 success code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's agent.
     */
    removeOrganization<T = void>(parameters: RemoveOrganization, callback: Callback<T>): Promise<void>;
    /**
     * This method removes an organization from a service desk. If the organization ID does not match an organization
     * associated with the service desk, no change is made and the resource returns a 204 success code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's agent.
     */
    removeOrganization<T = void>(parameters: RemoveOrganization, callback?: never): Promise<T>;
}

declare class Request {
    private client;
    constructor(client: Client);
    /**
     * This method returns all customer requests for the user executing the query.
     *
     * The returned customer requests are ordered chronologically by the latest activity on each request. For example, the
     * latest status transition or comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the specified service desk.
     *
     * **Response limitations**: For customers, the list returned will include request they created (or were created on
     * their behalf) or are participating in only.
     */
    getCustomerRequests<T = PagedCustomerRequest>(parameters: GetCustomerRequests | undefined, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all customer requests for the user executing the query.
     *
     * The returned customer requests are ordered chronologically by the latest activity on each request. For example, the
     * latest status transition or comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the specified service desk.
     *
     * **Response limitations**: For customers, the list returned will include request they created (or were created on
     * their behalf) or are participating in only.
     */
    getCustomerRequests<T = PagedCustomerRequest>(parameters?: GetCustomerRequests, callback?: never): Promise<T>;
    /**
     * This method creates a customer request in a service desk.
     *
     * The JSON request must include the service desk and customer request type, as well as any fields that are required
     * for the request type. A list of the fields required by a customer request type can be obtained using
     * [servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/field](#api-servicedesk-serviceDeskId-requesttype-requestTypeId-field-get).
     *
     * The fields required for a customer request type depend on the user's permissions:
     *
     * - `raiseOnBehalfOf` is not available to Users who have the customer permission only.
     * - `requestParticipants` is not available to Users who have the customer permission only or if the feature is turned
     *   off for customers.
     *
     * `requestFieldValues` is a map of Jira field IDs and their values. See [Field input formats](#fieldformats), for
     * details of each field's JSON semantics and the values they can take.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to create requests in the specified service desk.
     */
    createCustomerRequest<T = CustomerRequest>(parameters: CreateCustomerRequest | undefined, callback: Callback<T>): Promise<void>;
    /**
     * This method creates a customer request in a service desk.
     *
     * The JSON request must include the service desk and customer request type, as well as any fields that are required
     * for the request type. A list of the fields required by a customer request type can be obtained using
     * [servicedesk/{serviceDeskId}/requesttype/{requestTypeId}/field](#api-servicedesk-serviceDeskId-requesttype-requestTypeId-field-get).
     *
     * The fields required for a customer request type depend on the user's permissions:
     *
     * - `raiseOnBehalfOf` is not available to Users who have the customer permission only.
     * - `requestParticipants` is not available to Users who have the customer permission only or if the feature is turned
     *   off for customers.
     *
     * `requestFieldValues` is a map of Jira field IDs and their values. See [Field input formats](#fieldformats), for
     * details of each field's JSON semantics and the values they can take.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to create requests in the specified service desk.
     */
    createCustomerRequest<T = CustomerRequest>(parameters?: CreateCustomerRequest, callback?: never): Promise<T>;
    /**
     * This method returns a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the specified service desk.
     *
     * **Response limitations**: For customers, only a request they created, was created on their behalf, or they are
     * participating in will be returned.
     */
    getCustomerRequestByIdOrKey<T = CustomerRequest>(parameters: GetCustomerRequestByIdOrKey, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the specified service desk.
     *
     * **Response limitations**: For customers, only a request they created, was created on their behalf, or they are
     * participating in will be returned.
     */
    getCustomerRequestByIdOrKey<T = CustomerRequest>(parameters: GetCustomerRequestByIdOrKey, callback?: never): Promise<T>;
    /**
     * This method returns all approvals on a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getApprovals<T = PagedApproval>(parameters: GetApprovals, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all approvals on a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getApprovals<T = PagedApproval>(parameters: GetApprovals, callback?: never): Promise<T>;
    /**
     * This method returns an approval. Use this method to determine the status of an approval and the list of approvers.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getApprovalById<T = Approval>(parameters: GetApprovalById, callback: Callback<T>): Promise<void>;
    /**
     * This method returns an approval. Use this method to determine the status of an approval and the list of approvers.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getApprovalById<T = Approval>(parameters: GetApprovalById, callback?: never): Promise<T>;
    /**
     * This method enables a user to **Approve** or **Decline** an approval on a customer request. The approval is assumed
     * to be owned by the user making the call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * is assigned to the approval request.
     */
    answerApproval<T = Approval>(parameters: AnswerApproval, callback: Callback<T>): Promise<void>;
    /**
     * This method enables a user to **Approve** or **Decline** an approval on a customer request. The approval is assumed
     * to be owned by the user making the call.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * is assigned to the approval request.
     */
    answerApproval<T = Approval>(parameters: AnswerApproval, callback?: never): Promise<T>;
    /**
     * This method returns all the attachments for a customer requests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     *
     * **Response limitations**: Customers will only get a list of public attachments.
     */
    getAttachmentsForRequest<T = PagedAttachment>(parameters: GetAttachmentsForRequest, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all the attachments for a customer requests.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     *
     * **Response limitations**: Customers will only get a list of public attachments.
     */
    getAttachmentsForRequest<T = PagedAttachment>(parameters: GetAttachmentsForRequest, callback?: never): Promise<T>;
    /**
     * This method adds one or more temporary files (attached to the request's service desk using
     * [servicedesk/{serviceDeskId}/attachTemporaryFile](#api-servicedesk-serviceDeskId-attachTemporaryFile-post)) as
     * attachments to a customer request and set the attachment visibility using the `public` flag. Also, it is possible
     * to include a comment with the attachments.
     *
     * To get a list of attachments for a comment on the request use
     * [servicedeskapi/request/{issueIdOrKey}/comment/{commentId}/attachment](#api-request-issueIdOrKey-comment-commentId-attachment-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to add an attachment.
     *
     * **Request limitations**: Customers can set attachments to public visibility only.
     */
    createAttachment<T = AttachmentCreateResult>(parameters: CreateAttachment, callback: Callback<T>): Promise<void>;
    /**
     * This method adds one or more temporary files (attached to the request's service desk using
     * [servicedesk/{serviceDeskId}/attachTemporaryFile](#api-servicedesk-serviceDeskId-attachTemporaryFile-post)) as
     * attachments to a customer request and set the attachment visibility using the `public` flag. Also, it is possible
     * to include a comment with the attachments.
     *
     * To get a list of attachments for a comment on the request use
     * [servicedeskapi/request/{issueIdOrKey}/comment/{commentId}/attachment](#api-request-issueIdOrKey-comment-commentId-attachment-get).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to add an attachment.
     *
     * **Request limitations**: Customers can set attachments to public visibility only.
     */
    createAttachment<T = AttachmentCreateResult>(parameters: CreateAttachment, callback?: never): Promise<T>;
    /**
     * Returns the contents of an attachment.
     *
     * To return a thumbnail of the attachment, use
     * [servicedeskapi/request/{issueIdOrKey}/attachment/{attachmentId}/thumbnail](#api-rest-servicedeskapi-request-issueidorkey-attachment-attachmentid-thumbnail-get).
     *
     * **[Permissions](#permissions) required:** For the issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getAttachmentContent<T = unknown>(parameters: GetAttachmentContent, callback: Callback<T>): Promise<void>;
    /**
     * Returns the contents of an attachment.
     *
     * To return a thumbnail of the attachment, use
     * [servicedeskapi/request/{issueIdOrKey}/attachment/{attachmentId}/thumbnail](#api-rest-servicedeskapi-request-issueidorkey-attachment-attachmentid-thumbnail-get).
     *
     * **[Permissions](#permissions) required:** For the issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getAttachmentContent<T = unknown>(parameters: GetAttachmentContent, callback?: never): Promise<T>;
    /**
     * Returns the thumbnail of an attachment.
     *
     * To return the attachment contents, use
     * [servicedeskapi/request/{issueIdOrKey}/attachment/{attachmentId}](#api-rest-servicedeskapi-request-issueidorkey-attachment-attachmentid-get).
     *
     * **[Permissions](#permissions) required:** For the issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getAttachmentThumbnail<T = unknown>(parameters: GetAttachmentThumbnail, callback: Callback<T>): Promise<void>;
    /**
     * Returns the thumbnail of an attachment.
     *
     * To return the attachment contents, use
     * [servicedeskapi/request/{issueIdOrKey}/attachment/{attachmentId}](#api-rest-servicedeskapi-request-issueidorkey-attachment-attachmentid-get).
     *
     * **[Permissions](#permissions) required:** For the issue containing the attachment:
     *
     * - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is
     *   in.
     * - If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission
     *   to view the issue.
     */
    getAttachmentThumbnail<T = unknown>(parameters: GetAttachmentThumbnail, callback?: never): Promise<T>;
    /**
     * This method returns all comments on a customer request. No permissions error is provided if, for example, the user
     * doesn't have access to the service desk or request, the method simply returns an empty response.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     *
     * **Response limitations**: Customers are returned public comments only.
     */
    getRequestComments<T = PagedComment>(parameters: GetRequestComments, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all comments on a customer request. No permissions error is provided if, for example, the user
     * doesn't have access to the service desk or request, the method simply returns an empty response.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     *
     * **Response limitations**: Customers are returned public comments only.
     */
    getRequestComments<T = PagedComment>(parameters: GetRequestComments, callback?: never): Promise<T>;
    /**
     * This method creates a public or private (internal) comment on a customer request, with the comment visibility set
     * by `public`. The user recorded as the author of the comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * has Add Comments permission.
     *
     * **Request limitations**: Customers can set comments to public visibility only.
     */
    createRequestComment<T = Comment>(parameters: CreateRequestComment, callback: Callback<T>): Promise<void>;
    /**
     * This method creates a public or private (internal) comment on a customer request, with the comment visibility set
     * by `public`. The user recorded as the author of the comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * has Add Comments permission.
     *
     * **Request limitations**: Customers can set comments to public visibility only.
     */
    createRequestComment<T = Comment>(parameters: CreateRequestComment, callback?: never): Promise<T>;
    /**
     * This method returns details of a customer request's comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     *
     * **Response limitations**: Customers can only view public comments on requests where they are the reporter or a
     * participant whereas agents can see both internal and public comments.
     */
    getRequestCommentById<T = Comment>(parameters: GetRequestCommentById, callback: Callback<T>): Promise<void>;
    /**
     * This method returns details of a customer request's comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     *
     * **Response limitations**: Customers can only view public comments on requests where they are the reporter or a
     * participant whereas agents can see both internal and public comments.
     */
    getRequestCommentById<T = Comment>(parameters: GetRequestCommentById, callback?: never): Promise<T>;
    /**
     * This method returns the attachments referenced in a comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     *
     * **Response limitations**: Customers can only view public comments, and retrieve their attachments, on requests
     * where they are the reporter or a participant whereas agents can see both internal and public comments.
     */
    getCommentAttachments<T = PagedAttachment>(parameters: GetCommentAttachments, callback: Callback<T>): Promise<void>;
    /**
     * This method returns the attachments referenced in a comment.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     *
     * **Response limitations**: Customers can only view public comments, and retrieve their attachments, on requests
     * where they are the reporter or a participant whereas agents can see both internal and public comments.
     */
    getCommentAttachments<T = PagedAttachment>(parameters: GetCommentAttachments, callback?: never): Promise<T>;
    /**
     * This method returns the notification subscription status of the user making the request. Use this method to
     * determine if the user is subscribed to a customer request's notifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getSubscriptionStatus<T = RequestNotificationSubscription>(parameters: GetSubscriptionStatus, callback: Callback<T>): Promise<void>;
    /**
     * This method returns the notification subscription status of the user making the request. Use this method to
     * determine if the user is subscribed to a customer request's notifications.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getSubscriptionStatus<T = RequestNotificationSubscription>(parameters: GetSubscriptionStatus, callback?: never): Promise<T>;
    /**
     * This method subscribes the user to receiving notifications from a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    subscribe<T = void>(parameters: Subscribe, callback: Callback<T>): Promise<void>;
    /**
     * This method subscribes the user to receiving notifications from a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    subscribe<T = void>(parameters: Subscribe, callback?: never): Promise<T>;
    /**
     * This method unsubscribes the user from notifications from a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    unsubscribe<T = void>(parameters: Unsubscribe, callback: Callback<T>): Promise<void>;
    /**
     * This method unsubscribes the user from notifications from a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    unsubscribe<T = void>(parameters: Unsubscribe, callback?: never): Promise<T>;
    /**
     * This method returns a list of all the participants on a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getRequestParticipants<T = PagedUser>(parameters: GetRequestParticipants, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a list of all the participants on a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getRequestParticipants<T = PagedUser>(parameters: GetRequestParticipants, callback?: never): Promise<T>;
    /**
     * This method adds participants to a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to manage participants on the customer request.
     *
     * Note, participants can be added when creating a customer request using the
     * [request](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-request/) resource, by defining
     * the participants in the `requestParticipants` field.
     */
    addRequestParticipants<T = PagedUser>(parameters: AddRequestParticipants, callback: Callback<T>): Promise<void>;
    /**
     * This method adds participants to a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to manage participants on the customer request.
     *
     * Note, participants can be added when creating a customer request using the
     * [request](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-request/) resource, by defining
     * the participants in the `requestParticipants` field.
     */
    addRequestParticipants<T = PagedUser>(parameters: AddRequestParticipants, callback?: never): Promise<T>;
    /**
     * This method removes participants from a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to manage participants on the customer request.
     */
    removeRequestParticipants<T = PagedUser>(parameters: RemoveRequestParticipants, callback: Callback<T>): Promise<void>;
    /**
     * This method removes participants from a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to manage participants on the customer request.
     */
    removeRequestParticipants<T = PagedUser>(parameters: RemoveRequestParticipants, callback?: never): Promise<T>;
    /**
     * This method returns all the SLA records on a customer request. A customer request can have zero or more SLAs. Each
     * SLA can have recordings for zero or more "completed cycles" and zero or 1 "ongoing cycle". Each cycle includes
     * information on when it started and stopped, and whether it breached the SLA goal.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Agent
     * for the Service Desk containing the queried customer request.
     */
    getSlaInformation<T = PagedSlaInformation>(parameters: GetSlaInformation, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all the SLA records on a customer request. A customer request can have zero or more SLAs. Each
     * SLA can have recordings for zero or more "completed cycles" and zero or 1 "ongoing cycle". Each cycle includes
     * information on when it started and stopped, and whether it breached the SLA goal.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Agent
     * for the Service Desk containing the queried customer request.
     */
    getSlaInformation<T = PagedSlaInformation>(parameters: GetSlaInformation, callback?: never): Promise<T>;
    /**
     * This method returns the details for an SLA on a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Agent
     * for the Service Desk containing the queried customer request.
     */
    getSlaInformationById<T = SlaInformation>(parameters: GetSlaInformationById, callback: Callback<T>): Promise<void>;
    /**
     * This method returns the details for an SLA on a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Agent
     * for the Service Desk containing the queried customer request.
     */
    getSlaInformationById<T = SlaInformation>(parameters: GetSlaInformationById, callback?: never): Promise<T>;
    /**
     * This method returns a list of all the statuses a customer Request has achieved. A status represents the state of an
     * issue in its workflow. An issue can have one active status only. The list returns the status history in
     * chronological order, most recent (current) status first.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getCustomerRequestStatus<T = PagedCustomerRequestStatus>(parameters: GetCustomerRequestStatus, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a list of all the statuses a customer Request has achieved. A status represents the state of an
     * issue in its workflow. An issue can have one active status only. The list returns the status history in
     * chronological order, most recent (current) status first.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getCustomerRequestStatus<T = PagedCustomerRequestStatus>(parameters: GetCustomerRequestStatus, callback?: never): Promise<T>;
    /**
     * This method returns a list of transitions, the workflow processes that moves a customer request from one status to
     * another, that the user can perform on a request. Use this method to provide a user with a list if the actions they
     * can take on a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getCustomerTransitions<T = PagedCustomerTransition>(parameters: GetCustomerTransitions, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a list of transitions, the workflow processes that moves a customer request from one status to
     * another, that the user can perform on a request. Use this method to provide a user with a list if the actions they
     * can take on a customer request.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the customer request.
     */
    getCustomerTransitions<T = PagedCustomerTransition>(parameters: GetCustomerTransitions, callback?: never): Promise<T>;
    /**
     * This method performs a customer transition for a given request and transition. An optional comment can be included
     * to provide a reason for the transition.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: The
     * user must be able to view the request and have the Transition Issues permission. If a comment is passed the user
     * must have the Add Comments permission.
     */
    performCustomerTransition<T = void>(parameters: PerformCustomerTransition, callback: Callback<T>): Promise<void>;
    /**
     * This method performs a customer transition for a given request and transition. An optional comment can be included
     * to provide a reason for the transition.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: The
     * user must be able to view the request and have the Transition Issues permission. If a comment is passed the user
     * must have the Add Comments permission.
     */
    performCustomerTransition<T = void>(parameters: PerformCustomerTransition, callback?: never): Promise<T>;
    /**
     * This method retrieves a feedback of a request using it's `requestKey` or `requestId`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * has view request permissions.
     */
    getFeedback<T = CsatFeedbackFull>(parameters: GetFeedback, callback: Callback<T>): Promise<void>;
    /**
     * This method retrieves a feedback of a request using it's `requestKey` or `requestId`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * has view request permissions.
     */
    getFeedback<T = CsatFeedbackFull>(parameters: GetFeedback, callback?: never): Promise<T>;
    /**
     * This method adds a feedback on a request using it's `requestKey` or `requestId`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * must be the reporter or an Atlassian Connect app.
     */
    postFeedback<T = CsatFeedbackFull>(parameters: PostFeedback, callback: Callback<T>): Promise<void>;
    /**
     * This method adds a feedback on a request using it's `requestKey` or `requestId`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * must be the reporter or an Atlassian Connect app.
     */
    postFeedback<T = CsatFeedbackFull>(parameters: PostFeedback, callback?: never): Promise<T>;
    /**
     * This method deletes the feedback of request using it's `requestKey` or `requestId`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * must be the reporter or an Atlassian Connect app.
     */
    deleteFeedback<T = void>(parameters: DeleteFeedback, callback: Callback<T>): Promise<void>;
    /**
     * This method deletes the feedback of request using it's `requestKey` or `requestId`
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * must be the reporter or an Atlassian Connect app.
     */
    deleteFeedback<T = void>(parameters: DeleteFeedback, callback?: never): Promise<T>;
}

declare class RequestType {
    private client;
    constructor(client: Client);
    /**
     * This method returns all customer request types used in the Jira Service Management instance, optionally filtered by
     * a query string.
     *
     * Use [servicedeskapi/servicedesk/{serviceDeskId}/requesttype](#api-servicedesk-serviceDeskId-requesttype-get) to
     * find the customer request types supported by a specific service desk.
     *
     * The returned list of customer request types can be filtered using the `query` parameter. The parameter is matched
     * against the customer request types' `name` or `description`. For example, searching for "Install", "Inst", "Equi",
     * or "Equipment" will match a customer request type with the _name_ "Equipment Installation Request".
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     */
    getAllRequestTypes<T = PagedRequestType>(parameters: GetAllRequestTypes | undefined, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all customer request types used in the Jira Service Management instance, optionally filtered by
     * a query string.
     *
     * Use [servicedeskapi/servicedesk/{serviceDeskId}/requesttype](#api-servicedesk-serviceDeskId-requesttype-get) to
     * find the customer request types supported by a specific service desk.
     *
     * The returned list of customer request types can be filtered using the `query` parameter. The parameter is matched
     * against the customer request types' `name` or `description`. For example, searching for "Install", "Inst", "Equi",
     * or "Equipment" will match a customer request type with the _name_ "Equipment Installation Request".
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     */
    getAllRequestTypes<T = PagedRequestType>(parameters?: GetAllRequestTypes, callback?: never): Promise<T>;
}

declare class ServiceDesk {
    private client;
    constructor(client: Client);
    /**
     * This method returns all the service desks in the Jira Service Management instance that the user has permission to
     * access. Use this method where you need a list of service desks or need to locate a service desk by name or
     * keyword.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     */
    getServiceDesks<T = PagedServiceDesk>(parameters: GetServiceDesks | undefined, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all the service desks in the Jira Service Management instance that the user has permission to
     * access. Use this method where you need a list of service desks or need to locate a service desk by name or
     * keyword.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Any
     */
    getServiceDesks<T = PagedServiceDesk>(parameters?: GetServiceDesks, callback?: never): Promise<T>;
    /**
     * This method returns a service desk. Use this method to get service desk details whenever your application component
     * is passed a service desk ID but needs to display other service desk details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the Service Desk. For example, being the Service Desk's Administrator or one of its Agents or
     * Users.
     */
    getServiceDeskById<T = ServiceDesk$1>(parameters: GetServiceDeskById, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a service desk. Use this method to get service desk details whenever your application component
     * is passed a service desk ID but needs to display other service desk details.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the Service Desk. For example, being the Service Desk's Administrator or one of its Agents or
     * Users.
     */
    getServiceDeskById<T = ServiceDesk$1>(parameters: GetServiceDeskById, callback?: never): Promise<T>;
    /**
     * This method adds one or more temporary attachments to a service desk, which can then be permanently attached to a
     * customer request using
     * [servicedeskapi/request/{issueIdOrKey}/attachment](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-servicedesk/#api-rest-servicedeskapi-servicedesk-servicedeskid-attachtemporaryfile-post).
     *
     * **Note**: It is possible for a service desk administrator to turn off the ability to add attachments to a service
     * desk.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to add attachments in this Service Desk.
     */
    attachTemporaryFile<T = unknown>(parameters: AttachTemporaryFile, callback: Callback<T>): Promise<void>;
    /**
     * This method adds one or more temporary attachments to a service desk, which can then be permanently attached to a
     * customer request using
     * [servicedeskapi/request/{issueIdOrKey}/attachment](https://developer.atlassian.com/cloud/jira/service-desk/rest/api-group-servicedesk/#api-rest-servicedeskapi-servicedesk-servicedeskid-attachtemporaryfile-post).
     *
     * **Note**: It is possible for a service desk administrator to turn off the ability to add attachments to a service
     * desk.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to add attachments in this Service Desk.
     */
    attachTemporaryFile<T = unknown>(parameters: AttachTemporaryFile, callback?: never): Promise<T>;
    /**
     * This method returns a list of the customers on a service desk.
     *
     * The returned list of customers can be filtered using the `query` parameter. The parameter is matched against
     * customers' `displayName`, `name`, or `email`. For example, searching for "John", "Jo", "Smi", or "Smith" will match
     * a user with display name "John Smith".
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view this Service Desk's customers.
     */
    getCustomers<T = PagedUser>(parameters: GetCustomers, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a list of the customers on a service desk.
     *
     * The returned list of customers can be filtered using the `query` parameter. The parameter is matched against
     * customers' `displayName`, `name`, or `email`. For example, searching for "John", "Jo", "Smi", or "Smith" will match
     * a user with display name "John Smith".
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view this Service Desk's customers.
     */
    getCustomers<T = PagedUser>(parameters: GetCustomers, callback?: never): Promise<T>;
    /**
     * Adds one or more customers to a service desk. If any of the passed customers are associated with the service desk,
     * no changes will be made for those customers and the resource returns a 204 success code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator
     */
    addCustomers<T = void>(parameters: AddCustomers, callback: Callback<T>): Promise<void>;
    /**
     * Adds one or more customers to a service desk. If any of the passed customers are associated with the service desk,
     * no changes will be made for those customers and the resource returns a 204 success code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator
     */
    addCustomers<T = void>(parameters: AddCustomers, callback?: never): Promise<T>;
    /**
     * This method removes one or more customers from a service desk. The service desk must have closed access. If any of
     * the passed customers are not associated with the service desk, no changes will be made for those customers and the
     * resource returns a 204 success code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Services desk administrator
     */
    removeCustomers<T = void>(parameters: RemoveCustomers, callback: Callback<T>): Promise<void>;
    /**
     * This method removes one or more customers from a service desk. The service desk must have closed access. If any of
     * the passed customers are not associated with the service desk, no changes will be made for those customers and the
     * resource returns a 204 success code.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Services desk administrator
     */
    removeCustomers<T = void>(parameters: RemoveCustomers, callback?: never): Promise<T>;
    /**
     * Returns articles which match the given query and belong to the knowledge base linked to the service desk.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the service desk.
     */
    getArticles<T = PagedArticle>(parameters: GetArticles, callback: Callback<T>): Promise<void>;
    /**
     * Returns articles which match the given query and belong to the knowledge base linked to the service desk.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the service desk.
     */
    getArticles<T = PagedArticle>(parameters: GetArticles, callback?: never): Promise<T>;
    /**
     * This method returns the queues in a service desk. To include a customer request count for each queue (in the
     * `issueCount` field) in the response, set the query parameter `includeCount` to true (its default is false).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * service desk's Agent.
     */
    getQueues<T = PagedQueue>(parameters: GetQueues, callback: Callback<T>): Promise<void>;
    /**
     * This method returns the queues in a service desk. To include a customer request count for each queue (in the
     * `issueCount` field) in the response, set the query parameter `includeCount` to true (its default is false).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * service desk's Agent.
     */
    getQueues<T = PagedQueue>(parameters: GetQueues, callback?: never): Promise<T>;
    /**
     * This method returns a specific queues in a service desk. To include a customer request count for the queue (in the
     * `issueCount` field) in the response, set the query parameter `includeCount` to true (its default is false).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * service desk's Agent.
     */
    getQueue<T = Queue>(parameters: GetQueue, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a specific queues in a service desk. To include a customer request count for the queue (in the
     * `issueCount` field) in the response, set the query parameter `includeCount` to true (its default is false).
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * service desk's Agent.
     */
    getQueue<T = Queue>(parameters: GetQueue, callback?: never): Promise<T>;
    /**
     * This method returns the customer requests in a queue. Only fields that the queue is configured to show are
     * returned. For example, if a queue is configured to show description and due date, then only those two fields are
     * returned for each customer request in the queue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's agent.
     */
    getIssuesInQueue<T = PagedIssue>(parameters: GetIssuesInQueue, callback: Callback<T>): Promise<void>;
    /**
     * This method returns the customer requests in a queue. Only fields that the queue is configured to show are
     * returned. For example, if a queue is configured to show description and due date, then only those two fields are
     * returned for each customer request in the queue.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's agent.
     */
    getIssuesInQueue<T = PagedIssue>(parameters: GetIssuesInQueue, callback?: never): Promise<T>;
    /**
     * This method returns all customer request types from a service desk. There are two parameters for filtering the
     * returned list:
     *
     * - `groupId` which filters the results to items in the customer request type group.
     * - `searchQuery` which is matched against request types' `name` or `description`. For example, the strings "Install",
     *   "Inst", "Equi", or "Equipment" will match a request type with the _name_ "Equipment Installation Request".
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the service desk.
     */
    getRequestTypes<T = PagedRequestType>(parameters: GetRequestTypes, callback: Callback<T>): Promise<void>;
    /**
     * This method returns all customer request types from a service desk. There are two parameters for filtering the
     * returned list:
     *
     * - `groupId` which filters the results to items in the customer request type group.
     * - `searchQuery` which is matched against request types' `name` or `description`. For example, the strings "Install",
     *   "Inst", "Equi", or "Equipment" will match a request type with the _name_ "Equipment Installation Request".
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the service desk.
     */
    getRequestTypes<T = PagedRequestType>(parameters: GetRequestTypes, callback?: never): Promise<T>;
    /**
     * This method enables a customer request type to be added to a service desk based on an issue type. Note that not all
     * customer request type fields can be specified in the request and these fields are given the following default
     * values:
     *
     * - Request type icon is given the headset icon.
     * - Request type groups is left empty, which means this customer request type will not be visible on the [customer
     *   portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html).
     * - Request type status mapping is left empty, so the request type has no custom status mapping but inherits the status
     *   map from the issue type upon which it is based.
     * - Request type field mapping is set to show the required fields as specified by the issue type used to create the
     *   customer request type.
     *
     * These fields can be updated by a service desk administrator using the **Request types** option in **Project
     * settings**.\
     * Request Types are created in next-gen projects by creating Issue Types. Please use the Jira Cloud Platform Create
     * issue type endpoint instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's administrator
     */
    createRequestType<T = RequestType$1>(parameters: CreateRequestType, callback: Callback<T>): Promise<void>;
    /**
     * This method enables a customer request type to be added to a service desk based on an issue type. Note that not all
     * customer request type fields can be specified in the request and these fields are given the following default
     * values:
     *
     * - Request type icon is given the headset icon.
     * - Request type groups is left empty, which means this customer request type will not be visible on the [customer
     *   portal](https://confluence.atlassian.com/servicedeskcloud/configuring-the-customer-portal-732528918.html).
     * - Request type status mapping is left empty, so the request type has no custom status mapping but inherits the status
     *   map from the issue type upon which it is based.
     * - Request type field mapping is set to show the required fields as specified by the issue type used to create the
     *   customer request type.
     *
     * These fields can be updated by a service desk administrator using the **Request types** option in **Project
     * settings**.\
     * Request Types are created in next-gen projects by creating Issue Types. Please use the Jira Cloud Platform Create
     * issue type endpoint instead.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk's administrator
     */
    createRequestType<T = RequestType$1>(parameters: CreateRequestType, callback?: never): Promise<T>;
    /**
     * This method returns a customer request type from a service desk.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the service desk.
     */
    getRequestTypeById<T = RequestType$1>(parameters: GetRequestTypeById, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a customer request type from a service desk.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to access the service desk.
     */
    getRequestTypeById<T = RequestType$1>(parameters: GetRequestTypeById, callback?: never): Promise<T>;
    /**
     * This method deletes a customer request type from a service desk, and removes it from all customer requests.\
     * This only supports classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator.
     */
    deleteRequestType<T = void>(parameters: DeleteRequestType, callback: Callback<T>): Promise<void>;
    /**
     * This method deletes a customer request type from a service desk, and removes it from all customer requests.\
     * This only supports classic projects.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Service desk administrator.
     */
    deleteRequestType<T = void>(parameters: DeleteRequestType, callback?: never): Promise<T>;
    /**
     * This method returns the fields for a service desk's customer request type.
     *
     * Also, the following information about the user's permissions for the request type is returned:
     *
     * - `canRaiseOnBehalfOf` returns `true` if the user has permission to raise customer requests on behalf of other
     *   customers. Otherwise, returns `false`.
     * - `canAddRequestParticipants` returns `true` if the user can add customer request participants. Otherwise, returns
     *   `false`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the Service Desk. However, hidden fields would be visible to only Service desk's Administrator.
     */
    getRequestTypeFields<T = CustomerRequestCreateMeta>(parameters: GetRequestTypeFields, callback: Callback<T>): Promise<void>;
    /**
     * This method returns the fields for a service desk's customer request type.
     *
     * Also, the following information about the user's permissions for the request type is returned:
     *
     * - `canRaiseOnBehalfOf` returns `true` if the user has permission to raise customer requests on behalf of other
     *   customers. Otherwise, returns `false`.
     * - `canAddRequestParticipants` returns `true` if the user can add customer request participants. Otherwise, returns
     *   `false`.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the Service Desk. However, hidden fields would be visible to only Service desk's Administrator.
     */
    getRequestTypeFields<T = CustomerRequestCreateMeta>(parameters: GetRequestTypeFields, callback?: never): Promise<T>;
    /**
     * Returns the keys of all properties for a request type.
     *
     * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore the keys of all
     * properties for a request type are also available by calling the Jira Cloud Platform [Get issue type property
     * keys](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-get)
     * endpoint.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: The
     * user must have permission to view the request type.
     */
    getPropertiesKeys<T = PropertyKeys>(parameters: GetPropertiesKeys, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for a request type.
     *
     * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore the keys of all
     * properties for a request type are also available by calling the Jira Cloud Platform [Get issue type property
     * keys](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-get)
     * endpoint.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: The
     * user must have permission to view the request type.
     */
    getPropertiesKeys<T = PropertyKeys>(parameters: GetPropertiesKeys, callback?: never): Promise<T>;
    /**
     * Returns the value of the property from a request type.
     *
     * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore also available by
     * calling the Jira Cloud Platform [Get issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-get)
     * endpoint.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * must have permission to view the request type.
     */
    getProperty<T = EntityProperty>(parameters: GetProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of the property from a request type.
     *
     * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore also available by
     * calling the Jira Cloud Platform [Get issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-get)
     * endpoint.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: User
     * must have permission to view the request type.
     */
    getProperty<T = EntityProperty>(parameters: GetProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of a request type property. Use this resource to store custom data against a request type.
     *
     * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be set by
     * calling the Jira Cloud Platform [Set issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-put)
     * endpoint.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Jira
     * project administrator with a Jira Service Management agent license.
     */
    setProperty<T = unknown>(parameters: SetProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of a request type property. Use this resource to store custom data against a request type.
     *
     * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be set by
     * calling the Jira Cloud Platform [Set issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-put)
     * endpoint.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Jira
     * project administrator with a Jira Service Management agent license.
     */
    setProperty<T = unknown>(parameters: SetProperty, callback?: never): Promise<T>;
    /**
     * Removes a property from a request type.
     *
     * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be deleted by
     * calling the Jira Cloud Platform [Delete issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-delete)
     * endpoint.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Jira
     * project administrator with a Jira Service Management agent license.
     */
    deleteProperty<T = void>(parameters: DeleteProperty, callback: Callback<T>): Promise<void>;
    /**
     * Removes a property from a request type.
     *
     * Properties for a Request Type in next-gen are stored as Issue Type properties and therefore can also be deleted by
     * calling the Jira Cloud Platform [Delete issue type
     * property](https://developer.atlassian.com/cloud/jira/platform/rest/v3/#api-rest-api-3-issuetype-issueTypeId-properties-propertyKey-delete)
     * endpoint.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**: Jira
     * project administrator with a Jira Service Management agent license.
     */
    deleteProperty<T = void>(parameters: DeleteProperty, callback?: never): Promise<T>;
    /**
     * This method returns a service desk's customer request type groups. Jira Service Management administrators can
     * arrange the customer request type groups in an arbitrary order for display on the customer portal; the groups are
     * returned in this order.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the service desk.
     */
    getRequestTypeGroups<T = PagedRequestTypeGroup>(parameters: GetRequestTypeGroups, callback: Callback<T>): Promise<void>;
    /**
     * This method returns a service desk's customer request type groups. Jira Service Management administrators can
     * arrange the customer request type groups in an arbitrary order for display on the customer portal; the groups are
     * returned in this order.
     *
     * **[Permissions](https://developer.atlassian.com/cloud/jira/service-desk/rest/intro/#permissions) required**:
     * Permission to view the service desk.
     */
    getRequestTypeGroups<T = PagedRequestTypeGroup>(parameters: GetRequestTypeGroups, callback?: never): Promise<T>;
    private _convertToFile;
    private _streamToBlob;
}

declare class ServiceDeskClient extends BaseClient {
    customer: Customer;
    info: Info;
    insights: Insight;
    knowledgeBase: KnowledgeBase;
    organization: Organization;
    request: Request;
    requestType: RequestType;
    serviceDesk: ServiceDesk;
}

type index$2_Customer = Customer;
declare const index$2_Customer: typeof Customer;
type index$2_Info = Info;
declare const index$2_Info: typeof Info;
type index$2_Insight = Insight;
declare const index$2_Insight: typeof Insight;
type index$2_KnowledgeBase = KnowledgeBase;
declare const index$2_KnowledgeBase: typeof KnowledgeBase;
type index$2_Organization = Organization;
declare const index$2_Organization: typeof Organization;
type index$2_Request = Request;
declare const index$2_Request: typeof Request;
type index$2_RequestType = RequestType;
declare const index$2_RequestType: typeof RequestType;
type index$2_ServiceDesk = ServiceDesk;
declare const index$2_ServiceDesk: typeof ServiceDesk;
type index$2_ServiceDeskClient = ServiceDeskClient;
declare const index$2_ServiceDeskClient: typeof ServiceDeskClient;
declare namespace index$2 {
  export { index$2_Customer as Customer, index$2_Info as Info, index$2_Insight as Insight, index$2_KnowledgeBase as KnowledgeBase, index$2_Organization as Organization, index$2_Request as Request, index$2_RequestType as RequestType, index$2_ServiceDesk as ServiceDesk, index$2_ServiceDeskClient as ServiceDeskClient, index$4 as ServiceDeskModels, index$3 as ServiceDeskParameters };
}

declare class Backlog {
    private client;
    constructor(client: Client);
    /**
     * Move issues to the backlog.\
     * This operation is equivalent to remove future and active sprints from a given set of issues. At most 50 issues may
     * be moved at once.
     */
    moveIssuesToBacklog<T = void>(parameters: MoveIssuesToBacklog, callback: Callback<T>): Promise<void>;
    /**
     * Move issues to the backlog.\
     * This operation is equivalent to remove future and active sprints from a given set of issues. At most 50 issues may
     * be moved at once.
     */
    moveIssuesToBacklog<T = void>(parameters: MoveIssuesToBacklog, callback?: never): Promise<T>;
    /**
     * Move issues to the backlog of a particular board (if they are already on that board).\
     * This operation is equivalent to remove future and active sprints from a given set of issues if the board has
     * sprints If the board does not have sprints this will put the issues back into the backlog from the board. At most
     * 50 issues may be moved at once.
     */
    moveIssuesToBacklogForBoard<T = void>(parameters: MoveIssuesToBacklogForBoard, callback: Callback<T>): Promise<void>;
    /**
     * Move issues to the backlog of a particular board (if they are already on that board).\
     * This operation is equivalent to remove future and active sprints from a given set of issues if the board has
     * sprints If the board does not have sprints this will put the issues back into the backlog from the board. At most
     * 50 issues may be moved at once.
     */
    moveIssuesToBacklogForBoard<T = void>(parameters: MoveIssuesToBacklogForBoard, callback?: never): Promise<T>;
}

interface AvatarUrls {
    /** The URL of the item's 16x16 pixel avatar. */
    '16x16'?: string;
    /** The URL of the item's 24x24 pixel avatar. */
    '24x24'?: string;
    /** The URL of the item's 32x32 pixel avatar. */
    '32x32'?: string;
    /** The URL of the item's 48x48 pixel avatar. */
    '48x48'?: string;
}

/** Details about a board. */
interface Board$1 {
    /** The users and groups who own the board. */
    admins?: {
        groups?: {
            name?: string;
            self?: string;
        }[];
        users?: {
            /**
             * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
             * _5b10ac8d82e05b22cc7d4ef5_.
             */
            accountId?: string;
            /** Whether the user is active. */
            active?: boolean;
            avatarUrls?: AvatarUrls;
            /** The display name of the user. Depending on the user’s privacy setting, this may return an alternative value. */
            displayName?: string;
            /** The URL of the user. */
            self?: string;
        }[];
    };
    /** Whether the board can be edited. */
    canEdit?: boolean;
    /** Whether the board is selected as a favorite. */
    favourite?: boolean;
    /** The ID of the board. */
    id?: number;
    /** Whether the board is private. */
    isPrivate?: boolean;
    /** The container that the board is located in. */
    location?: {
        avatarURI?: string;
        displayName?: string;
        name?: string;
        projectId?: number;
        projectKey?: string;
        projectName?: string;
        projectTypeKey?: string;
        userAccountId?: string;
        userId?: number;
    };
    /** The name of the board. */
    name?: string;
    /** The URL of the board. */
    self?: string;
    /** The type the board. */
    type?: string;
}

/** Details about a board. */
interface CreateBoard {
    /** The users and groups who own the board. */
    admins?: {
        groups?: {
            name?: string;
            self?: string;
        }[];
        users?: {
            /**
             * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
             * _5b10ac8d82e05b22cc7d4ef5_.
             */
            accountId?: string;
            /** Whether the user is active. */
            active?: boolean;
            avatarUrls?: AvatarUrls;
            /** The display name of the user. Depending on the user’s privacy setting, this may return an alternative value. */
            displayName?: string;
            /** The URL of the user. */
            self?: string;
        }[];
    };
    /** Whether the board can be edited. */
    canEdit?: boolean;
    /** Whether the board is selected as a favorite. */
    favourite?: boolean;
    /** The ID of the board. */
    id?: number;
    /** Whether the board is private. */
    isPrivate?: boolean;
    /** The container that the board is located in. */
    location?: {
        avatarURI?: string;
        displayName?: string;
        name?: string;
        projectId?: number;
        projectKey?: string;
        projectName?: string;
        projectTypeKey?: string;
        userAccountId?: string;
        userId?: number;
    };
    /** The name of the board. */
    name?: string;
    /** The URL of the board. */
    self?: string;
    /** The type the board. */
    type?: string;
}

interface Epic$1 {
    id: number;
    self: string;
    name: string;
    summary: string;
    color: {
        key: string;
    };
    done: boolean;
}

/** Whether there is data for the properties supplied in a query */
interface ExistsByProperties {
    /** Whether there is data matching the query */
    hasDataMatchingProperties?: boolean;
}

/** Represents a fix version in a Jira project. */
interface FixVersion {
    /** The URL of the fix version details. */
    self: string;
    /** The unique identifier of the fix version. */
    id: string;
    /** The description of the fix version. */
    description: string;
    /** The name of the fix version. */
    name: string;
    /** Whether the fix version is archived. */
    archived: boolean;
    /** Whether the fix version is released. */
    released: boolean;
    /** The release date of the fix version, if applicable. */
    releaseDate?: string;
}

/** Details a link group, which defines issue operations. */
interface LinkGroup {
    groups?: LinkGroup[];
    /** Details about the operations available in this version. */
    header?: {
        href?: string;
        iconClass?: string;
        id?: string;
        label?: string;
        styleClass?: string;
        title?: string;
        weight?: number;
    };
    id?: string;
    links?: {
        href?: string;
        iconClass?: string;
        id?: string;
        label?: string;
        styleClass?: string;
        title?: string;
        weight?: number;
    }[];
    styleClass?: string;
    weight?: number;
}

/** Details of the operations that can be performed on the issue. */
interface Operations$1 {
    /** Details of the link groups defining issue operations. */
    linkGroups?: LinkGroup[];
}

/**
 * The projects the item is associated with. Indicated for items associated with [next-gen
 * projects](https://confluence.atlassian.com/x/loMyO).
 */
interface Scope {
    /** Details about a project. */
    project?: {
        avatarUrls?: AvatarUrls;
        /** The ID of the project. */
        id?: string;
        /** The key of the project. */
        key?: string;
        /** The name of the project. */
        name?: string;
        /** A project category. */
        projectCategory?: {
            /** The name of the project category. */
            description?: string;
            /** The ID of the project category. */
            id?: string;
            /** The description of the project category. */
            name?: string;
            /** The URL of the project category. */
            self?: string;
        };
        /**
         * The [project
         * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the
         * project.
         */
        projectTypeKey?: 'software' | 'service_desk' | 'business' | string;
        /** The URL of the project details. */
        self?: string;
        /** Whether or not the project is simplified. */
        simplified?: boolean;
    };
    /** The type of scope. */
    type?: 'PROJECT' | 'TEMPLATE' | string;
}

/** A status category. */
interface StatusCategory {
    /** The name of the color used to represent the status category. */
    colorName: string;
    /** The ID of the status category. */
    id: number;
    /** The key of the status category. */
    key: string;
    /** The name of the status category. */
    name: string;
    /** The URL of the status category. */
    self: string;
}

/** Details about an issue. */
interface Issue$1 {
    /** A page of changelogs. */
    changelog?: {
        /** The list of changelogs. */
        histories?: {
            /**
             * User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:
             *
             * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case,
             * `displayName` provides an indication and other parameters have default values or are blank (for example, email
             * is blank). User record corrupted: This occurs as a results of events such as a server import and can only
             * happen to deleted users. In this case, `accountId` returns _unknown_ and all other parameters have fallback
             * values. User record unavailable: This usually occurs due to an internal service outage. In this case, all
             * parameters have fallback values.
             */
            author?: {
                /**
                 * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
                 * _5b10ac8d82e05b22cc7d4ef5_.
                 */
                accountId?: string;
                /**
                 * The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app'
                 * (application user) or 'customer' (Jira Service Desk customer user)
                 */
                accountType?: string;
                /** Whether the user is active. */
                active?: boolean;
                avatarUrls?: AvatarUrls;
                /** The display name of the user. Depending on the user’s privacy settings, this may return an alternative value. */
                displayName?: string;
                /** The email address of the user. Depending on the user’s privacy settings, this may be returned as null. */
                emailAddress?: string;
                /** The URL of the user. */
                self?: string;
                /**
                 * The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned
                 * as null.
                 */
                timeZone?: string;
            };
            /** The date on which the change took place. */
            created?: string;
            /** Details of issue history metadata. */
            historyMetadata?: {
                /** The activity described in the history record. */
                activityDescription?: string;
                /** The key of the activity described in the history record. */
                activityDescriptionKey?: string;
                /** Details of user or system associated with a issue history metadata item. */
                actor?: {
                    /** The URL to an avatar for the user or system associated with a history record. */
                    avatarUrl?: string;
                    /** The display name of the user or system associated with a history record. */
                    displayName?: string;
                    /** The key of the display name of the user or system associated with a history record. */
                    displayNameKey?: string;
                    /** The ID of the user or system associated with a history record. */
                    id?: string;
                    /** The type of the user or system associated with a history record. */
                    type?: string;
                    /** The URL of the user or system associated with a history record. */
                    url?: string;
                };
                /** Details of user or system associated with a issue history metadata item. */
                cause?: {
                    /** The URL to an avatar for the user or system associated with a history record. */
                    avatarUrl?: string;
                    /** The display name of the user or system associated with a history record. */
                    displayName?: string;
                    /** The key of the display name of the user or system associated with a history record. */
                    displayNameKey?: string;
                    /** The ID of the user or system associated with a history record. */
                    id?: string;
                    /** The type of the user or system associated with a history record. */
                    type?: string;
                    /** The URL of the user or system associated with a history record. */
                    url?: string;
                };
                /** The description of the history record. */
                description?: string;
                /** The description key of the history record. */
                descriptionKey?: string;
                /** The description of the email address associated the history record. */
                emailDescription?: string;
                /** The description key of the email address associated the history record. */
                emailDescriptionKey?: string;
                /** Additional arbitrary information about the history record. */
                extraData?: unknown;
                /** Details of user or system associated with a issue history metadata item. */
                generator?: {
                    /** The URL to an avatar for the user or system associated with a history record. */
                    avatarUrl?: string;
                    /** The display name of the user or system associated with a history record. */
                    displayName?: string;
                    /** The key of the display name of the user or system associated with a history record. */
                    displayNameKey?: string;
                    /** The ID of the user or system associated with a history record. */
                    id?: string;
                    /** The type of the user or system associated with a history record. */
                    type?: string;
                    /** The URL of the user or system associated with a history record. */
                    url?: string;
                };
                /** The type of the history record. */
                type?: string;
            };
            /** The ID of the changelog. */
            id?: string;
            /** The list of items changed. */
            items?: {
                /** The name of the field changed. */
                field?: string;
                /** The ID of the field changed. */
                fieldId?: string;
                /** The type of the field changed. */
                fieldtype?: string;
                /** The details of the original value. */
                from?: string;
                /** The details of the original value as a string. */
                fromString?: string;
                /** The details of the new value. */
                to?: string;
                /** The details of the new value as a string. */
                toString?: string;
            }[];
        }[];
        /** The maximum number of results that could be on the page. */
        maxResults?: number;
        /** The index of the first item returned on the page. */
        startAt?: number;
        /** The number of results on the page. */
        total?: number;
    };
    /** A list of editable field details. */
    editmeta?: {
        fields?: unknown;
    };
    /** Expand options that include additional issue details in the response. */
    expand?: string;
    fields?: Fields;
    fieldsToInclude?: {
        actuallyIncluded?: string[];
        excluded?: string[];
        included?: string[];
    };
    /** The ID of the issue. */
    id?: string;
    /** The key of the issue. */
    key?: string;
    /** The ID and name of each field present on the issue. */
    names?: unknown;
    operations?: Operations$1;
    /** Details of the issue properties identified in the request. */
    properties?: unknown;
    /** The rendered value of each field present on the issue. */
    renderedFields?: unknown;
    /** The schema describing each field present on the issue. */
    schema?: unknown;
    /** The URL of the issue details. */
    self?: string;
    /** The transitions that can be performed on the issue. */
    transitions?: {
        /** Expand options that include additional transition details in the response. */
        expand?: string;
        /**
         * Details of the fields associated with the issue transition screen. Use this information to populate `fields` and
         * `update` in a transition request.
         */
        fields?: unknown;
        /** Whether there is a screen associated with the issue transition. */
        hasScreen?: boolean;
        /** The ID of the issue transition. Required when specifying a transition to undertake. */
        id?: string;
        /** Whether the transition is available to be performed. */
        isAvailable?: boolean;
        /** Whether the issue has to meet criteria before the issue transition is applied. */
        isConditional?: boolean;
        /** Whether the issue transition is global, that is, the transition is applied to issues regardless of their status. */
        isGlobal?: boolean;
        /** Whether this is the initial issue transition for the workflow. */
        isInitial?: boolean;
        looped?: boolean;
        /** The name of the issue transition. */
        name?: string;
        /** A status. */
        to?: {
            /** The description of the status. */
            description?: string;
            /** The URL of the icon used to represent the status. */
            iconUrl?: string;
            /** The ID of the status. */
            id?: string;
            /** The name of the status. */
            name?: string;
            /**
             * The projects the item is associated with. Indicated for items associated with [next-gen
             * projects](https://confluence.atlassian.com/x/loMyO).
             */
            scope?: Scope;
            /** The URL of the status. */
            self?: string;
            /** A status category. */
            statusCategory?: StatusCategory;
        };
    }[];
    /** The versions of each field on the issue. */
    versionedRepresentations?: unknown;
}

/** Details about an issue type. */
interface IssueType {
    /** The URL of the issue type. */
    self: string;
    /** The unique identifier of the issue type. */
    id: string;
    /** The description of the issue type. */
    description: string;
    /** The URL of the icon for the issue type. */
    iconUrl: string;
    /** The name of the issue type. */
    name: string;
    /** Whether the issue type is a subtask type. */
    subtask: boolean;
    /** The ID of the avatar for the issue type. */
    avatarId: number;
    /** The ID of the entity for the issue type. */
    entityId: string;
    /** The hierarchy level of the issue type. */
    hierarchyLevel: number;
}

/** Represents the progress of a task. */
interface Progress {
    /** The current progress value. */
    progress: number;
    /** The total progress value. */
    total: number;
}

/** Details about a project. */
interface Project {
    avatarUrls: AvatarUrls;
    /** The ID of the project. */
    id: string;
    /** The key of the project. */
    key: string;
    /** The name of the project. */
    name: string;
    /** A project category. */
    projectCategory: {
        /** The name of the project category. */
        description?: string;
        /** The ID of the project category. */
        id: string;
        /** The description of the project category. */
        name: string;
        /** The URL of the project category. */
        self: string;
    };
    /**
     * The [project
     * type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the
     * project.
     */
    projectTypeKey: 'software' | 'service_desk' | 'business' | string;
    /** The URL of the project details. */
    self: string;
    /** Whether or not the project is simplified. */
    simplified: boolean;
}

interface Sprint$1 {
    id: number;
    self?: string;
    state: 'future' | 'active' | 'closed' | string;
    name: string;
    startDate?: string;
    endDate?: string;
    completeDate?: string;
    createdDate?: string;
    originBoardId?: number;
    goal?: string;
}

interface Status {
    self: string;
    description: string;
    iconUrl: string;
    name: string;
    id: string;
    statusCategory: StatusCategory;
}

/**
 * User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:*
 *
 * - User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case,
 *   `displayName` provides an indication and other parameters have default values or are blank (for example, email is
 *   blank).
 * - User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted
 *   users. In this case, `accountId` returns _unknown_ and all other parameters have fallback values.
 * - User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have
 *   fallback values.
 */
interface User {
    /**
     * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
     * _5b10ac8d82e05b22cc7d4ef5_.
     */
    accountId: string;
    /**
     * The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application
     * user) or 'customer' (Jira Service Desk customer user)
     */
    accountType: string;
    /** Whether the user is active. */
    active: boolean;
    avatarUrls: AvatarUrls;
    /** The display name of the user. Depending on the user’s privacy settings, this may return an alternative value. */
    displayName: string;
    /** The email address of the user. Depending on the user’s privacy settings, this may be returned as null. */
    emailAddress: string;
    /** The URL of the user. */
    self: string;
    /**
     * The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as
     * null.
     */
    timeZone: string | null;
}

/** Details about a project version. */
interface Version {
    /** The URL of the version. */
    self?: string;
    /** The ID of the version. */
    id?: string;
    /** The description of the version. Optional when creating or updating a version. */
    description?: string;
    /**
     * The unique name of the version. Required when creating a version. Optional when updating a version. The maximum
     * length is 255 characters.
     */
    name?: string;
    /** Indicates that the version is archived. Optional when creating or updating a version. */
    archived?: boolean;
    /**
     * Indicates that the version is released. If the version is released a request to release again is ignored. Not
     * applicable when creating a version. Optional when updating a version.
     */
    released?: boolean;
    /**
     * The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a
     * version.
     */
    startDate?: string;
    /**
     * The release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a
     * version.
     */
    releaseDate?: string;
    /**
     * The ID of the project to which this version is attached. Required when creating a version. Not applicable when
     * updating a version.
     */
    projectId?: number;
}

interface Fields extends Record<string, any> {
    aggregateprogress: Progress;
    aggregatetimeestimate: number | null;
    aggregatetimeoriginalestimate: number | null;
    aggregatetimespent: number | null;
    assignee: User;
    attachment: Attachment$3[];
    comment: {
        comments: Comment$2[];
        self: string;
        maxResults: number;
        total: number;
        startAt: number;
    };
    components: ProjectComponent$1[];
    created: string;
    creator: User;
    description: string | null;
    duedate: string | null;
    environment: RichText$1 | null;
    epic: Epic$1 | null;
    fixVersions: FixVersion[];
    flagged: boolean;
    issuelinks: IssueLink$1[];
    issuerestriction: {
        issuerestrictions: any;
        shouldDisplay: boolean;
    };
    issuetype: IssueType;
    labels: string[];
    lastViewed: string | null;
    priority: Priority$1;
    progress: Progress;
    project: Project;
    reporter: User;
    resolution: Resolution$1 | null;
    resolutiondate: string | null;
    security: any | null;
    sprint: Sprint$1;
    status: Status;
    statuscategorychangedate: string;
    subtasks: Issue$1[];
    summary: string;
    timeestimate: number | null;
    timeoriginalestimate: any | null;
    timespent: number | null;
    timetracking: TimeTrackingDetails$1;
    updated: string;
    versions: Version[];
    votes: Votes$1;
    watches: Watchers$1;
    worklog: {
        startAt: number;
        maxResults: number;
        total: number;
        worklogs: Worklog$1[];
    };
    workratio: number;
}

interface GetAllBoards {
    isLast?: boolean;
    maxResults?: number;
    startAt?: number;
    total?: number;
    values: Board$1[];
}

interface GetAllQuickFilters {
    isLast: boolean;
    maxResults: number;
    startAt: number;
    total: number;
    values: {
        boardId?: number;
        description?: string;
        id?: number;
        jql?: string;
        name?: string;
        position?: number;
    }[];
}

/** Details about a board. */
interface GetBoard {
    /** The users and groups who own the board. */
    admins?: {
        groups?: {
            name?: string;
            self?: string;
        }[];
        users?: {
            /**
             * The account ID of the user, which uniquely identifies the user across all Atlassian products. For example,
             * _5b10ac8d82e05b22cc7d4ef5_.
             */
            accountId?: string;
            /** Whether the user is active. */
            active?: boolean;
            avatarUrls?: AvatarUrls;
            /** The display name of the user. Depending on the user’s privacy setting, this may return an alternative value. */
            displayName?: string;
            /** The URL of the user. */
            self?: string;
        }[];
    };
    /** Whether the board can be edited. */
    canEdit?: boolean;
    /** Whether the board is selected as a favorite. */
    favourite?: boolean;
    /** The ID of the board. */
    id?: number;
    /** Whether the board is private. */
    isPrivate?: boolean;
    /** The container that the board is located in. */
    location?: {
        avatarURI?: string;
        displayName?: string;
        name?: string;
        projectId?: number;
        projectKey?: string;
        projectName?: string;
        projectTypeKey?: string;
        userAccountId?: string;
        userId?: number;
    };
    /** The name of the board. */
    name?: string;
    /** The URL of the board. */
    self?: string;
    /** The type the board. */
    type?: string;
}

interface GetBoardByFilterId {
    isLast: boolean;
    maxResults: number;
    startAt: number;
    total: number;
    values: {
        id?: number;
        name?: string;
        self?: string;
    }[];
}

/** Data related to a single build* */
interface GetBuildByKey {
    /**
     * The schema version used for this data.
     *
     * Placeholder to support potential schema changes in the future.
     */
    schemaVersion?: '1.0' | string;
    /**
     * An ID that relates a sequence of builds. Depending on your use case this might be a project ID, pipeline ID, plan
     * key etc. - whatever logical unit you use to group a sequence of builds.
     *
     * The combination of `pipelineId` and `buildNumber` must uniquely identify a build you have provided.
     */
    pipelineId: string;
    /**
     * Identifies a build within the sequence of builds identified by the build `pipelineId`.
     *
     * Used to identify the 'most recent' build in that sequence of builds.
     *
     * The combination of `pipelineId` and `buildNumber` must uniquely identify a build you have provided.
     */
    buildNumber: number;
    /**
     * A number used to apply an order to the updates to the build, as identified by `pipelineId` and `buildNumber`, in
     * the case of out-of-order receipt of update requests.
     *
     * It must be a monotonically increasing number. For example, epoch time could be one way to generate the
     * `updateSequenceNumber`.
     *
     * Updates for a build that is received with an `updateSqeuenceNumber` less than or equal to what is currently stored
     * will be ignored.
     */
    updateSequenceNumber: number;
    /**
     * The human-readable name for the build.
     *
     * Will be shown in the UI.
     */
    displayName: string;
    /**
     * An optional description to attach to this build.
     *
     * This may be anything that makes sense in your system.
     */
    description?: string;
    /** A human-readable string that to provide information about the build. */
    label?: string;
    /** The URL to this build in your system. */
    url: string;
    /**
     * The state of a build.
     *
     * - `pending` - The build is queued, or some manual action is required.
     * - `in_progress` - The build is currently running.
     * - `successful` - The build completed successfully.
     * - `failed` - The build failed.
     * - `cancelled` - The build has been cancelled or stopped.
     * - `unknown` - The build is in an unknown state.
     */
    state: 'pending' | 'in_progress' | 'successful' | 'failed' | 'cancelled' | 'unknown' | string;
    /** The last-updated timestamp to present to the user as a summary of the state of the build. */
    lastUpdated: string;
    /**
     * The Jira issue keys to associate the build information with.
     *
     * You are free to associate issue keys in any way you like. However, we recommend that you use the name of the branch
     * the build was executed on, and extract issue keys from that name using a simple regex. This has the advantage that
     * it provides an intuitive association of builds to issue keys.
     */
    issueKeys: string[];
    /** Information about tests that were executed during a build. */
    testInfo?: {
        /** The total number of tests considered during a build. */
        totalNumber: number;
        /** The number of tests that passed during a build. */
        numberPassed: number;
        /** The number of tests that failed during a build. */
        numberFailed: number;
        /** The number of tests that were skipped during a build. */
        numberSkipped?: number;
    };
    /** Optional information that links a build to a commit, branch etc. */
    references?: {
        /** Details about the commit the build was run against. */
        commit?: {
            /** The ID of the commit. E.g. for a Git repository this would be the SHA1 hash. */
            id: string;
            /**
             * An identifier for the repository containing the commit.
             *
             * In most cases this should be the URL of the repository in the SCM provider.
             *
             * For cases where the build was executed against a local repository etc. this should be some identifier that is
             * unique to that repository.
             */
            repositoryUri: string;
        };
        /** Details about the ref the build was run on. */
        ref?: {
            /** The name of the ref the build ran on */
            name: string;
            /**
             * An identifier for the ref.
             *
             * In most cases this should be the URL of the tag/branch etc. in the SCM provider.
             *
             * For cases where the build was executed against a local repository etc. this should be something that uniquely
             * identifies the ref.
             */
            uri: string;
        };
    }[];
}

/** Data related to a specific component in a specific workspace that is affected by incidents.* */
interface GetComponentById {
    /**
     * The DevOpsComponentData schema version used for this devops component data.
     *
     * Placeholder to support potential schema changes in the future.
     */
    schemaVersion: '1.0' | string;
    /** The identifier for the DevOps Component. Must be unique for a given Provider. */
    id: string;
    /**
     * An ID used to apply an ordering to updates for this DevOps Component in the case of out-of-order receipt of update
     * requests.
     *
     * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
     * Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each DevOps
     * Component and increment that on each update to Jira).
     *
     * Updates for a DevOps Component that are received with an updateSqeuenceId lower than what is currently stored will
     * be ignored.
     */
    updateSequenceNumber: number;
    /** The human-readable name for the DevOps Component. Will be shown in the UI. */
    name: string;
    /** The human-readable name for the Provider that owns this DevOps Component. Will be shown in the UI. */
    providerName?: string;
    /** A description of the DevOps Component in Markdown format. Will be shown in the UI. */
    description: string;
    /**
     * A URL users can use to link to a summary view of this devops component, if appropriate.
     *
     * This could be any location that makes sense in the Provider system (e.g. if the summary information comes from a
     * specific project, it might make sense to link the user to the component in that project).
     */
    url: string;
    /** A URL to display a logo representing this devops component, if available. */
    avatarUrl: string;
    /** The tier of the component. Will be shown in the UI. */
    tier: 'Tier 1' | 'Tier 2' | 'Tier 3' | 'Tier 4' | string;
    /** The type of the component. Will be shown in the UI. */
    componentType: 'Service' | 'Application' | 'Library' | 'Capability' | 'Cloud resource' | 'Data pipeline' | 'Machine learning model' | 'UI element' | 'Website' | 'Other' | string;
    /**
     * The last-updated timestamp to present to the user the last time the DevOps Component was updated.
     *
     * Expected format is an RFC3339 formatted string.
     */
    lastUpdated: string;
}

interface GetConfiguration {
    columnConfig?: {
        columns?: {
            max?: number;
            min?: number;
            name?: string;
            statuses?: {
                id?: string;
                self?: string;
            }[];
        }[];
        constraintType?: string;
    };
    estimation?: {
        field?: {
            displayName?: string;
            fieldId?: string;
        };
        type?: string;
    };
    filter?: {
        id?: string;
        self?: string;
    };
    id?: number;
    location?: {
        projectKeyOrId?: string;
        type?: 'project' | 'user' | string;
    };
    name?: string;
    ranking?: {
        rankCustomFieldId?: number;
    };
    self?: string;
    subQuery?: {
        query?: string;
    };
    type?: string;
}

/**
 * Data related to a specific deployment in a specific environment that the deployment is present in.* Must specify one
 * of `issueKeys` or `associations`.
 */
interface GetDeploymentByKey {
    /**
     * This is the identifier for the deployment. It must be unique for the specified pipeline and environment. It must be
     * a monotonically increasing number, as this is used to sequence the deployments.
     */
    deploymentSequenceNumber: number;
    /**
     * A number used to apply an order to the updates to the deployment, as identified by the deploymentSequenceNumber, in
     * the case of out-of-order receipt of update requests. It must be a monotonically increasing number. For example,
     * epoch time could be one way to generate the updateSequenceNumber.
     */
    updateSequenceNumber: number;
    /**
     * The entities to associate the Deployment information with. It must contain at least one of IssueIdOrKeysAssociation
     * or ServiceIdOrKeysAssociation.
     */
    associations: any[];
    /** The human-readable name for the deployment. Will be shown in the UI. */
    displayName: string;
    /** A URL users can use to link to this deployment, in this environment. */
    url: string;
    /** A short description of the deployment */
    description: string;
    /** The last-updated timestamp to present to the user as a summary of the state of the deployment. */
    lastUpdated: string;
    /**
     * An (optional) additional label that may be displayed with deployment information. Can be used to display version
     * information etc. for the deployment.
     */
    label?: string;
    /** The duration of the deployment (in seconds). */
    duration?: number;
    /** The state of the deployment */
    state: 'unknown' | 'pending' | 'in_progress' | 'cancelled' | 'failed' | 'rolled_back' | 'successful' | string;
    /**
     * This object models the Continuous Delivery (CD) Pipeline concept, an automated process (usually comprised of
     * multiple stages)
     *
     * For getting software from version control right through to the production environment.
     */
    pipeline: {
        /** The identifier of this pipeline, must be unique for the provider. */
        id: string;
        /** The name of the pipeline to present to the user. */
        displayName: string;
        /** A URL users can use to link to this deployment pipeline. */
        url: string;
    };
    /** The environment that the deployment is present in. */
    environment: {
        /** The identifier of this environment, must be unique for the provider so that it can be shared across pipelines. */
        id: string;
        /** The name of the environment to present to the user. */
        displayName: string;
        /** The type of the environment. */
        type: 'unmapped' | 'development' | 'testing' | 'staging' | 'production' | string;
    };
    /** A list of commands to be actioned for this Deployment */
    commands?: {
        /** The command name. */
        command?: string;
    }[];
    /**
     * The DeploymentData schema version used for this deployment data.
     *
     * Placeholder to support potential schema changes in the future.
     */
    schemaVersion?: '1.0' | string;
}

/** The current gating status for the given Deployment.* */
interface GetDeploymentGatingStatusByKey {
    /** This is the identifier for the Deployment. */
    deploymentSequenceNumber?: number;
    /** The ID of the Deployment's pipeline. */
    pipelineId?: string;
    /** The ID of the Deployment's environment. */
    environmentId?: string;
    /** Time the deployment gating status was updated. */
    updatedTimestamp?: string;
    /** The gating status */
    gatingStatus?: 'allowed' | 'prevented' | 'awaiting' | 'invalid' | string;
    details?: {
        /** The type of the gating status details. */
        type: 'issue' | string;
        /** An issue key that references an issue in Jira. */
        issueKey: string;
        /**
         * A full HTTPS link to the Jira issue for the change request gating this Deployment. This field is provided if the
         * details type is issue.
         */
        issueLink: string;
    }[];
}

/** Data related to a single Feature Flag, across any Environment that the flag is present in.* */
interface GetFeatureFlagById {
    /**
     * The FeatureFlagData schema version used for this flag data.
     *
     * Placeholder to support potential schema changes in the future.
     */
    schemaVersion?: '1.0' | string;
    /** The identifier for the Feature Flag. Must be unique for a given Provider. */
    id: string;
    /**
     * The identifier that users would use to reference the Feature Flag in their source code etc.
     *
     * Will be made available via the UI for users to copy into their source code etc.
     */
    key: string;
    /**
     * An ID used to apply an ordering to updates for this Feature Flag in the case of out-of-order receipt of update
     * requests.
     *
     * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
     * Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Feature Flag
     * and increment that on each update to Jira).
     *
     * Updates for a Feature Flag that are received with an updateSqeuenceId lower than what is currently stored will be
     * ignored.
     */
    updateSequenceId: number;
    /**
     * The human-readable name for the Feature Flag. Will be shown in the UI.
     *
     * If not provided, will use the ID for display.
     */
    displayName?: string;
    /** The Jira issue keys to associate the Feature Flag information with. */
    issueKeys: string[];
    /**
     * Summary information for a single Feature Flag.
     *
     * Providers may elect to provide information from a specific environment, or they may choose to 'roll up' information
     * from across multiple environments - whatever makes most sense in the Provider system.
     *
     * This is the summary information that will be presented to the user on e.g. the Jira issue screen.
     */
    summary: {
        /**
         * A URL users can use to link to a summary view of this flag, if appropriate.
         *
         * This could be any location that makes sense in the Provider system (e.g. if the summary information comes from a
         * specific environment, it might make sense to link the user to the flag in that environment).
         */
        url?: string;
        /** Status information about a single Feature Flag. */
        status: {
            /**
             * Whether the Feature Flag is enabled in the given environment (or in summary).
             *
             * Enabled may imply a partial rollout, which can be described using the 'rollout' field.
             */
            enabled: boolean;
            /**
             * The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as
             * appropriate.
             *
             * This value may be presented to the user in the UI.
             */
            defaultValue?: string;
            /**
             * Information about the rollout of a Feature Flag in an environment (or in summary).
             *
             * Only one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple
             * are present.
             *
             * This information may be presented to the user in the UI.
             */
            rollout?: {
                /** If the Feature Flag rollout is a simple percentage rollout */
                percentage?: number;
                /** A text status to display that represents the rollout. This could be e.g. a named cohort. */
                text?: string;
                /** A count of the number of rules active for this Feature Flag in an environment. */
                rules?: number;
            };
        };
        /**
         * The last-updated timestamp to present to the user as a summary of the state of the Feature Flag.
         *
         * Providers may choose to supply the last-updated timestamp from a specific environment, or the 'most recent'
         * last-updated timestamp across all environments - whatever makes sense in the Provider system.
         *
         * Expected format is an RFC3339 formatted string.
         */
        lastUpdated: string;
    };
    /**
     * Detail information for this Feature Flag.
     *
     * This may be information for each environment the Feature Flag is defined in or a selection of environments made by
     * the user, as appropriate.
     */
    details: {
        /** A URL users can use to link to this Feature Flag, in this environment. */
        url: string;
        /**
         * The last-updated timestamp for this Feature Flag, in this environment.
         *
         * Expected format is an RFC3339 formatted string.
         */
        lastUpdated: string;
        /**
         * Details of a single environment.
         *
         * At the simplest this must be the name of the environment.
         *
         * Ideally there is also type information which may be used to group data from multiple Feature Flags and other
         * entities for visualisation in the UI.
         */
        environment: {
            /** The name of the environment. */
            name: string;
            /** The 'type' or 'category' of environment this environment belongs to. */
            type?: 'development' | 'testing' | 'staging' | 'production' | string;
        };
        /** Status information about a single Feature Flag. */
        status: {
            /**
             * Whether the Feature Flag is enabled in the given environment (or in summary).
             *
             * Enabled may imply a partial rollout, which can be described using the 'rollout' field.
             */
            enabled: boolean;
            /**
             * The value served by this Feature Flag when it is disabled. This could be the actual value or an alias, as
             * appropriate.
             *
             * This value may be presented to the user in the UI.
             */
            defaultValue?: string;
            /**
             * Information about the rollout of a Feature Flag in an environment (or in summary).
             *
             * Only one of 'percentage', 'text', or 'rules' should be provided. They will be used in that order if multiple
             * are present.
             *
             * This information may be presented to the user in the UI.
             */
            rollout?: {
                /** If the Feature Flag rollout is a simple percentage rollout */
                percentage?: number;
                /** A text status to display that represents the rollout. This could be e.g. a named cohort. */
                text?: string;
                /** A count of the number of rules active for this Feature Flag in an environment. */
                rules?: number;
            };
        };
    }[];
}

interface GetFeaturesForBoard {
    features?: {
        boardFeature?: 'SIMPLE_ROADMAP' | 'BACKLOG' | 'SPRINTS' | 'CALENDAR' | 'DEVTOOLS' | 'REPORTS' | 'ESTIMATION' | 'PAGES' | 'CODE' | 'SECURITY' | 'REQUESTS' | 'INCIDENTS' | 'RELEASES' | 'DEPLOYMENTS' | 'ISSUE_NAVIGATOR' | 'ON_CALL_SCHEDULE' | 'BOARD' | 'GOALS' | 'LIST_VIEW' | string;
        boardId?: number;
        featureId?: string;
        featureType?: 'BASIC' | 'ESTIMATION' | string;
        imageUri?: string;
        learnMoreArticleId?: string;
        learnMoreLink?: string;
        localisedDescription?: string;
        localisedGroup?: string;
        localisedName?: string;
        permissibleEstimationTypes?: {
            localisedDescription?: string;
            localisedName?: string;
            value?: 'STORY_POINTS' | 'ORIGINAL_ESTIMATE' | string;
        }[];
        state?: 'ENABLED' | 'DISABLED' | 'COMING_SOON' | string;
        toggleLocked?: boolean;
    }[];
}

/**
 * Data related to a specific incident in a specific container that the incident is present in. Must specify at least
 * one association to a component.*
 */
interface GetIncidentById {
    /**
     * The IncidentData schema version used for this incident data.
     *
     * Placeholder to support potential schema changes in the future.
     */
    schemaVersion: '1.0' | string;
    /** The identifier for the Incident. Must be unique for a given Provider. */
    id: string;
    /**
     * An ID used to apply an ordering to updates for this Incident in the case of out-of-order receipt of update
     * requests.
     *
     * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
     * Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Incident and
     * increment that on each update to Jira).
     *
     * Updates for a Incident that are received with an updateSqeuenceId lower than what is currently stored will be
     * ignored.
     */
    updateSequenceNumber: number;
    /** The IDs of the Components impacted by this Incident. Must be unique for a given Provider. */
    affectedComponents: string[];
    /**
     * The human-readable summary for the Incident. Will be shown in the UI.
     *
     * If not provided, will use the ID for display.
     */
    summary: string;
    /** A description of the issue in Markdown format. Will be shown in the UI and used when creating Jira Issues. */
    description: string;
    /**
     * A URL users can use to link to a summary view of this incident, if appropriate.
     *
     * This could be any location that makes sense in the Provider system (e.g. if the summary information comes from a
     * specific project, it might make sense to link the user to the incident in that project).
     */
    url: string;
    /**
     * The timestamp to present to the user that shows when the Incident was raised.
     *
     * Expected format is an RFC3339 formatted string.
     */
    createdDate: string;
    /**
     * The last-updated timestamp to present to the user the last time the Incident was updated.
     *
     * Expected format is an RFC3339 formatted string.
     */
    lastUpdated: string;
    /**
     * Severity information for a single Incident.
     *
     * This is the severity information that will be presented to the user on e.g. the Jira Incidents screen.
     */
    severity?: {
        /** The severity level of the Incident with P1 being the highest and P5 being the lowest */
        level: 'P1' | 'P2' | 'P3' | 'P4' | 'P5' | 'unknown' | string;
    };
    /** The current status of the Incident. */
    status: 'open' | 'resolved' | 'unknown' | string;
    /** The IDs of the Jira issues related to this Incident. Must be unique for a given Provider. */
    associations?: {
        /** The type of the association being made */
        associationType?: 'issueIdOrKeys' | 'serviceIdOrKeys' | 'ati:cloud:compass:event-source' | string;
        values?: string[];
    }[];
}

/** The Security Workspace information stored for the given ID. */
interface GetLinkedWorkspaceById {
    /** The Security Workspace ID */
    workspaceId: string;
    /** Latest date and time that the Security Workspace was updated in Jira. */
    updatedAt: string;
}

/** The payload of linked Security Workspace IDs. */
interface GetLinkedWorkspaces {
    /** The IDs of Security Workspaces that are linked to this Jira site. */
    workspaceIds: string[];
}

interface GetQuickFilter {
    boardId?: number;
    description?: string;
    id?: number;
    jql?: string;
    name?: string;
    position?: number;
}

/** Data related to a single Remote Link.* */
interface GetRemoteLinkById {
    /**
     * The schema version used for this data.
     *
     * Placeholder to support potential schema changes in the future.
     */
    schemaVersion?: '1.0' | string;
    /** The identifier for the Remote Link. Must be unique for a given Provider. */
    id: string;
    /**
     * An ID used to apply an ordering to updates for this Remote Link in the case of out-of-order receipt of update
     * requests.
     *
     * It must be a monotonically increasing number. For example, epoch time could be one way to generate the
     * `updateSequenceNumber`.
     *
     * Updates for a Remote Link that is received with an `updateSqeuenceNumber` less than or equal to what is currently
     * stored will be ignored.
     */
    updateSequenceNumber: number;
    /**
     * The human-readable name for the Remote Link.
     *
     * Will be shown in the UI.
     */
    displayName: string;
    /** The URL to this Remote Link in your system. */
    url: string;
    /**
     * The type of the Remote Link. The current supported types are 'document', 'alert', 'test', 'security', 'logFile',
     * 'prototype', 'coverage', 'bugReport' and 'other'
     */
    type: 'document' | 'alert' | 'test' | 'security' | 'logFile' | 'prototype' | 'coverage' | 'bugReport' | 'other' | string;
    /**
     * An optional description to attach to this Remote Link.
     *
     * This may be anything that makes sense in your system.
     */
    description?: string;
    /** The last-updated timestamp to present to the user as a summary of when Remote Link was last updated. */
    lastUpdated: string;
    /** The entities to associate the Remote Link information with. */
    associations?: unknown[];
    /** The status of a Remote Link. */
    status?: {
        /**
         * Appearance is a fixed set of appearance types affecting the colour of the status lozenge in the UI. The colours
         * they correspond to are equivalent to atlaskit's [Lozenge](https://atlaskit.atlassian.com/packages/core/lozenge)
         * component.
         */
        appearance: 'default' | 'inprogress' | 'moved' | 'new' | 'removed' | 'prototype' | 'success' | string;
        /**
         * The human-readable description for the Remote Link status.
         *
         * Will be shown in the UI.
         */
        label: string;
    };
    /**
     * Optional list of actionIds. They are associated with the actions the provider is able to provide when they
     * registered. Indicates which actions this Remote Link has.
     *
     * If any actions have a templateUrl that requires string substitution, then `attributeMap` must be passed in.
     */
    actionIds?: string[];
    /**
     * Map of key/values (string to string mapping). This is used to build the urls for actions from the templateUrl the
     * provider registered their available actions with.
     */
    attributeMap?: unknown;
}

interface GetReportsForBoard {
    reports?: unknown[];
}

/** Represents a repository, containing development information such as commits, pull requests, and branches. */
interface GetRepository {
    /** The name of this repository. Max length is 255 characters. */
    name: string;
    /** Description of this repository. Max length is 1024 characters. */
    description?: string;
    /** The ID of the repository this repository was forked from, if it's a fork. Max length is 1024 characters. */
    forkOf?: string;
    /** The URL of this repository. Max length is 2000 characters. */
    url: string;
    /**
     * List of commits to update in this repository. Must not contain duplicate entity IDs. Maximum number of commits is
     * 400
     */
    commits?: {
        /**
         * The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits
         * within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID
         * 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024
         * characters
         */
        id: string;
        /** List of issues keys that this entity is associated with. They must be valid Jira issue keys. */
        issueKeys: string[];
        /**
         * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
         * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from
         * the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity
         * and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId
         * lower than what is currently stored will be ignored.
         */
        updateSequenceId: number;
        /** The set of flags for this commit */
        flags?: ('MERGE_COMMIT' | string)[];
        /**
         * The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to
         * 1024 characters.
         */
        message: string;
        /** Describes the author of a particular entity */
        author: {
            /** The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters. */
            email?: string;
        };
        /** The total number of files added, removed, or modified by this commit */
        fileCount: number;
        /** The URL of this commit. Max length is 2000 characters. */
        url: string;
        /**
         * List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path) in
         * the UI. This UI behavior may change without notice.
         */
        files?: {
            /** The path of the file. Max length is 1024 characters. */
            path: string;
            /** The URL of this file. Max length is 2000 characters. */
            url: string;
            /** The operation performed on this file */
            changeType: 'ADDED' | 'COPIED' | 'DELETED' | 'MODIFIED' | 'MOVED' | 'UNKNOWN' | string;
            /** Number of lines added to the file */
            linesAdded: number;
            /** Number of lines removed from the file */
            linesRemoved: number;
        }[];
        /** The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format. */
        authorTimestamp: string;
        /** Shortened identifier for this commit, used for display. Max length is 255 characters. */
        displayId: string;
    }[];
    /**
     * List of branches to update in this repository. Must not contain duplicate entity IDs. Maximum number of branches is
     * 400.
     */
    branches?: {
        /**
         * The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository,
         * i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y'
         * is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters.
         */
        id: string;
        /** List of issues keys that this entity is associated with. They must be valid Jira issue keys. */
        issueKeys: string[];
        /**
         * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
         * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from
         * the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity
         * and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId
         * lower than what is currently stored will be ignored.
         */
        updateSequenceId: number;
        /** The name of the branch. Max length is 512 characters. */
        name: string;
        /** Represents a commit in the version control system. */
        lastCommit: {
            /**
             * The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits
             * within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with
             * ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is
             * 1024 characters
             */
            id: string;
            /** List of issues keys that this entity is associated with. They must be valid Jira issue keys. */
            issueKeys: string[];
            /**
             * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
             * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis
             * from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each
             * entity and increment that on each update to Jira). Updates for an entity that are received with an
             * updateSqeuenceId lower than what is currently stored will be ignored.
             */
            updateSequenceId: number;
            /** The set of flags for this commit */
            flags?: ('MERGE_COMMIT' | string)[];
            /**
             * The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to
             * 1024 characters.
             */
            message: string;
            /** Describes the author of a particular entity */
            author: {
                /** The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters. */
                email?: string;
            };
            /** The total number of files added, removed, or modified by this commit */
            fileCount: number;
            /** The URL of this commit. Max length is 2000 characters. */
            url: string;
            /**
             * List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path)
             * in the UI. This UI behavior may change without notice.
             */
            files?: {
                /** The path of the file. Max length is 1024 characters. */
                path: string;
                /** The URL of this file. Max length is 2000 characters. */
                url: string;
                /** The operation performed on this file */
                changeType: 'ADDED' | 'COPIED' | 'DELETED' | 'MODIFIED' | 'MOVED' | 'UNKNOWN' | string;
                /** Number of lines added to the file */
                linesAdded: number;
                /** Number of lines removed from the file */
                linesRemoved: number;
            }[];
            /** The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format. */
            authorTimestamp: string;
            /** Shortened identifier for this commit, used for display. Max length is 255 characters. */
            displayId: string;
        };
        /** The URL of the page for creating a pull request from this branch. Max length is 2000 characters. */
        createPullRequestUrl?: string;
        /** The URL of the branch. Max length is 2000 characters. */
        url: string;
    }[];
    /**
     * List of pull requests to update in this repository. Must not contain duplicate entity IDs. Maximum number of pull
     * requests is 400
     */
    pullRequests?: {
        /**
         * The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository,
         * i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y'
         * is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters
         */
        id: string;
        /** List of issues keys that this entity is associated with. They must be valid Jira issue keys. */
        issueKeys: string[];
        /**
         * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update
         * requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from
         * the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity
         * and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId
         * lower than what is currently stored will be ignored.
         */
        updateSequenceId: number;
        /**
         * The status of the pull request. In the case of concurrent updates, priority is given in the order OPEN, MERGED,
         * DECLINED, UNKNOWN
         */
        status: 'OPEN' | 'MERGED' | 'DECLINED' | 'UNKNOWN' | string;
        /** Title of the pull request. Max length is 1024 characters. */
        title: string;
        /** Describes the author of a particular entity */
        author: {
            /** The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters. */
            email?: string;
        };
        /** The number of comments on the pull request */
        commentCount: number;
        /** The name of the source branch of this PR. Max length is 255 characters. */
        sourceBranch: string;
        /**
         * The url of the source branch of this PR. This is used to match this PR against the branch. Max length is 2000
         * characters.
         */
        sourceBranchUrl?: string;
        /** The most recent update to this PR. Formatted as a UTC ISO 8601 date time format. */
        lastUpdate: string;
        /** The name of destination branch of this PR. Max length is 255 characters. */
        destinationBranch?: string;
        /** The url of the destination branch of this PR. Max length is 2000 characters. */
        destinationBranchUrl?: string;
        /** The list of reviewers of this pull request */
        reviewers?: {
            /** The approval status of this reviewer, default is UNAPPROVED. */
            approvalStatus?: 'APPROVED' | 'UNAPPROVED' | string;
            /** The email address of this reviewer. Max length is 254 characters. */
            email?: string;
            /** The Atlassian Account ID (AAID) of this reviewer. Max length is 128 characters. */
            accountId?: string;
        }[];
        /** The URL of this pull request. Max length is 2000 characters. */
        url: string;
        /** Shortened identifier for this pull request, used for display. Max length is 255 characters. */
        displayId: string;
    }[];
    /** The URL of the avatar for this repository. Max length is 2000 characters. */
    avatar?: string;
    /** Description of the avatar for this repository. Max length is 1024 characters. */
    avatarDescription?: string;
    /**
     * The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository,
     * i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y'
     * is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters.
     */
    id: string;
    /**
     * An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests.
     * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
     * provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and
     * increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than
     * what is currently stored will be ignored.
     */
    updateSequenceId: number;
}

/** Data related to a specific post-incident review. Must specify at least one association to an incident.* */
interface GetReviewById {
    /**
     * The PostIncidentReviewData schema version used for this post-incident review data.
     *
     * Placeholder to support potential schema changes in the future.
     */
    schemaVersion: '1.0' | string;
    /** The identifier for the Review. Must be unique for a given Provider. */
    id: string;
    /**
     * An ID used to apply an ordering to updates for this Review in the case of out-of-order receipt of update requests.
     *
     * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
     * Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Review and
     * increment that on each update to Jira).
     *
     * Updates for a Review that are received with an updateSqeuenceId lower than what is currently stored will be
     * ignored.
     */
    updateSequenceNumber: number;
    /** The IDs of the Incidents covered by this Review. Must be unique for a given Provider. */
    reviews: string[];
    /**
     * The human-readable summary for the Post-Incident Review. Will be shown in the UI.
     *
     * If not provided, will use the ID for display.
     */
    summary: string;
    /** A description of the review in Markdown format. Will be shown in the UI and used when creating Jira Issues. */
    description: string;
    /**
     * A URL users can use to link to a summary view of this review, if appropriate.
     *
     * This could be any location that makes sense in the Provider system (e.g. if the summary information comes from a
     * specific project, it might make sense to link the user to the review in that project).
     */
    url: string;
    /**
     * The timestamp to present to the user that shows when the Review was raised.
     *
     * Expected format is an RFC3339 formatted string.
     */
    createdDate: string;
    /**
     * The last-updated timestamp to present to the user the last time the Review was updated.
     *
     * Expected format is an RFC3339 formatted string.
     */
    lastUpdated: string;
    /** The current status of the Post-Incident Review. */
    status: 'in progress' | 'outstanding actions' | 'completed' | 'unknown' | string;
    /** The IDs of the Jira issues related to this Incident. Must be unique for a given Provider. */
    associations?: {
        /** The type of the association being made */
        associationType?: 'issueIdOrKeys' | 'serviceIdOrKeys' | 'ati:cloud:compass:event-source' | string;
        values?: string[];
    }[];
}

/**
 * Data related to a specific vulnerability in a specific workspace that the vulnerability is present in. Must specify
 * at least one association.*
 */
interface GetVulnerabilityById {
    /**
     * The VulnerabilityData schema version used for this vulnerability data.
     *
     * Placeholder to support potential schema changes in the future.
     */
    schemaVersion: '1.0' | string;
    /** The identifier for the Vulnerability. Must be unique for a given Provider. */
    id: string;
    /**
     * An ID used to apply an ordering to updates for this Vulnerability in the case of out-of-order receipt of update
     * requests.
     *
     * This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the
     * Provider system, but other alternatives are valid (e.g. a Provider could store a counter against each Vulnerability
     * and increment that on each update to Jira).
     *
     * Updates for a Vulnerability that are received with an updateSequenceId lower than what is currently stored will be
     * ignored.
     */
    updateSequenceNumber: number;
    /**
     * The identifier of the Container where this Vulnerability was found. Must be unique for a given Provider. This must
     * follow this regex pattern: `[a-zA-Z0-9\\-_.~@:{}=]+(/[a-zA-Z0-9\\-_.~@:{}=]+)*`
     */
    containerId: string;
    /**
     * The human-readable name for the Vulnerability. Will be shown in the UI.
     *
     * If not provided, will use the ID for display.
     */
    displayName: string;
    /**
     * A description of the issue in markdown format that will be shown in the UI and used when creating Jira Issues. HTML
     * tags are not supported in the markdown format. For creating a new line `\n` can be used. Read more about the
     * accepted markdown transformations
     * [here](https://atlaskit.atlassian.com/packages/editor/editor-markdown-transformer).
     */
    description: string;
    /**
     * A URL users can use to link to a summary view of this vulnerability, if appropriate.
     *
     * This could be any location that makes sense in the Provider system (e.g. if the summary information comes from a
     * specific project, it might make sense to link the user to the vulnerability in that project).
     */
    url: string;
    /** The type of Vulnerability detected. */
    type: 'sca' | 'sast' | 'dast' | 'unknown' | string;
    /**
     * The timestamp to present to the user that shows when the Vulnerability was introduced.
     *
     * Expected format is an RFC3339 formatted string.
     */
    introducedDate: string;
    /**
     * The last-updated timestamp to present to the user the last time the Vulnerability was updated.
     *
     * Expected format is an RFC3339 formatted string.
     */
    lastUpdated: string;
    /**
     * Severity information for a single Vulnerability.
     *
     * This is the severity information that will be presented to the user on e.g. the Jira Security screen.
     */
    severity: {
        /** The severity level of the Vulnerability. */
        level: 'critical' | 'high' | 'medium' | 'low' | 'unknown' | string;
    };
    /** The identifying information for the Vulnerability. */
    identifiers?: {
        /** The display name of the Vulnerability identified. */
        displayName: string;
        /** A URL users can use to link to the definition of the Vulnerability identified. */
        url: string;
    }[];
    /** The current status of the Vulnerability. */
    status: 'open' | 'closed' | 'ignored' | 'unknown' | string;
    /** Extra information (optional). This data will be shown in the security feature under the vulnerability displayName. */
    additionalInfo?: {
        /** The content of the additionalInfo. */
        content: string;
        /** Optional URL linking to the information */
        url?: string;
    };
    /**
     * The associations (e.g. Jira issue) to add in addition to the currently stored associations of the Security
     * Vulnerability.
     */
    addAssociations?: unknown[];
    /** The associations (e.g. Jira issue) to remove from currently stored associations of the Security Vulnerability. */
    removeAssociations?: unknown[];
    /**
     * An ISO-8601 Date-time string representing the last time the provider updated associations on this entity.
     *
     * Expected format is an RFC3339 formatted string.
     */
    associationsLastUpdated?: string;
    /**
     * A sequence number to compare when writing entity associations to the database.
     *
     * This can be any monotonically increasing number. A highly recommended implementation is to use epoch millis.
     *
     * This is an optional field. If it is not provided it will default to being equal to the corresponding entity's
     * `updateSequenceNumber`.
     *
     * Associations are written following a LastWriteWins strategy, association that are received with an
     * associationsUpdateSequenceNumber lower than what is currently stored will be ignored.
     */
    associationsUpdateSequenceNumber?: number;
}

/** The payload of Operations Workspace Ids. */
interface GetWorkspaces {
    /** The IDs of Operations Workspaces that are available to this Jira site. */
    workspaceIds: string[];
}

interface Group {
    name?: string;
    self?: string;
}

/** Details of an issue transition. */
interface IssueTransition {
    /** Expand options that include additional transition details in the response. */
    expand?: string;
    /**
     * Details of the fields associated with the issue transition screen. Use this information to populate `fields` and
     * `update` in a transition request.
     */
    fields?: unknown;
    /** Whether there is a screen associated with the issue transition. */
    hasScreen?: boolean;
    /** The ID of the issue transition. Required when specifying a transition to undertake. */
    id?: string;
    /** Whether the transition is available to be performed. */
    isAvailable?: boolean;
    /** Whether the issue has to meet criteria before the issue transition is applied. */
    isConditional?: boolean;
    /** Whether the issue transition is global, that is, the transition is applied to issues regardless of their status. */
    isGlobal?: boolean;
    /** Whether this is the initial issue transition for the workflow. */
    isInitial?: boolean;
    looped?: boolean;
    /** The name of the issue transition. */
    name?: string;
    /** A status. */
    to?: {
        /** The description of the status. */
        description?: string;
        /** The URL of the icon used to represent the status. */
        iconUrl?: string;
        /** The ID of the status. */
        id?: string;
        /** The name of the status. */
        name?: string;
        /**
         * The projects the item is associated with. Indicated for items associated with [next-gen
         * projects](https://confluence.atlassian.com/x/loMyO).
         */
        scope?: Scope;
        /** The URL of the status. */
        self?: string;
        /** A status category. */
        statusCategory?: {
            /** The name of the color used to represent the status category. */
            colorName?: string;
            /** The ID of the status category. */
            id?: number;
            /** The key of the status category. */
            key?: string;
            /** The name of the status category. */
            name?: string;
            /** The URL of the status category. */
            self: string;
        };
    };
}

/** The schema of a field. */
interface JsonType {
    /** If the field is a custom field, the configuration of the field. */
    configuration?: unknown;
    /** If the field is a custom field, the URI of the field. */
    custom?: string;
    /** If the field is a custom field, the custom ID of the field. */
    customId?: number;
    /** When the data type is an array, the name of the field items within the array. */
    items?: string;
    /** If the field is a system field, the name of the field. */
    system?: string;
    /** The data type of the field. */
    type: string;
}

interface Projects {
    self: string;
    id: string;
    key: string;
    name: string;
    avatarUrls: AvatarUrls;
    projectCategory: {
        self: string;
        id: string;
        name: string;
        description: string;
    };
    simplified: boolean;
    style: string;
    insight: {
        totalIssueCount: number;
        lastIssueUpdateTime: string;
    };
}

/** The result of a JQL search. */
interface SearchResults {
    /** Expand options that include additional search result details in the response. */
    expand?: string;
    /** The list of issues found by the search. */
    issues: Issue$1[];
    /** The maximum number of results that could be on the page. */
    maxResults: number;
    /** The ID and name of each field in the search results. */
    names?: unknown;
    /** The schema describing the field types in the search results. */
    schema?: unknown;
    /** The index of the first item returned on the page. */
    startAt: number;
    /** The number of results on the page. */
    total: number;
    /** Any warnings related to the JQL query. */
    warningMessages?: string[];
}

/** The result of a successful store development information request */
interface StoreDevelopmentInformation {
    /**
     * The IDs of devinfo entities that have been accepted for submission grouped by their repository IDs. Note that a
     * devinfo entity that isn't updated due to it's updateSequenceId being out of order is not considered a failed
     * submission.
     */
    acceptedDevinfoEntities?: unknown;
    /**
     * IDs of devinfo entities that have not been accepted for submission and caused error descriptions, usually due to a
     * problem with the request data. The entities (if present) will be grouped by their repository id and type. Entity
     * IDs are listed with errors associated with that devinfo entity that have prevented it being submitted.
     */
    failedDevinfoEntities?: unknown;
    /**
     * Issue keys that are not known on this Jira instance (if any). These may be invalid keys (e.g. `UTF-8` is sometimes
     * incorrectly identified as a Jira issue key), or they may be for projects that no longer exist. If a devinfo entity
     * has been associated with issue keys other than those in this array it will still be stored against those valid
     * keys.
     */
    unknownIssueKeys?: string[];
}

/** The result of a successful `submitBuilds` request.* */
interface SubmitBuilds {
    /**
     * The keys of builds that have been accepted for submission. A build key is a composite key that consists of
     * `pipelineId` and `buildNumber`.
     *
     * A build may be rejected if it was only associated with unknown issue keys, or if the submitted data for that build
     * does not match the required schema.
     *
     * Note that a build that isn't updated due to it's `updateSequenceNumber` being out of order is not considered a
     * failed submission.
     */
    acceptedBuilds?: {
        /**
         * An ID that relates a sequence of builds. Depending on your system this might be a project ID, pipeline ID, plan
         * key etc. - whatever logical unit you use to group a sequence of builds.
         *
         * The combination of `pipelineId` and `buildNumber` must uniquely identify the build.
         */
        pipelineId: string;
        /**
         * Identifies a build within the sequence of builds identified by the build `pipelineId`.
         *
         * Used to identify the 'most recent' build in that sequence of builds.
         *
         * The combination of `pipelineId` and `buildNumber` must uniquely identify the build.
         */
        buildNumber: number;
    }[];
    /**
     * Details of builds that have not been accepted for submission.
     *
     * A build may be rejected if it was only associated with unknown issue keys, or if the submitted data for the build
     * does not match the required schema.
     */
    rejectedBuilds?: {
        /** Fields that uniquely reference a build. */
        key: {
            /**
             * An ID that relates a sequence of builds. Depending on your system this might be a project ID, pipeline ID, plan
             * key etc. - whatever logical unit you use to group a sequence of builds.
             *
             * The combination of `pipelineId` and `buildNumber` must uniquely identify the build.
             */
            pipelineId: string;
            /**
             * Identifies a build within the sequence of builds identified by the build `pipelineId`.
             *
             * Used to identify the 'most recent' build in that sequence of builds.
             *
             * The combination of `pipelineId` and `buildNumber` must uniquely identify the build.
             */
            buildNumber: number;
        };
        /** The error messages for the rejected build */
        errors: {
            /** A human-readable message describing the error. */
            message: string;
            /** An optional trace ID that can be used by Jira developers to locate the source of the error. */
            errorTraceId?: string;
        }[];
    }[];
    /**
     * Issue keys that are not known on this Jira instance (if any).
     *
     * These may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be
     * for projects that no longer exist.
     *
     * If a build has been associated with issue keys other than those in this array it will still be stored against those
     * valid keys. If a build was only associated with issue keys deemed to be invalid it won't be persisted.
     */
    unknownIssueKeys?: string[];
}

/** The result of a successful submitDevopsComponents request.* */
interface SubmitComponents {
    /**
     * The IDs of Components that have been accepted for submission.
     *
     * A Component may be rejected if it was only associated with unknown project keys.
     *
     * Note that a Component that isn't updated due to it's updateSequenceNumber being out of order is not considered a
     * failed submission.
     */
    acceptedComponents?: string[];
    /**
     * Details of Components that have not been accepted for submission, usually due to a problem with the request data.
     *
     * The object (if present) will be keyed by Component ID and include any errors associated with that Component that
     * have prevented it being submitted.
     */
    failedComponents?: unknown;
    /**
     * Project keys that are not known on this Jira instance (if any).
     *
     * These may be invalid keys (e.g. `UTF` is sometimes incorrectly identified as a Jira project key), or they may be
     * for projects that no longer exist.
     *
     * If a Component has been associated with project keys other than those in this array it will still be stored against
     * those valid keys. If a Component was only associated with project keys deemed to be invalid it won't be persisted.
     */
    unknownProjectKeys?: string[];
}

/** The result of a successful submitDeployments request.* */
interface SubmitDeployments {
    /**
     * The keys of deployments that have been accepted for submission. A deployment key is a composite key that consists
     * of `pipelineId`, `environmentId` and `deploymentSequenceNumber`.
     *
     * A deployment may be rejected if it was only associated with unknown issue keys.
     *
     * Note that a deployment that isn't updated due to it's updateSequenceNumber being out of order is not considered a
     * failed submission.
     */
    acceptedDeployments?: {
        /** The identifier of a pipeline, must be unique for the provider. */
        pipelineId: string;
        /** The identifier of an environment, must be unique for the provider so that it can be shared across pipelines. */
        environmentId: string;
        /**
         * This is the identifier for the deployment. It must be unique for the specified pipeline and environment. It must
         * be a monotonically increasing number, as this is used to sequence the deployments.
         */
        deploymentSequenceNumber: number;
    }[];
    /**
     * Details of deployments that have not been accepted for submission, usually due to a problem with the request data.
     *
     * The object will contain the deployment key and any errors associated with that deployment that have prevented it
     * being submitted.
     */
    rejectedDeployments?: {
        /** Fields that uniquely reference a deployment. */
        key: {
            /** The identifier of a pipeline, must be unique for the provider. */
            pipelineId: string;
            /** The identifier of an environment, must be unique for the provider so that it can be shared across pipelines. */
            environmentId: string;
            /**
             * This is the identifier for the deployment. It must be unique for the specified pipeline and environment. It
             * must be a monotonically increasing number, as this is used to sequence the deployments.
             */
            deploymentSequenceNumber: number;
        };
        /** The error messages for the rejected deployment */
        errors: {
            /** A human-readable message describing the error. */
            message: string;
            /** An optional trace ID that can be used by Jira developers to locate the source of the error. */
            errorTraceId?: string;
        }[];
    }[];
    /**
     * Issue keys that are not known on this Jira instance (if any).
     *
     * These may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be
     * for projects that no longer exist.
     *
     * If a deployment has been associated with issue keys other than those in this array it will still be stored against
     * those valid keys. If a deployment was only associated with issue keys deemed to be invalid it won't be persisted.
     */
    unknownIssueKeys?: string[];
    /**
     * Associations (e.g. Issue Keys or Service IDs) that are not known on this Jira instance (if any).
     *
     * These may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be
     * for projects that no longer exist.
     *
     * If a deployment has been associated with any other association other than those in this array it will still be
     * stored against those valid associations. If a deployment was only associated with the associations in this array,
     * it is deemed to be invalid and it won't be persisted.
     */
    unknownAssociations?: unknown[];
}

/** The result of a successful submitIncidents request.* */
interface SubmitEntity {
    /**
     * The IDs of Incidents that have been accepted for submission.
     *
     * A Incident may be rejected if it was only associated with unknown project keys.
     *
     * Note that a Incident that isn't updated due to it's updateSequenceNumber being out of order is not considered a
     * failed submission.
     */
    acceptedIncidents?: string[];
    /**
     * Details of Incidents that have not been accepted for submission, usually due to a problem with the request data.
     *
     * The object (if present) will be keyed by Incident ID and include any errors associated with that Incident that have
     * prevented it being submitted.
     */
    failedIncidents?: unknown;
    /**
     * Project keys that are not known on this Jira instance (if any).
     *
     * These may be invalid keys (e.g. `UTF` is sometimes incorrectly identified as a Jira project key), or they may be
     * for projects that no longer exist.
     *
     * If a Incident has been associated with project keys other than those in this array it will still be stored against
     * those valid keys. If a Incident was only associated with project keys deemed to be invalid it won't be persisted.
     */
    unknownProjectKeys?: string[];
}

/** The result of a successful submitFeatureFlags request.* */
interface SubmitFeatureFlags {
    /**
     * The IDs of Feature Flags that have been accepted for submission.
     *
     * A Feature Flag may be rejected if it was only associated with unknown issue keys.
     *
     * Note that a Feature Flag that isn't updated due to it's updateSequenceId being out of order is not considered a
     * failed submission.
     */
    acceptedFeatureFlags?: string[];
    /**
     * Details of Feature Flags that have not been accepted for submission, usually due to a problem with the request
     * data.
     *
     * The object (if present) will be keyed by Feature Flag ID and include any errors associated with that Feature Flag
     * that have prevented it being submitted.
     */
    failedFeatureFlags?: unknown;
    /**
     * Issue keys that are not known on this Jira instance (if any).
     *
     * These may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be
     * for projects that no longer exist.
     *
     * If a Feature Flag has been associated with issue keys other than those in this array it will still be stored
     * against those valid keys. If a Feature Flag was only associated with issue keys deemed to be invalid it won't be
     * persisted.
     */
    unknownIssueKeys?: string[];
}

/** The result of a successful submitOperationsWorkspaces request.* */
interface SubmitOperationsWorkspaces {
    /** The IDs of Operations Workspaces that have been linked to the Jira site in this request. */
    acceptedWorkspaceIds?: string[];
}

/** The result of a successful `submitRemoteLinks` request.* */
interface SubmitRemoteLinks {
    /**
     * The IDs of Remote Links that have been accepted for submission.
     *
     * A Remote Link may be rejected if it was only associated with unknown issue keys, unknown service IDs, or if the
     * submitted data for that Remote Link does not match the required schema.
     *
     * Note that a Remote Link that isn't updated due to it's `updateSequenceNumber` being out of order is not considered
     * a failed submission.
     */
    acceptedRemoteLinks?: string[];
    /**
     * Details of Remote Links that have not been accepted for submission, usually due to a problem with the request data.
     *
     * A Remote Link may be rejected if it was only associated with unknown issue keys, unknown service IDs, or if the
     * submitted data for the Remote Link does not match the required schema.
     *
     * The object (if present) will be keyed by Remote Link ID and include any errors associated with that Remote Link
     * that have prevented it being submitted.
     */
    rejectedRemoteLinks?: unknown;
    /** Issue keys or services IDs or keys that are not known on this Jira instance (if any). */
    unknownAssociations?: string[];
}

/** The result of a successful submitVulnerabilities request.* */
interface SubmitVulnerabilities {
    /**
     * The IDs of Vulnerabilities that have been accepted for submission.
     *
     * A Vulnerability may be rejected if it was only associated with unknown project keys.
     *
     * Note that a Vulnerability that isn't updated due to it's updateSequenceNumber being out of order is not considered
     * a failed submission.
     */
    acceptedVulnerabilities?: string[];
    /**
     * Details of Vulnerabilities that have not been accepted for submission, usually due to a problem with the request
     * data.
     *
     * The object (if present) will be keyed by Vulnerability ID and include any errors associated with that Vulnerability
     * that have prevented it being submitted.
     */
    failedVulnerabilities?: unknown;
    /**
     * Associations (e.g. Service IDs) that are not known on this Jira instance (if any).
     *
     * If a Vulnerability has been associated with any other association other than those in this array it will still be
     * stored against those valid associations. If a Vulnerability was only associated with the associations in this
     * array, it is deemed to be invalid and it won't be persisted.
     */
    unknownAssociations?: unknown[];
}

interface ToggleFeatures {
    features?: {
        boardFeature?: 'SIMPLE_ROADMAP' | 'BACKLOG' | 'SPRINTS' | 'CALENDAR' | 'DEVTOOLS' | 'REPORTS' | 'ESTIMATION' | 'PAGES' | 'CODE' | 'SECURITY' | 'REQUESTS' | 'INCIDENTS' | 'RELEASES' | 'DEPLOYMENTS' | 'ISSUE_NAVIGATOR' | 'ON_CALL_SCHEDULE' | 'BOARD' | 'GOALS' | 'LIST_VIEW' | string;
        boardId?: number;
        featureId?: string;
        featureType?: 'BASIC' | 'ESTIMATION' | string;
        imageUri?: string;
        learnMoreArticleId?: string;
        learnMoreLink?: string;
        localisedDescription?: string;
        localisedGroup?: string;
        localisedName?: string;
        permissibleEstimationTypes?: {
            localisedDescription?: string;
            localisedName?: string;
            value?: 'STORY_POINTS' | 'ORIGINAL_ESTIMATE' | string;
        }[];
        state?: 'ENABLED' | 'DISABLED' | 'COMING_SOON' | string;
        toggleLocked?: boolean;
    }[];
}

type index$1_AvatarUrls = AvatarUrls;
type index$1_CreateBoard = CreateBoard;
type index$1_ExistsByProperties = ExistsByProperties;
type index$1_Fields = Fields;
type index$1_FixVersion = FixVersion;
type index$1_GetAllBoards = GetAllBoards;
type index$1_GetAllQuickFilters = GetAllQuickFilters;
type index$1_GetBoard = GetBoard;
type index$1_GetBoardByFilterId = GetBoardByFilterId;
type index$1_GetBuildByKey = GetBuildByKey;
type index$1_GetComponentById = GetComponentById;
type index$1_GetConfiguration = GetConfiguration;
type index$1_GetDeploymentByKey = GetDeploymentByKey;
type index$1_GetDeploymentGatingStatusByKey = GetDeploymentGatingStatusByKey;
type index$1_GetFeatureFlagById = GetFeatureFlagById;
type index$1_GetFeaturesForBoard = GetFeaturesForBoard;
type index$1_GetIncidentById = GetIncidentById;
type index$1_GetLinkedWorkspaceById = GetLinkedWorkspaceById;
type index$1_GetLinkedWorkspaces = GetLinkedWorkspaces;
type index$1_GetQuickFilter = GetQuickFilter;
type index$1_GetRemoteLinkById = GetRemoteLinkById;
type index$1_GetReportsForBoard = GetReportsForBoard;
type index$1_GetRepository = GetRepository;
type index$1_GetReviewById = GetReviewById;
type index$1_GetVulnerabilityById = GetVulnerabilityById;
type index$1_GetWorkspaces = GetWorkspaces;
type index$1_Group = Group;
type index$1_IssueTransition = IssueTransition;
type index$1_IssueType = IssueType;
type index$1_JsonType = JsonType;
type index$1_LinkGroup = LinkGroup;
type index$1_Progress = Progress;
type index$1_Project = Project;
type index$1_Projects = Projects;
type index$1_Scope = Scope;
type index$1_SearchResults = SearchResults;
type index$1_Status = Status;
type index$1_StatusCategory = StatusCategory;
type index$1_StoreDevelopmentInformation = StoreDevelopmentInformation;
type index$1_SubmitBuilds = SubmitBuilds;
type index$1_SubmitComponents = SubmitComponents;
type index$1_SubmitDeployments = SubmitDeployments;
type index$1_SubmitEntity = SubmitEntity;
type index$1_SubmitFeatureFlags = SubmitFeatureFlags;
type index$1_SubmitOperationsWorkspaces = SubmitOperationsWorkspaces;
type index$1_SubmitRemoteLinks = SubmitRemoteLinks;
type index$1_SubmitVulnerabilities = SubmitVulnerabilities;
type index$1_ToggleFeatures = ToggleFeatures;
type index$1_User = User;
type index$1_Version = Version;
declare namespace index$1 {
  export type { index$1_AvatarUrls as AvatarUrls, Board$1 as Board, index$1_CreateBoard as CreateBoard, Epic$1 as Epic, index$1_ExistsByProperties as ExistsByProperties, index$1_Fields as Fields, index$1_FixVersion as FixVersion, index$1_GetAllBoards as GetAllBoards, index$1_GetAllQuickFilters as GetAllQuickFilters, index$1_GetBoard as GetBoard, index$1_GetBoardByFilterId as GetBoardByFilterId, index$1_GetBuildByKey as GetBuildByKey, index$1_GetComponentById as GetComponentById, index$1_GetConfiguration as GetConfiguration, index$1_GetDeploymentByKey as GetDeploymentByKey, index$1_GetDeploymentGatingStatusByKey as GetDeploymentGatingStatusByKey, index$1_GetFeatureFlagById as GetFeatureFlagById, index$1_GetFeaturesForBoard as GetFeaturesForBoard, index$1_GetIncidentById as GetIncidentById, index$1_GetLinkedWorkspaceById as GetLinkedWorkspaceById, index$1_GetLinkedWorkspaces as GetLinkedWorkspaces, index$1_GetQuickFilter as GetQuickFilter, index$1_GetRemoteLinkById as GetRemoteLinkById, index$1_GetReportsForBoard as GetReportsForBoard, index$1_GetRepository as GetRepository, index$1_GetReviewById as GetReviewById, index$1_GetVulnerabilityById as GetVulnerabilityById, index$1_GetWorkspaces as GetWorkspaces, index$1_Group as Group, Issue$1 as Issue, index$1_IssueTransition as IssueTransition, index$1_IssueType as IssueType, index$1_JsonType as JsonType, index$1_LinkGroup as LinkGroup, Operations$1 as Operations, index$1_Progress as Progress, index$1_Project as Project, index$1_Projects as Projects, index$1_Scope as Scope, index$1_SearchResults as SearchResults, Sprint$1 as Sprint, index$1_Status as Status, index$1_StatusCategory as StatusCategory, index$1_StoreDevelopmentInformation as StoreDevelopmentInformation, index$1_SubmitBuilds as SubmitBuilds, index$1_SubmitComponents as SubmitComponents, index$1_SubmitDeployments as SubmitDeployments, index$1_SubmitEntity as SubmitEntity, index$1_SubmitFeatureFlags as SubmitFeatureFlags, index$1_SubmitOperationsWorkspaces as SubmitOperationsWorkspaces, index$1_SubmitRemoteLinks as SubmitRemoteLinks, index$1_SubmitVulnerabilities as SubmitVulnerabilities, index$1_ToggleFeatures as ToggleFeatures, index$1_User as User, index$1_Version as Version };
}

declare class Board {
    private client;
    constructor(client: Client);
    /**
     * Returns all boards. This only includes boards that the user has permission to view.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on February 15, 2024.
     *
     * - `read:board-scope:jira-software`, `read:project:jira`
     */
    getAllBoards<T = GetAllBoards>(parameters: GetAllBoards$1 | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all boards. This only includes boards that the user has permission to view.
     *
     * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on February 15, 2024.
     *
     * - `read:board-scope:jira-software`, `read:project:jira`
     */
    getAllBoards<T = GetAllBoards>(parameters?: GetAllBoards$1, callback?: never): Promise<T>;
    /**
     * Creates a new board. Board name, type and filter ID is required.
     *
     * - `name` - Must be less than 255 characters.
     * - `type` - Valid values: scrum, kanban
     * - `filterId` - ID of a filter that the user has permissions to view. Note, if the user does not have the 'Create
     *   shared objects' permission and tries to create a shared board, a private board will be created instead (remember
     *   that board sharing depends on the filter sharing).
     * - `location` - The container that the board will be located in. `location` must include the `type` property (Valid
     *   values: project, user). If choosing 'project', then a project must be specified by a `projectKeyOrId` property in
     *   `location`. If choosing 'user', the current user is chosen by default. The `projectKeyOrId` property should not
     *   be provided.
     *
     * Note:
     *
     * - If you want to create a new project with an associated board, use the [Jira platform REST
     *   API](https://docs.atlassian.com/jira/REST/latest). For more information, see the [Create
     *   project](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-post)
     *   method. The `projectTypeKey` for software boards must be 'software' and the `projectTemplateKey` must be either
     *   `com.pyxis.greenhopper.jira:gh-kanban-template` or `com.pyxis.greenhopper.jira:gh-scrum-template`.
     * - You can create a filter using the [Jira REST API](https://docs.atlassian.com/jira/REST/latest). For more
     *   information, see the [Create
     *   filter](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/#api-rest-api-3-filter-post)
     *   method.
     * - If you do not ORDER BY the Rank field for the filter of your board, you will not be able to reorder issues on the
     *   board.
     */
    createBoard<T = CreateBoard>(parameters: CreateBoard$1, callback: Callback<T>): Promise<void>;
    /**
     * Creates a new board. Board name, type and filter ID is required.
     *
     * - `name` - Must be less than 255 characters.
     * - `type` - Valid values: scrum, kanban
     * - `filterId` - ID of a filter that the user has permissions to view. Note, if the user does not have the 'Create
     *   shared objects' permission and tries to create a shared board, a private board will be created instead (remember
     *   that board sharing depends on the filter sharing).
     * - `location` - The container that the board will be located in. `location` must include the `type` property (Valid
     *   values: project, user). If choosing 'project', then a project must be specified by a `projectKeyOrId` property in
     *   `location`. If choosing 'user', the current user is chosen by default. The `projectKeyOrId` property should not
     *   be provided.
     *
     * Note:
     *
     * - If you want to create a new project with an associated board, use the [Jira platform REST
     *   API](https://docs.atlassian.com/jira/REST/latest). For more information, see the [Create
     *   project](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-post)
     *   method. The `projectTypeKey` for software boards must be 'software' and the `projectTemplateKey` must be either
     *   `com.pyxis.greenhopper.jira:gh-kanban-template` or `com.pyxis.greenhopper.jira:gh-scrum-template`.
     * - You can create a filter using the [Jira REST API](https://docs.atlassian.com/jira/REST/latest). For more
     *   information, see the [Create
     *   filter](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/#api-rest-api-3-filter-post)
     *   method.
     * - If you do not ORDER BY the Rank field for the filter of your board, you will not be able to reorder issues on the
     *   board.
     */
    createBoard<T = CreateBoard>(parameters: CreateBoard$1, callback?: never): Promise<T>;
    /**
     * Returns any boards which use the provided filter id. This method can be executed by users without a valid software
     * license in order to find which boards are using a particular filter.
     */
    getBoardByFilterId<T = GetBoardByFilterId>(parameters: GetBoardByFilterId$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns any boards which use the provided filter id. This method can be executed by users without a valid software
     * license in order to find which boards are using a particular filter.
     */
    getBoardByFilterId<T = GetBoardByFilterId>(parameters: GetBoardByFilterId$1, callback?: never): Promise<T>;
    /**
     * Returns the board for the given board ID. This board will only be returned if the user has permission to view it.
     * Admins without the view permission will see the board as a private one, so will see only a subset of the board's
     * data (board location for instance).
     */
    getBoard<T = GetBoard>(parameters: GetBoard$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the board for the given board ID. This board will only be returned if the user has permission to view it.
     * Admins without the view permission will see the board as a private one, so will see only a subset of the board's
     * data (board location for instance).
     */
    getBoard<T = GetBoard>(parameters: GetBoard$1, callback?: never): Promise<T>;
    /** Deletes the board. Admin without the view permission can still remove the board. */
    deleteBoard<T = void>(parameters: DeleteBoard, callback: Callback<T>): Promise<void>;
    /** Deletes the board. Admin without the view permission can still remove the board. */
    deleteBoard<T = void>(parameters: DeleteBoard, callback?: never): Promise<T>;
    /**
     * Returns all issues from the board's backlog, for the given board ID. This only includes issues that the user has
     * permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint.
     * Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned
     * from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned
     * issues are ordered by rank.
     */
    getIssuesForBacklog<T = SearchResults>(parameters: GetIssuesForBacklog, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues from the board's backlog, for the given board ID. This only includes issues that the user has
     * permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint.
     * Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned
     * from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned
     * issues are ordered by rank.
     */
    getIssuesForBacklog<T = SearchResults>(parameters: GetIssuesForBacklog, callback?: never): Promise<T>;
    /**
     * Get the board configuration. The response contains the following fields:
     *
     * - `id` - ID of the board.
     * - `name` - Name of the board.
     * - `filter` - Reference to the filter used by the given board.
     * - `location` - Reference to the container that the board is located in. Includes the container type (Valid values:
     *   project, user).
     * - `subQuery` (Kanban only) - JQL subquery used by the given board.
     * - `columnConfig` - The column configuration lists the columns for the board, in the order defined in the column
     *   configuration. For each column, it shows the issue status mapping as well as the constraint type (Valid values:
     *   none, issueCount, issueCountExclSubs) for the min/max number of issues. Note, the last column with statuses
     *   mapped to it is treated as the "Done" column, which means that issues in that column will be marked as already
     *   completed.
     * - `estimation` (Scrum only) - Contains information about type of estimation used for the board. Valid values: none,
     *   issueCount, field. If the estimation type is "field", the ID and display name of the field used for estimation is
     *   also returned. Note, estimates for an issue can be updated by a PUT /rest/api/3/issue/{issueIdOrKey} request,
     *   however the fields must be on the screen. "timeoriginalestimate" field will never be on the screen, so in order
     *   to update it "originalEstimate" in "timetracking" field should be updated.
     * - `ranking` - Contains information about custom field used for ranking in the given board.
     */
    getConfiguration<T = GetConfiguration>(parameters: GetConfiguration$1, callback: Callback<T>): Promise<void>;
    /**
     * Get the board configuration. The response contains the following fields:
     *
     * - `id` - ID of the board.
     * - `name` - Name of the board.
     * - `filter` - Reference to the filter used by the given board.
     * - `location` - Reference to the container that the board is located in. Includes the container type (Valid values:
     *   project, user).
     * - `subQuery` (Kanban only) - JQL subquery used by the given board.
     * - `columnConfig` - The column configuration lists the columns for the board, in the order defined in the column
     *   configuration. For each column, it shows the issue status mapping as well as the constraint type (Valid values:
     *   none, issueCount, issueCountExclSubs) for the min/max number of issues. Note, the last column with statuses
     *   mapped to it is treated as the "Done" column, which means that issues in that column will be marked as already
     *   completed.
     * - `estimation` (Scrum only) - Contains information about type of estimation used for the board. Valid values: none,
     *   issueCount, field. If the estimation type is "field", the ID and display name of the field used for estimation is
     *   also returned. Note, estimates for an issue can be updated by a PUT /rest/api/3/issue/{issueIdOrKey} request,
     *   however the fields must be on the screen. "timeoriginalestimate" field will never be on the screen, so in order
     *   to update it "originalEstimate" in "timetracking" field should be updated.
     * - `ranking` - Contains information about custom field used for ranking in the given board.
     */
    getConfiguration<T = GetConfiguration>(parameters: GetConfiguration$1, callback?: never): Promise<T>;
    /**
     * Returns all epics from the board, for the given board ID. This only includes epics that the user has permission to
     * view. Note, if the user does not have permission to view the board, no epics will be returned at all.
     */
    getEpics<T = Paginated<Epic$1>>(parameters: GetEpics, callback: Callback<T>): Promise<void>;
    /**
     * Returns all epics from the board, for the given board ID. This only includes epics that the user has permission to
     * view. Note, if the user does not have permission to view the board, no epics will be returned at all.
     */
    getEpics<T = Paginated<Epic$1>>(parameters: GetEpics, callback?: never): Promise<T>;
    /**
     * Returns all issues that do not belong to any epic on a board, for a given board ID. This only includes issues that
     * the user has permission to view. Issues returned from this resource include Agile fields, like sprint,
     * closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
     */
    getIssuesWithoutEpicForBoard<T = SearchResults>(parameters: GetIssuesWithoutEpicForBoard, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues that do not belong to any epic on a board, for a given board ID. This only includes issues that
     * the user has permission to view. Issues returned from this resource include Agile fields, like sprint,
     * closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
     */
    getIssuesWithoutEpicForBoard<T = SearchResults>(parameters: GetIssuesWithoutEpicForBoard, callback?: never): Promise<T>;
    /**
     * Returns all issues that belong to an epic on the board, for the given epic ID and the board ID. This only includes
     * issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint,
     * closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
     */
    getBoardIssuesForEpic<T = SearchResults>(parameters: GetBoardIssuesForEpic, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues that belong to an epic on the board, for the given epic ID and the board ID. This only includes
     * issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint,
     * closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.
     */
    getBoardIssuesForEpic<T = SearchResults>(parameters: GetBoardIssuesForEpic, callback?: never): Promise<T>;
    getFeaturesForBoard<T = GetFeaturesForBoard>(parameters: GetFeaturesForBoard$1, callback: Callback<T>): Promise<void>;
    getFeaturesForBoard<T = GetFeaturesForBoard>(parameters: GetFeaturesForBoard$1, callback?: never): Promise<T>;
    toggleFeatures<T = ToggleFeatures>(parameters: ToggleFeatures$1, callback: Callback<T>): Promise<void>;
    toggleFeatures<T = ToggleFeatures>(parameters: ToggleFeatures$1, callback?: never): Promise<T>;
    /**
     * Returns all issues from a board, for a given board ID. This only includes issues that the user has permission to
     * view. An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to
     * the scrum boards. Note, if the user does not have permission to view the board, no issues will be returned at all.
     * Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default,
     * the returned issues are ordered by rank.
     */
    getIssuesForBoard<T = SearchResults>(parameters: GetIssuesForBoard, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues from a board, for a given board ID. This only includes issues that the user has permission to
     * view. An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to
     * the scrum boards. Note, if the user does not have permission to view the board, no issues will be returned at all.
     * Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default,
     * the returned issues are ordered by rank.
     */
    getIssuesForBoard<T = SearchResults>(parameters: GetIssuesForBoard, callback?: never): Promise<T>;
    /**
     * Move issues from the backlog to the board (if they are already in the backlog of that board).\
     * This operation either moves an issue(s) onto a board from the backlog (by adding it to the issueList for the board)
     * Or transitions the issue(s) to the first column for a kanban board with backlog. At most 50 issues may be moved at
     * once.
     */
    moveIssuesToBoard<T = void>(parameters: MoveIssuesToBoard, callback: Callback<T>): Promise<void>;
    /**
     * Move issues from the backlog to the board (if they are already in the backlog of that board).\
     * This operation either moves an issue(s) onto a board from the backlog (by adding it to the issueList for the board)
     * Or transitions the issue(s) to the first column for a kanban board with backlog. At most 50 issues may be moved at
     * once.
     */
    moveIssuesToBoard<T = void>(parameters: MoveIssuesToBoard, callback?: never): Promise<T>;
    /**
     * Returns all projects that are associated with the board, for the given board ID. If the user does not have
     * permission to view the board, no projects will be returned at all. Returned projects are ordered by the name.
     *
     * A project is associated with a board if the board filter contains reference the project or there is an issue from
     * the project that belongs to the board.
     *
     * The board filter contains reference the project only if JQL query guarantees that returned issues will be returned
     * from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have
     * reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to
     * any project.
     *
     * An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to the
     * scrum boards.
     */
    getProjects<T = Paginated<Projects>>(parameters: GetProjects, callback: Callback<T>): Promise<void>;
    /**
     * Returns all projects that are associated with the board, for the given board ID. If the user does not have
     * permission to view the board, no projects will be returned at all. Returned projects are ordered by the name.
     *
     * A project is associated with a board if the board filter contains reference the project or there is an issue from
     * the project that belongs to the board.
     *
     * The board filter contains reference the project only if JQL query guarantees that returned issues will be returned
     * from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have
     * reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to
     * any project.
     *
     * An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to the
     * scrum boards.
     */
    getProjects<T = Paginated<Projects>>(parameters: GetProjects, callback?: never): Promise<T>;
    /**
     * Returns all projects that are statically associated with the board, for the given board ID. Returned projects are
     * ordered by the name.
     *
     * A project is associated with a board if the board filter contains reference the project.
     *
     * The board filter contains reference the project only if JQL query guarantees that returned issues will be returned
     * from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have
     * reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to
     * any project.
     */
    getProjectsFull<T = Projects[]>(parameters: GetProjectsFull, callback: Callback<T>): Promise<void>;
    /**
     * Returns all projects that are statically associated with the board, for the given board ID. Returned projects are
     * ordered by the name.
     *
     * A project is associated with a board if the board filter contains reference the project.
     *
     * The board filter contains reference the project only if JQL query guarantees that returned issues will be returned
     * from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have
     * reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to
     * any project.
     */
    getProjectsFull<T = Projects[]>(parameters: GetProjectsFull, callback?: never): Promise<T>;
    /**
     * Returns the keys of all properties for the board identified by the id. The user who retrieves the property keys is
     * required to have permissions to view the board.
     */
    getBoardPropertyKeys<T = unknown>(parameters: GetBoardPropertyKeys, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for the board identified by the id. The user who retrieves the property keys is
     * required to have permissions to view the board.
     */
    getBoardPropertyKeys<T = unknown>(parameters: GetBoardPropertyKeys, callback?: never): Promise<T>;
    /**
     * Returns the value of the property with a given key from the board identified by the provided id. The user who
     * retrieves the property is required to have permissions to view the board.
     */
    getBoardProperty<T = unknown>(parameters: GetBoardProperty, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of the property with a given key from the board identified by the provided id. The user who
     * retrieves the property is required to have permissions to view the board.
     */
    getBoardProperty<T = unknown>(parameters: GetBoardProperty, callback?: never): Promise<T>;
    /**
     * Sets the value of the specified board's property.
     *
     * You can use this resource to store a custom data against the board identified by the id. The user who stores the
     * data is required to have permissions to modify the board.
     */
    setBoardProperty<T = unknown>(parameters: SetBoardProperty, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of the specified board's property.
     *
     * You can use this resource to store a custom data against the board identified by the id. The user who stores the
     * data is required to have permissions to modify the board.
     */
    setBoardProperty<T = unknown>(parameters: SetBoardProperty, callback?: never): Promise<T>;
    /**
     * Removes the property from the board identified by the id. Ths user removing the property is required to have
     * permissions to modify the board.
     */
    deleteBoardProperty<T = void>(parameters: DeleteBoardProperty, callback: Callback<T>): Promise<void>;
    /**
     * Removes the property from the board identified by the id. Ths user removing the property is required to have
     * permissions to modify the board.
     */
    deleteBoardProperty<T = void>(parameters: DeleteBoardProperty, callback?: never): Promise<T>;
    /** Returns all quick filters from a board, for a given board ID. */
    getAllQuickFilters<T = GetAllQuickFilters>(parameters: GetAllQuickFilters$1, callback: Callback<T>): Promise<void>;
    /** Returns all quick filters from a board, for a given board ID. */
    getAllQuickFilters<T = GetAllQuickFilters>(parameters: GetAllQuickFilters$1, callback?: never): Promise<T>;
    /**
     * Returns the quick filter for a given quick filter ID. The quick filter will only be returned if the user can view
     * the board that the quick filter belongs to.
     */
    getQuickFilter<T = GetQuickFilter>(parameters: GetQuickFilter$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the quick filter for a given quick filter ID. The quick filter will only be returned if the user can view
     * the board that the quick filter belongs to.
     */
    getQuickFilter<T = GetQuickFilter>(parameters: GetQuickFilter$1, callback?: never): Promise<T>;
    getReportsForBoard<T = GetReportsForBoard>(parameters: GetReportsForBoard$1, callback: Callback<T>): Promise<void>;
    getReportsForBoard<T = GetReportsForBoard>(parameters: GetReportsForBoard$1, callback?: never): Promise<T>;
    /**
     * Returns all sprints from a board, for a given board ID. This only includes sprints that the user has permission to
     * view.
     */
    getAllSprints<T = Paginated<Sprint$1>>(parameters: GetAllSprints, callback: Callback<T>): Promise<void>;
    /**
     * Returns all sprints from a board, for a given board ID. This only includes sprints that the user has permission to
     * view.
     */
    getAllSprints<T = Paginated<Sprint$1>>(parameters: GetAllSprints, callback?: never): Promise<T>;
    /**
     * Get all issues you have access to that belong to the sprint from the board. Issue returned from this resource
     * contains additional fields like: sprint, closedSprints, flagged and epic. Issues are returned ordered by rank. JQL
     * order has higher priority than default rank.
     */
    getBoardIssuesForSprint<T = unknown>(parameters: GetBoardIssuesForSprint, callback: Callback<T>): Promise<void>;
    /**
     * Get all issues you have access to that belong to the sprint from the board. Issue returned from this resource
     * contains additional fields like: sprint, closedSprints, flagged and epic. Issues are returned ordered by rank. JQL
     * order has higher priority than default rank.
     */
    getBoardIssuesForSprint<T = unknown>(parameters: GetBoardIssuesForSprint, callback?: never): Promise<T>;
    /**
     * Returns all versions from a board, for a given board ID. This only includes versions that the user has permission
     * to view. Note, if the user does not have permission to view the board, no versions will be returned at all.
     * Returned versions are ordered by the name of the project from which they belong and then by sequence defined by
     * user.
     */
    getAllVersions<T = Paginated<Version>>(parameters: GetAllVersions, callback: Callback<T>): Promise<void>;
    /**
     * Returns all versions from a board, for a given board ID. This only includes versions that the user has permission
     * to view. Note, if the user does not have permission to view the board, no versions will be returned at all.
     * Returned versions are ordered by the name of the project from which they belong and then by sequence defined by
     * user.
     */
    getAllVersions<T = Paginated<Version>>(parameters: GetAllVersions, callback?: never): Promise<T>;
}

declare class Builds {
    private client;
    constructor(client: Client);
    /**
     * Update / insert builds data.
     *
     * Builds are identified by the combination of `pipelineId` and `buildNumber`, and existing build data for the same
     * build will be replaced if it exists and the `updateSequenceNumber` of the existing data is less than the incoming
     * data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * `getBuildByKey` operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple builds being submitted in one request, each is validated individually prior to submission.
     * Details of which build failed submission (if any) are available in the response object.
     *
     * Only Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'WRITE' scope for Connect apps.
     */
    submitBuilds<T = SubmitBuilds>(parameters: SubmitBuilds$1, callback: Callback<T>): Promise<void>;
    /**
     * Update / insert builds data.
     *
     * Builds are identified by the combination of `pipelineId` and `buildNumber`, and existing build data for the same
     * build will be replaced if it exists and the `updateSequenceNumber` of the existing data is less than the incoming
     * data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * `getBuildByKey` operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple builds being submitted in one request, each is validated individually prior to submission.
     * Details of which build failed submission (if any) are available in the response object.
     *
     * Only Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'WRITE' scope for Connect apps.
     */
    submitBuilds<T = SubmitBuilds>(parameters: SubmitBuilds$1, callback?: never): Promise<T>;
    /**
     * Bulk delete all builds data that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. Optional param
     * `_updateSequenceNumber` is no longer supported. If more than one Property is provided, data will be deleted that
     * matches ALL of the Properties (e.g. treated as an AND).
     *
     * See the documentation for the `submitBuilds` operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&repoId=repo-345
     *
     * Deletion is performed asynchronously. The `getBuildByKey` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteBuildsByProperty<T = unknown>(parameters: DeleteBuildsByProperty, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all builds data that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. Optional param
     * `_updateSequenceNumber` is no longer supported. If more than one Property is provided, data will be deleted that
     * matches ALL of the Properties (e.g. treated as an AND).
     *
     * See the documentation for the `submitBuilds` operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&repoId=repo-345
     *
     * Deletion is performed asynchronously. The `getBuildByKey` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteBuildsByProperty<T = unknown>(parameters: DeleteBuildsByProperty, callback?: never): Promise<T>;
    /**
     * Retrieve the currently stored build data for the given `pipelineId` and `buildNumber` combination.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'READ' scope for Connect apps.
     */
    getBuildByKey<T = GetBuildByKey>(parameters: GetBuildByKey$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the currently stored build data for the given `pipelineId` and `buildNumber` combination.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'READ' scope for Connect apps.
     */
    getBuildByKey<T = GetBuildByKey>(parameters: GetBuildByKey$1, callback?: never): Promise<T>;
    /**
     * Delete the build data currently stored for the given `pipelineId` and `buildNumber` combination.
     *
     * Deletion is performed asynchronously. The `getBuildByKey` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteBuildByKey<T = unknown>(parameters: DeleteBuildByKey, callback: Callback<T>): Promise<void>;
    /**
     * Delete the build data currently stored for the given `pipelineId` and `buildNumber` combination.
     *
     * Deletion is performed asynchronously. The `getBuildByKey` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraBuildInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteBuildByKey<T = unknown>(parameters: DeleteBuildByKey, callback?: never): Promise<T>;
}

declare class Deployments {
    private client;
    constructor(client: Client);
    /**
     * Update / insert deployment data.
     *
     * Deployments are identified by the combination of `pipelineId`, `environmentId` and `deploymentSequenceNumber`, and
     * existing deployment data for the same deployment will be replaced if it exists and the `updateSequenceNumber` of
     * existing data is less than the incoming data.
     *
     * Submissions are processed asynchronously. Submitted data will eventually be available in Jira. Most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * `getDeploymentByKey` operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple deployments being submitted in one request, each is validated individually prior to
     * submission. Details of which deployments failed submission (if any) are available in the response object.
     *
     * Only Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'WRITE' scope for Connect apps.
     */
    submitDeployments<T = SubmitDeployments>(parameters: SubmitDeployments$1, callback: Callback<T>): Promise<void>;
    /**
     * Update / insert deployment data.
     *
     * Deployments are identified by the combination of `pipelineId`, `environmentId` and `deploymentSequenceNumber`, and
     * existing deployment data for the same deployment will be replaced if it exists and the `updateSequenceNumber` of
     * existing data is less than the incoming data.
     *
     * Submissions are processed asynchronously. Submitted data will eventually be available in Jira. Most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * `getDeploymentByKey` operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple deployments being submitted in one request, each is validated individually prior to
     * submission. Details of which deployments failed submission (if any) are available in the response object.
     *
     * Only Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'WRITE' scope for Connect apps.
     */
    submitDeployments<T = SubmitDeployments>(parameters: SubmitDeployments$1, callback?: never): Promise<T>;
    /**
     * Bulk delete all deployments that match the given request.
     *
     * One or more query params must be supplied to specify the Properties to delete by. Optional param
     * `_updateSequenceNumber` is no longer supported. If more than one Property is provided, data will be deleted that
     * matches ALL of the Properties (i.e. treated as AND). See the documentation for the `submitDeployments` operation
     * for more details.
     *
     * Example operation: DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The `getDeploymentByKey` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteDeploymentsByProperty<T = unknown>(parameters: DeleteDeploymentsByProperty, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all deployments that match the given request.
     *
     * One or more query params must be supplied to specify the Properties to delete by. Optional param
     * `_updateSequenceNumber` is no longer supported. If more than one Property is provided, data will be deleted that
     * matches ALL of the Properties (i.e. treated as AND). See the documentation for the `submitDeployments` operation
     * for more details.
     *
     * Example operation: DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The `getDeploymentByKey` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteDeploymentsByProperty<T = unknown>(parameters: DeleteDeploymentsByProperty, callback?: never): Promise<T>;
    /**
     * Retrieve the currently stored deployment data for the given `pipelineId`, `environmentId` and
     * `deploymentSequenceNumber` combination.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'READ' scope for Connect apps.
     */
    getDeploymentByKey<T = GetDeploymentByKey>(parameters: GetDeploymentByKey$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the currently stored deployment data for the given `pipelineId`, `environmentId` and
     * `deploymentSequenceNumber` combination.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'READ' scope for Connect apps.
     */
    getDeploymentByKey<T = GetDeploymentByKey>(parameters: GetDeploymentByKey$1, callback?: never): Promise<T>;
    /**
     * Delete the currently stored deployment data for the given `pipelineId`, `environmentId` and
     * `deploymentSequenceNumber` combination.
     *
     * Deletion is performed asynchronously. The `getDeploymentByKey` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteDeploymentByKey<T = unknown>(parameters: DeleteDeploymentByKey, callback: Callback<T>): Promise<void>;
    /**
     * Delete the currently stored deployment data for the given `pipelineId`, `environmentId` and
     * `deploymentSequenceNumber` combination.
     *
     * Deletion is performed asynchronously. The `getDeploymentByKey` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraDeploymentInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteDeploymentByKey<T = unknown>(parameters: DeleteDeploymentByKey, callback?: never): Promise<T>;
    /**
     * Retrieve the Deployment gating status for the given `pipelineId + environmentId + deploymentSequenceNumber`
     * combination. Only apps that define the `jiraDeploymentInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope.
     */
    getDeploymentGatingStatusByKey<T = GetDeploymentGatingStatusByKey>(parameters: GetDeploymentGatingStatusByKey$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the Deployment gating status for the given `pipelineId + environmentId + deploymentSequenceNumber`
     * combination. Only apps that define the `jiraDeploymentInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope.
     */
    getDeploymentGatingStatusByKey<T = GetDeploymentGatingStatusByKey>(parameters: GetDeploymentGatingStatusByKey$1, callback?: never): Promise<T>;
}

declare class DevelopmentInformation {
    private client;
    constructor(client: Client);
    /**
     * Stores development information provided in the request to make it available when viewing issues in Jira. Existing
     * repository and entity data for the same ID will be replaced if the updateSequenceId of existing data is less than
     * the incoming data. Submissions are performed asynchronously. Submitted data will eventually be available in Jira;
     * most updates are available within a short period of time, but may take some time during peak load and/or
     * maintenance times.
     */
    storeDevelopmentInformation<T = StoreDevelopmentInformation>(parameters: StoreDevelopmentInformation$1, callback: Callback<T>): Promise<void>;
    /**
     * Stores development information provided in the request to make it available when viewing issues in Jira. Existing
     * repository and entity data for the same ID will be replaced if the updateSequenceId of existing data is less than
     * the incoming data. Submissions are performed asynchronously. Submitted data will eventually be available in Jira;
     * most updates are available within a short period of time, but may take some time during peak load and/or
     * maintenance times.
     */
    storeDevelopmentInformation<T = StoreDevelopmentInformation>(parameters: StoreDevelopmentInformation$1, callback?: never): Promise<T>;
    /**
     * For the specified repository ID, retrieves the repository and the most recent 400 development information entities.
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     */
    getRepository<T = GetRepository>(parameters: GetRepository$1, callback: Callback<T>): Promise<void>;
    /**
     * For the specified repository ID, retrieves the repository and the most recent 400 development information entities.
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     */
    getRepository<T = GetRepository>(parameters: GetRepository$1, callback?: never): Promise<T>;
    /**
     * Deletes the repository data stored by the given ID and all related development information entities. Deletion is
     * performed asynchronously.
     */
    deleteRepository<T = unknown>(parameters: DeleteRepository, callback: Callback<T>): Promise<void>;
    /**
     * Deletes the repository data stored by the given ID and all related development information entities. Deletion is
     * performed asynchronously.
     */
    deleteRepository<T = unknown>(parameters: DeleteRepository, callback?: never): Promise<T>;
    /**
     * Deletes development information entities which have all the provided properties. Repositories which have properties
     * that match ALL of the properties (i.e. treated as an AND), and all their related development information (such as
     * commits, branches and pull requests), will be deleted. For example if request is `DELETE
     * bulk?accountId=123&projectId=ABC` entities which have properties `accountId=123` and `projectId=ABC` will be
     * deleted. Optional param `_updateSequenceId` is no longer supported. Deletion is performed asynchronously: specified
     * entities will eventually be removed from Jira.
     */
    deleteByProperties<T = unknown>(parameters: DeleteByProperties, callback: Callback<T>): Promise<void>;
    /**
     * Deletes development information entities which have all the provided properties. Repositories which have properties
     * that match ALL of the properties (i.e. treated as an AND), and all their related development information (such as
     * commits, branches and pull requests), will be deleted. For example if request is `DELETE
     * bulk?accountId=123&projectId=ABC` entities which have properties `accountId=123` and `projectId=ABC` will be
     * deleted. Optional param `_updateSequenceId` is no longer supported. Deletion is performed asynchronously: specified
     * entities will eventually be removed from Jira.
     */
    deleteByProperties<T = unknown>(parameters: DeleteByProperties, callback?: never): Promise<T>;
    /**
     * Checks if repositories which have all the provided properties exists. For example, if request is `GET
     * existsByProperties?accountId=123&projectId=ABC` then result will be positive only if there is at least one
     * repository with both properties `accountId=123` and `projectId=ABC`. Special property `_updateSequenceId` can be
     * used to filter all entities with updateSequenceId less or equal than the value specified. In addition to the
     * optional `_updateSequenceId`, one or more query params must be supplied to specify properties to search by.
     */
    existsByProperties<T = ExistsByProperties>(parameters: ExistsByProperties$1, callback: Callback<T>): Promise<void>;
    /**
     * Checks if repositories which have all the provided properties exists. For example, if request is `GET
     * existsByProperties?accountId=123&projectId=ABC` then result will be positive only if there is at least one
     * repository with both properties `accountId=123` and `projectId=ABC`. Special property `_updateSequenceId` can be
     * used to filter all entities with updateSequenceId less or equal than the value specified. In addition to the
     * optional `_updateSequenceId`, one or more query params must be supplied to specify properties to search by.
     */
    existsByProperties<T = ExistsByProperties>(parameters: ExistsByProperties$1, callback?: never): Promise<T>;
    /** Deletes particular development information entity. Deletion is performed asynchronously. */
    deleteEntity<T = unknown>(parameters: DeleteEntity, callback: Callback<T>): Promise<void>;
    /** Deletes particular development information entity. Deletion is performed asynchronously. */
    deleteEntity<T = unknown>(parameters: DeleteEntity, callback?: never): Promise<T>;
}

declare class DevopsComponents {
    private client;
    constructor(client: Client);
    /**
     * Update / insert DevOps Component data.
     *
     * Components are identified by their ID, and existing Component data for the same ID will be replaced if it exists
     * and the updateSequenceNumber of existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * getComponentById operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple Components being submitted in one request, each is validated individually prior to
     * submission. Details of which Components failed submission (if any) are available in the response object.
     *
     * A maximum of 1000 components can be submitted in one request.
     *
     * Only Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitComponents<T = SubmitComponents>(parameters: SubmitComponents$1, callback: Callback<T>): Promise<void>;
    /**
     * Update / insert DevOps Component data.
     *
     * Components are identified by their ID, and existing Component data for the same ID will be replaced if it exists
     * and the updateSequenceNumber of existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * getComponentById operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple Components being submitted in one request, each is validated individually prior to
     * submission. Details of which Components failed submission (if any) are available in the response object.
     *
     * A maximum of 1000 components can be submitted in one request.
     *
     * Only Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitComponents<T = SubmitComponents>(parameters: SubmitComponents$1, callback?: never): Promise<T>;
    /**
     * Bulk delete all Components that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. If more than one Property is
     * provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND). See the documentation
     * for the submitComponents operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The getComponentById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteComponentsByProperty<T = void>(parameters: DeleteComponentsByProperty, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all Components that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. If more than one Property is
     * provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND). See the documentation
     * for the submitComponents operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The getComponentById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteComponentsByProperty<T = void>(parameters: DeleteComponentsByProperty, callback?: never): Promise<T>;
    /**
     * Retrieve the currently stored Component data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getComponentById<T = GetComponentById>(parameters: GetComponentById$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the currently stored Component data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getComponentById<T = GetComponentById>(parameters: GetComponentById$1, callback?: never): Promise<T>;
    /**
     * Delete the Component data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The getComponentById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteComponentById<T = void>(parameters: DeleteComponentById, callback: Callback<T>): Promise<void>;
    /**
     * Delete the Component data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The getComponentById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraDevOpsComponentProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteComponentById<T = void>(parameters: DeleteComponentById, callback?: never): Promise<T>;
}

declare class Epic {
    private client;
    constructor(client: Client);
    /**
     * Returns all issues that do not belong to any epic. This only includes issues that the user has permission to view.
     * Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default,
     * the returned issues are ordered by rank. **Note:** If you are querying a next-gen project, do not use this
     * operation. Instead, search for issues that don't belong to an epic by using the [Search for issues using
     * JQL](https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-rest-api-2-search-get) operation in the Jira
     * platform REST API. Build your JQL query using the `parent is empty` clause. For more information on the `parent`
     * JQL field, see [Advanced
     * searching](https://confluence.atlassian.com/x/dAiiLQ#Advancedsearching-fieldsreference-Parent).
     */
    getIssuesWithoutEpic<T = unknown>(parameters: GetIssuesWithoutEpic | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues that do not belong to any epic. This only includes issues that the user has permission to view.
     * Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default,
     * the returned issues are ordered by rank. **Note:** If you are querying a next-gen project, do not use this
     * operation. Instead, search for issues that don't belong to an epic by using the [Search for issues using
     * JQL](https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-rest-api-2-search-get) operation in the Jira
     * platform REST API. Build your JQL query using the `parent is empty` clause. For more information on the `parent`
     * JQL field, see [Advanced
     * searching](https://confluence.atlassian.com/x/dAiiLQ#Advancedsearching-fieldsreference-Parent).
     */
    getIssuesWithoutEpic<T = unknown>(parameters?: GetIssuesWithoutEpic, callback?: never): Promise<T>;
    /**
     * Removes issues from epics. The user needs to have the edit issue permission for all issue they want to remove from
     * epics. The maximum number of issues that can be moved in one operation is 50. **Note:** This operation does not
     * work for epics in next-gen projects. Instead, update the issue using `\{ fields: \{ parent: \{\} \} \}`
     */
    removeIssuesFromEpic<T = void>(parameters: RemoveIssuesFromEpic | undefined, callback: Callback<T>): Promise<void>;
    /**
     * Removes issues from epics. The user needs to have the edit issue permission for all issue they want to remove from
     * epics. The maximum number of issues that can be moved in one operation is 50. **Note:** This operation does not
     * work for epics in next-gen projects. Instead, update the issue using `\{ fields: \{ parent: \{\} \} \}`
     */
    removeIssuesFromEpic<T = void>(parameters?: RemoveIssuesFromEpic, callback?: never): Promise<T>;
    /**
     * Returns the epic for a given epic ID. This epic will only be returned if the user has permission to view it.
     * **Note:** This operation does not work for epics in next-gen projects.
     */
    getEpic<T = Epic$1>(parameters: GetEpic, callback: Callback<T>): Promise<void>;
    /**
     * Returns the epic for a given epic ID. This epic will only be returned if the user has permission to view it.
     * **Note:** This operation does not work for epics in next-gen projects.
     */
    getEpic<T = Epic$1>(parameters: GetEpic, callback?: never): Promise<T>;
    /**
     * Performs a partial update of the epic. A partial update means that fields not present in the request JSON will not
     * be updated. Valid values for color are `color_1` to `color_9`. **Note:** This operation does not work for epics in
     * next-gen projects.
     */
    partiallyUpdateEpic<T = Epic$1>(parameters: PartiallyUpdateEpic, callback: Callback<T>): Promise<void>;
    /**
     * Performs a partial update of the epic. A partial update means that fields not present in the request JSON will not
     * be updated. Valid values for color are `color_1` to `color_9`. **Note:** This operation does not work for epics in
     * next-gen projects.
     */
    partiallyUpdateEpic<T = Epic$1>(parameters: PartiallyUpdateEpic, callback?: never): Promise<T>;
    /**
     * Returns all issues that belong to the epic, for the given epic ID. This only includes issues that the user has
     * permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged,
     * and epic. By default, the returned issues are ordered by rank. **Note:** If you are querying a next-gen project, do
     * not use this operation. Instead, search for issues that belong to an epic by using the [Search for issues using
     * JQL](https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-rest-api-2-search-get) operation in the Jira
     * platform REST API. Build your JQL query using the `parent` clause. For more information on the `parent` JQL field,
     * see [Advanced searching](https://confluence.atlassian.com/x/dAiiLQ#Advancedsearching-fieldsreference-Parent).
     */
    getIssuesForEpic<T = unknown>(parameters: GetIssuesForEpic, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues that belong to the epic, for the given epic ID. This only includes issues that the user has
     * permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged,
     * and epic. By default, the returned issues are ordered by rank. **Note:** If you are querying a next-gen project, do
     * not use this operation. Instead, search for issues that belong to an epic by using the [Search for issues using
     * JQL](https://developer.atlassian.com/cloud/jira/platform/rest/v2/#api-rest-api-2-search-get) operation in the Jira
     * platform REST API. Build your JQL query using the `parent` clause. For more information on the `parent` JQL field,
     * see [Advanced searching](https://confluence.atlassian.com/x/dAiiLQ#Advancedsearching-fieldsreference-Parent).
     */
    getIssuesForEpic<T = unknown>(parameters: GetIssuesForEpic, callback?: never): Promise<T>;
    /**
     * Moves issues to an epic, for a given epic id. Issues can be only in a single epic at the same time. That means that
     * already assigned issues to an epic, will not be assigned to the previous epic anymore. The user needs to have the
     * edit issue permission for all issue they want to move and to the epic. The maximum number of issues that can be
     * moved in one operation is 50. **Note:** This operation does not work for epics in next-gen projects.
     */
    moveIssuesToEpic<T = void>(parameters: MoveIssuesToEpic, callback: Callback<T>): Promise<void>;
    /**
     * Moves issues to an epic, for a given epic id. Issues can be only in a single epic at the same time. That means that
     * already assigned issues to an epic, will not be assigned to the previous epic anymore. The user needs to have the
     * edit issue permission for all issue they want to move and to the epic. The maximum number of issues that can be
     * moved in one operation is 50. **Note:** This operation does not work for epics in next-gen projects.
     */
    moveIssuesToEpic<T = void>(parameters: MoveIssuesToEpic, callback?: never): Promise<T>;
    /**
     * Moves (ranks) an epic before or after a given epic.
     *
     * If rankCustomFieldId is not defined, the default rank field will be used.
     *
     * **Note:** This operation does not work for epics in next-gen projects.
     */
    rankEpics<T = void>(parameters: RankEpics, callback: Callback<T>): Promise<void>;
    /**
     * Moves (ranks) an epic before or after a given epic.
     *
     * If rankCustomFieldId is not defined, the default rank field will be used.
     *
     * **Note:** This operation does not work for epics in next-gen projects.
     */
    rankEpics<T = void>(parameters: RankEpics, callback?: never): Promise<T>;
}

declare class FeatureFlags {
    private client;
    constructor(client: Client);
    /**
     * Update / insert Feature Flag data.
     *
     * Feature Flags are identified by their ID, and existing Feature Flag data for the same ID will be replaced if it
     * exists and the updateSequenceId of existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * getFeatureFlagById operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple Feature Flags being submitted in one request, each is validated individually prior to
     * submission. Details of which Feature Flags failed submission (if any) are available in the response object.
     *
     * Only Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitFeatureFlags<T = SubmitFeatureFlags>(parameters: SubmitFeatureFlags$1, callback: Callback<T>): Promise<void>;
    /**
     * Update / insert Feature Flag data.
     *
     * Feature Flags are identified by their ID, and existing Feature Flag data for the same ID will be replaced if it
     * exists and the updateSequenceId of existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * getFeatureFlagById operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple Feature Flags being submitted in one request, each is validated individually prior to
     * submission. Details of which Feature Flags failed submission (if any) are available in the response object.
     *
     * Only Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitFeatureFlags<T = SubmitFeatureFlags>(parameters: SubmitFeatureFlags$1, callback?: never): Promise<T>;
    /**
     * Bulk delete all Feature Flags that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. Optional param `_updateSequenceId` is
     * no longer supported. If more than one Property is provided, data will be deleted that matches ALL of the Properties
     * (e.g. treated as an AND). See the documentation for the submitFeatureFlags operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The getFeatureFlagById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteFeatureFlagsByProperty<T = unknown>(parameters: DeleteFeatureFlagsByProperty, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all Feature Flags that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. Optional param `_updateSequenceId` is
     * no longer supported. If more than one Property is provided, data will be deleted that matches ALL of the Properties
     * (e.g. treated as an AND). See the documentation for the submitFeatureFlags operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The getFeatureFlagById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteFeatureFlagsByProperty<T = unknown>(parameters: DeleteFeatureFlagsByProperty, callback?: never): Promise<T>;
    /**
     * Retrieve the currently stored Feature Flag data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getFeatureFlagById<T = GetFeatureFlagById>(parameters: GetFeatureFlagById$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the currently stored Feature Flag data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getFeatureFlagById<T = GetFeatureFlagById>(parameters: GetFeatureFlagById$1, callback?: never): Promise<T>;
    /**
     * Delete the Feature Flag data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The getFeatureFlagById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteFeatureFlagById<T = unknown>(parameters: DeleteFeatureFlagById, callback: Callback<T>): Promise<void>;
    /**
     * Delete the Feature Flag data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The getFeatureFlagById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraFeatureFlagInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteFeatureFlagById<T = unknown>(parameters: DeleteFeatureFlagById, callback?: never): Promise<T>;
}

declare class Issue {
    private client;
    constructor(client: Client);
    /**
     * Moves (ranks) issues before or after a given issue. At most 50 issues may be ranked at once.
     *
     * This operation may fail for some issues, although this will be rare. In that case the 207 status code is returned
     * for the whole response and detailed information regarding each issue is available in the response body.
     *
     * If rankCustomFieldId is not defined, the default rank field will be used.
     */
    rankIssues<T = void>(parameters: RankIssues, callback: Callback<T>): Promise<void>;
    /**
     * Moves (ranks) issues before or after a given issue. At most 50 issues may be ranked at once.
     *
     * This operation may fail for some issues, although this will be rare. In that case the 207 status code is returned
     * for the whole response and detailed information regarding each issue is available in the response body.
     *
     * If rankCustomFieldId is not defined, the default rank field will be used.
     */
    rankIssues<T = void>(parameters: RankIssues, callback?: never): Promise<T>;
    /**
     * Returns a single issue, for a given issue ID or issue key. Issues returned from this resource include Agile fields,
     * like sprint, closedSprints, flagged, and epic.
     */
    getIssue<T = Issue$1>(parameters: GetIssue$2, callback: Callback<T>): Promise<void>;
    /**
     * Returns a single issue, for a given issue ID or issue key. Issues returned from this resource include Agile fields,
     * like sprint, closedSprints, flagged, and epic.
     */
    getIssue<T = Issue$1>(parameters: GetIssue$2, callback?: never): Promise<T>;
    /**
     * Returns the estimation of the issue and a fieldId of the field that is used for it. `boardId` param is required.
     * This param determines which field will be updated on a issue.
     *
     * Original time internally stores and returns the estimation as a number of seconds.
     *
     * The field used for estimation on the given board can be obtained from [board configuration
     * resource](#agile/1.0/board-getConfiguration). More information about the field are returned by [edit meta
     * resource](#api-rest-api-3-issue-getEditIssueMeta) or [field resource](#api-rest-api-3-field-get).
     */
    getIssueEstimationForBoard<T = unknown>(parameters: GetIssueEstimationForBoard, callback: Callback<T>): Promise<void>;
    /**
     * Returns the estimation of the issue and a fieldId of the field that is used for it. `boardId` param is required.
     * This param determines which field will be updated on a issue.
     *
     * Original time internally stores and returns the estimation as a number of seconds.
     *
     * The field used for estimation on the given board can be obtained from [board configuration
     * resource](#agile/1.0/board-getConfiguration). More information about the field are returned by [edit meta
     * resource](#api-rest-api-3-issue-getEditIssueMeta) or [field resource](#api-rest-api-3-field-get).
     */
    getIssueEstimationForBoard<T = unknown>(parameters: GetIssueEstimationForBoard, callback?: never): Promise<T>;
    /**
     * Updates the estimation of the issue. boardId param is required. This param determines which field will be updated
     * on an issue.
     *
     * Note that this resource changes the estimation field of the issue regardless of appearance the field on the screen.
     *
     * Original time tracking estimation field accepts estimation in formats like "1w", "2d", "3h", "20m" or number which
     * represent number of minutes. However, internally the field stores and returns the estimation as a number of
     * seconds.
     *
     * The field used for estimation on the given board can be obtained from [board configuration
     * resource](#agile/1.0/board-getConfiguration). More information about the field are returned by [edit meta
     * resource](#api-rest-api-3-issue-issueIdOrKey-editmeta-get) or [field resource](#api-rest-api-3-field-get).
     */
    estimateIssueForBoard<T = unknown>(parameters: EstimateIssueForBoard, callback: Callback<T>): Promise<void>;
    /**
     * Updates the estimation of the issue. boardId param is required. This param determines which field will be updated
     * on an issue.
     *
     * Note that this resource changes the estimation field of the issue regardless of appearance the field on the screen.
     *
     * Original time tracking estimation field accepts estimation in formats like "1w", "2d", "3h", "20m" or number which
     * represent number of minutes. However, internally the field stores and returns the estimation as a number of
     * seconds.
     *
     * The field used for estimation on the given board can be obtained from [board configuration
     * resource](#agile/1.0/board-getConfiguration). More information about the field are returned by [edit meta
     * resource](#api-rest-api-3-issue-issueIdOrKey-editmeta-get) or [field resource](#api-rest-api-3-field-get).
     */
    estimateIssueForBoard<T = unknown>(parameters: EstimateIssueForBoard, callback?: never): Promise<T>;
}

declare class Operations {
    private client;
    constructor(client: Client);
    /**
     * Insert Operations Workspace IDs to establish a relationship between them and the Jira site the app is installed in.
     * If a relationship between the Workspace ID and Jira already exists then the workspace ID will be ignored and Jira
     * will process the rest of the entries.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitOperationsWorkspaces<T = SubmitOperationsWorkspaces>(parameters: SubmitOperationsWorkspaces$1, callback: Callback<T>): Promise<void>;
    /**
     * Insert Operations Workspace IDs to establish a relationship between them and the Jira site the app is installed in.
     * If a relationship between the Workspace ID and Jira already exists then the workspace ID will be ignored and Jira
     * will process the rest of the entries.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitOperationsWorkspaces<T = SubmitOperationsWorkspaces>(parameters: SubmitOperationsWorkspaces$1, callback?: never): Promise<T>;
    /**
     * Bulk delete all Operations Workspaces that match the given request.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     *
     * E.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666
     */
    deleteWorkspaces<T = void>(parameters: DeleteWorkspaces, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all Operations Workspaces that match the given request.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     *
     * E.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666
     */
    deleteWorkspaces<T = void>(parameters: DeleteWorkspaces, callback?: never): Promise<T>;
    /**
     * Retrieve the either all Operations Workspace IDs associated with the Jira site or a specific Operations Workspace
     * ID for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * E.g. GET /workspace?workspaceId=111-222-333
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getWorkspaces<T = GetWorkspaces>(parameters: GetWorkspaces$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the either all Operations Workspace IDs associated with the Jira site or a specific Operations Workspace
     * ID for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * E.g. GET /workspace?workspaceId=111-222-333
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getWorkspaces<T = GetWorkspaces>(parameters: GetWorkspaces$1, callback?: never): Promise<T>;
    /**
     * Update / insert Incident or Review data.
     *
     * Incidents and reviews are identified by their ID, and existing Incident and Review data for the same ID will be
     * replaced if it exists and the updateSequenceNumber of existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * getIncidentById or getReviewById operation can be used to confirm that data has been stored successfully (if
     * needed).
     *
     * In the case of multiple Incidents and Reviews being submitted in one request, each is validated individually prior
     * to submission. Details of which entities failed submission (if any) are available in the response object.
     *
     * A maximum of 1000 incidents can be submitted in one request.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitEntity<T = SubmitEntity>(parameters: SubmitEntity$1, callback: Callback<T>): Promise<void>;
    /**
     * Update / insert Incident or Review data.
     *
     * Incidents and reviews are identified by their ID, and existing Incident and Review data for the same ID will be
     * replaced if it exists and the updateSequenceNumber of existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * getIncidentById or getReviewById operation can be used to confirm that data has been stored successfully (if
     * needed).
     *
     * In the case of multiple Incidents and Reviews being submitted in one request, each is validated individually prior
     * to submission. Details of which entities failed submission (if any) are available in the response object.
     *
     * A maximum of 1000 incidents can be submitted in one request.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitEntity<T = SubmitEntity>(parameters: SubmitEntity$1, callback?: never): Promise<T>;
    /**
     * Bulk delete all Entries that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. If more than one Property is
     * provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND). See the documentation
     * for the submitEntity operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The getIncidentById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteEntityByProperty<T = unknown>(parameters: DeleteEntityByProperty, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all Entries that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. If more than one Property is
     * provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND). See the documentation
     * for the submitEntity operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The getIncidentById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteEntityByProperty<T = unknown>(parameters: DeleteEntityByProperty, callback?: never): Promise<T>;
    /**
     * Retrieve the currently stored Incident data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getIncidentById<T = GetIncidentById>(parameters: GetIncidentById$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the currently stored Incident data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getIncidentById<T = GetIncidentById>(parameters: GetIncidentById$1, callback?: never): Promise<T>;
    /**
     * Delete the Incident data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The getIncidentById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteIncidentById<T = void>(parameters: DeleteIncidentById, callback: Callback<T>): Promise<void>;
    /**
     * Delete the Incident data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The getIncidentById operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteIncidentById<T = void>(parameters: DeleteIncidentById, callback?: never): Promise<T>;
    /**
     * Retrieve the currently stored Review data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getReviewById<T = GetReviewById>(parameters: GetReviewById$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the currently stored Review data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getReviewById<T = GetReviewById>(parameters: GetReviewById$1, callback?: never): Promise<T>;
    /**
     * Delete the Review data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The getReviewById operation can be used to confirm that data has been deleted
     * successfully (if needed).
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteReviewById<T = void>(parameters: DeleteReviewById, callback: Callback<T>): Promise<void>;
    /**
     * Delete the Review data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The getReviewById operation can be used to confirm that data has been deleted
     * successfully (if needed).
     *
     * Only Connect apps that define the `jiraOperationsInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteReviewById<T = void>(parameters: DeleteReviewById, callback?: never): Promise<T>;
}

declare class RemoteLinks {
    private client;
    constructor(client: Client);
    /**
     * Update / insert Remote Link data.
     *
     * Remote Links are identified by their ID, existing Remote Link data for the same ID will be replaced if it exists
     * and the updateSequenceId of existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * `getRemoteLinkById` operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple Remote Links being submitted in one request, each is validated individually prior to
     * submission. Details of which Remote LInk failed submission (if any) are available in the response object.
     *
     * Only Connect apps that define the `jiraRemoteLinkInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitRemoteLinks<T = SubmitRemoteLinks>(parameters: SubmitRemoteLinks$1, callback: Callback<T>): Promise<void>;
    /**
     * Update / insert Remote Link data.
     *
     * Remote Links are identified by their ID, existing Remote Link data for the same ID will be replaced if it exists
     * and the updateSequenceId of existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are
     * available within a short period of time, but may take some time during peak load and/or maintenance times. The
     * `getRemoteLinkById` operation can be used to confirm that data has been stored successfully (if needed).
     *
     * In the case of multiple Remote Links being submitted in one request, each is validated individually prior to
     * submission. Details of which Remote LInk failed submission (if any) are available in the response object.
     *
     * Only Connect apps that define the `jiraRemoteLinkInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitRemoteLinks<T = SubmitRemoteLinks>(parameters: SubmitRemoteLinks$1, callback?: never): Promise<T>;
    /**
     * Bulk delete all Remote Links data that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. Optional param
     * `_updateSequenceNumber` is no longer supported. If more than one Property is provided, data will be deleted that
     * matches ALL of the Properties (e.g. treated as an AND).
     *
     * See the documentation for the `submitRemoteLinks` operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&repoId=repo-345
     *
     * Deletion is performed asynchronously. The `getRemoteLinkById` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteRemoteLinksByProperty<T = unknown>(parameters: DeleteRemoteLinksByProperty, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all Remote Links data that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. Optional param
     * `_updateSequenceNumber` is no longer supported. If more than one Property is provided, data will be deleted that
     * matches ALL of the Properties (e.g. treated as an AND).
     *
     * See the documentation for the `submitRemoteLinks` operation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&repoId=repo-345
     *
     * Deletion is performed asynchronously. The `getRemoteLinkById` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteRemoteLinksByProperty<T = unknown>(parameters: DeleteRemoteLinksByProperty, callback?: never): Promise<T>;
    /**
     * Retrieve the currently stored Remote Link data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'READ' scope for Connect apps.
     */
    getRemoteLinkById<T = GetRemoteLinkById>(parameters: GetRemoteLinkById$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the currently stored Remote Link data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'READ' scope for Connect apps.
     */
    getRemoteLinkById<T = GetRemoteLinkById>(parameters: GetRemoteLinkById$1, callback?: never): Promise<T>;
    /**
     * Delete the Remote Link data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The `getRemoteLinkById` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteRemoteLinkById<T = unknown>(parameters: DeleteRemoteLinkById, callback: Callback<T>): Promise<void>;
    /**
     * Delete the Remote Link data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The `getRemoteLinkById` operation can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraRemoteLinkInfoProvider` module, and on-premise integrations, can access this
     * resource. This resource requires the 'DELETE' scope for Connect apps.
     */
    deleteRemoteLinkById<T = unknown>(parameters: DeleteRemoteLinkById, callback?: never): Promise<T>;
}

declare class SecurityInformation {
    private client;
    constructor(client: Client);
    /**
     * Insert Security Workspace IDs to establish a relationship between them and the Jira site the app is installed on.
     * If a relationship between the workspace ID and Jira already exists then the workspace ID will be ignored and Jira
     * will process the rest of the entries.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitWorkspaces<T = void>(parameters: SubmitWorkspaces, callback: Callback<T>): Promise<void>;
    /**
     * Insert Security Workspace IDs to establish a relationship between them and the Jira site the app is installed on.
     * If a relationship between the workspace ID and Jira already exists then the workspace ID will be ignored and Jira
     * will process the rest of the entries.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitWorkspaces<T = void>(parameters: SubmitWorkspaces, callback?: never): Promise<T>;
    /**
     * Bulk delete all linked Security Workspaces that match the given request.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     *
     * E.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666
     */
    deleteLinkedWorkspaces<T = void>(parameters: DeleteLinkedWorkspaces, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all linked Security Workspaces that match the given request.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     *
     * E.g. DELETE /bulk?workspaceIds=111-222-333,444-555-666
     */
    deleteLinkedWorkspaces<T = void>(parameters: DeleteLinkedWorkspaces, callback?: never): Promise<T>;
    /**
     * Retrieve all Security Workspaces linked with the Jira site.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getLinkedWorkspaces<T = GetLinkedWorkspaces>(callback: Callback<T>): Promise<void>;
    /**
     * Retrieve all Security Workspaces linked with the Jira site.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getLinkedWorkspaces<T = GetLinkedWorkspaces>(callback?: never): Promise<T>;
    /**
     * Retrieve a specific Security Workspace linked to the Jira site for the given workspace ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getLinkedWorkspaceById<T = GetLinkedWorkspaceById>(parameters: GetLinkedWorkspaceById$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve a specific Security Workspace linked to the Jira site for the given workspace ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getLinkedWorkspaceById<T = GetLinkedWorkspaceById>(parameters: GetLinkedWorkspaceById$1, callback?: never): Promise<T>;
    /**
     * Update / Insert Vulnerability data.
     *
     * Vulnerabilities are identified by their ID, any existing Vulnerability data with the same ID will be replaced if it
     * exists and the updateSequenceNumber of the existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Most updates are available within a short period of time but may take
     * some time during peak load and/or maintenance times. The GET vulnerability endpoint can be used to confirm that
     * data has been stored successfully (if needed).
     *
     * In the case of multiple Vulnerabilities being submitted in one request, each is validated individually prior to
     * submission. Details of Vulnerabilities that failed submission (if any) are available in the response object.
     *
     * A maximum of 1000 vulnerabilities can be submitted in one request.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitVulnerabilities<T = SubmitVulnerabilities>(parameters: SubmitVulnerabilities$1, callback: Callback<T>): Promise<void>;
    /**
     * Update / Insert Vulnerability data.
     *
     * Vulnerabilities are identified by their ID, any existing Vulnerability data with the same ID will be replaced if it
     * exists and the updateSequenceNumber of the existing data is less than the incoming data.
     *
     * Submissions are performed asynchronously. Most updates are available within a short period of time but may take
     * some time during peak load and/or maintenance times. The GET vulnerability endpoint can be used to confirm that
     * data has been stored successfully (if needed).
     *
     * In the case of multiple Vulnerabilities being submitted in one request, each is validated individually prior to
     * submission. Details of Vulnerabilities that failed submission (if any) are available in the response object.
     *
     * A maximum of 1000 vulnerabilities can be submitted in one request.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'WRITE' scope for Connect apps.
     */
    submitVulnerabilities<T = SubmitVulnerabilities>(parameters: SubmitVulnerabilities$1, callback?: never): Promise<T>;
    /**
     * Bulk delete all Vulnerabilities that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. If more than one Property is
     * provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND). Read the POST bulk
     * endpoint documentation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The GET vulnerability endpoint can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteVulnerabilitiesByProperty<T = void>(parameters: DeleteVulnerabilitiesByProperty, callback: Callback<T>): Promise<void>;
    /**
     * Bulk delete all Vulnerabilities that match the given request.
     *
     * One or more query params must be supplied to specify Properties to delete by. If more than one Property is
     * provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND). Read the POST bulk
     * endpoint documentation for more details.
     *
     * E.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456
     *
     * Deletion is performed asynchronously. The GET vulnerability endpoint can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteVulnerabilitiesByProperty<T = void>(parameters: DeleteVulnerabilitiesByProperty, callback?: never): Promise<T>;
    /**
     * Retrieve the currently stored Vulnerability data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getVulnerabilityById<T = GetVulnerabilityById>(parameters: GetVulnerabilityById$1, callback: Callback<T>): Promise<void>;
    /**
     * Retrieve the currently stored Vulnerability data for the given ID.
     *
     * The result will be what is currently stored, ignoring any pending updates or deletes.
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'READ' scope for Connect apps.
     */
    getVulnerabilityById<T = GetVulnerabilityById>(parameters: GetVulnerabilityById$1, callback?: never): Promise<T>;
    /**
     * Delete the Vulnerability data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The GET vulnerability endpoint can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteVulnerabilityById<T = void>(parameters: DeleteVulnerabilityById, callback: Callback<T>): Promise<void>;
    /**
     * Delete the Vulnerability data currently stored for the given ID.
     *
     * Deletion is performed asynchronously. The GET vulnerability endpoint can be used to confirm that data has been
     * deleted successfully (if needed).
     *
     * Only Connect apps that define the `jiraSecurityInfoProvider` module can access this resource. This resource
     * requires the 'DELETE' scope for Connect apps.
     */
    deleteVulnerabilityById<T = void>(parameters: DeleteVulnerabilityById, callback?: never): Promise<T>;
}

declare class Sprint {
    private client;
    constructor(client: Client);
    /**
     * Creates a future sprint. Sprint name and origin board id are required. Start date, end date, and goal are optional.
     *
     * Note that the sprint name is trimmed. Also, when starting sprints from the UI, the "endDate" set through this call
     * is ignored and instead the last sprint's duration is used to fill the form.
     */
    createSprint<T = Sprint$1>(parameters: CreateSprint, callback: Callback<T>): Promise<void>;
    /**
     * Creates a future sprint. Sprint name and origin board id are required. Start date, end date, and goal are optional.
     *
     * Note that the sprint name is trimmed. Also, when starting sprints from the UI, the "endDate" set through this call
     * is ignored and instead the last sprint's duration is used to fill the form.
     */
    createSprint<T = Sprint$1>(parameters: CreateSprint, callback?: never): Promise<T>;
    /**
     * Returns the sprint for a given sprint ID. The sprint will only be returned if the user can view the board that the
     * sprint was created on, or view at least one of the issues in the sprint.
     */
    getSprint<T = Sprint$1>(parameters: GetSprint, callback: Callback<T>): Promise<void>;
    /**
     * Returns the sprint for a given sprint ID. The sprint will only be returned if the user can view the board that the
     * sprint was created on, or view at least one of the issues in the sprint.
     */
    getSprint<T = Sprint$1>(parameters: GetSprint, callback?: never): Promise<T>;
    /**
     * Performs a partial update of a sprint. A partial update means that fields not present in the request JSON will not
     * be updated.
     *
     * Notes:
     *
     * - For closed sprints, only the name and goal can be updated; changes to other fields will be ignored.
     * - A sprint can be started by updating the state to 'active'. This requires the sprint to be in the 'future' state and
     *   have a startDate and endDate set.
     * - A sprint can be completed by updating the state to 'closed'. This action requires the sprint to be in the 'active'
     *   state. This sets the completeDate to the time of the request.
     * - Other changes to state are not allowed.
     * - The completeDate field cannot be updated manually.
     */
    partiallyUpdateSprint<T = Sprint$1>(parameters: PartiallyUpdateSprint, callback: Callback<T>): Promise<void>;
    /**
     * Performs a partial update of a sprint. A partial update means that fields not present in the request JSON will not
     * be updated.
     *
     * Notes:
     *
     * - For closed sprints, only the name and goal can be updated; changes to other fields will be ignored.
     * - A sprint can be started by updating the state to 'active'. This requires the sprint to be in the 'future' state and
     *   have a startDate and endDate set.
     * - A sprint can be completed by updating the state to 'closed'. This action requires the sprint to be in the 'active'
     *   state. This sets the completeDate to the time of the request.
     * - Other changes to state are not allowed.
     * - The completeDate field cannot be updated manually.
     */
    partiallyUpdateSprint<T = Sprint$1>(parameters: PartiallyUpdateSprint, callback?: never): Promise<T>;
    /**
     * Performs a full update of a sprint. A full update means that the result will be exactly the same as the request
     * body. Any fields not present in the request JSON will be set to null.
     *
     * Notes:
     *
     * - For closed sprints, only the name and goal can be updated; changes to other fields will be ignored.
     * - A sprint can be started by updating the state to 'active'. This requires the sprint to be in the 'future' state and
     *   have a startDate and endDate set.
     * - A sprint can be completed by updating the state to 'closed'. This action requires the sprint to be in the 'active'
     *   state. This sets the completeDate to the time of the request.
     * - Other changes to state are not allowed.
     * - The completeDate field cannot be updated manually.
     */
    updateSprint<T = Sprint$1>(parameters: UpdateSprint, callback: Callback<T>): Promise<void>;
    /**
     * Performs a full update of a sprint. A full update means that the result will be exactly the same as the request
     * body. Any fields not present in the request JSON will be set to null.
     *
     * Notes:
     *
     * - For closed sprints, only the name and goal can be updated; changes to other fields will be ignored.
     * - A sprint can be started by updating the state to 'active'. This requires the sprint to be in the 'future' state and
     *   have a startDate and endDate set.
     * - A sprint can be completed by updating the state to 'closed'. This action requires the sprint to be in the 'active'
     *   state. This sets the completeDate to the time of the request.
     * - Other changes to state are not allowed.
     * - The completeDate field cannot be updated manually.
     */
    updateSprint<T = Sprint$1>(parameters: UpdateSprint, callback?: never): Promise<T>;
    /** Deletes a sprint. Once a sprint is deleted, all open issues in the sprint will be moved to the backlog. */
    deleteSprint<T = void>(parameters: DeleteSprint, callback: Callback<T>): Promise<void>;
    /** Deletes a sprint. Once a sprint is deleted, all open issues in the sprint will be moved to the backlog. */
    deleteSprint<T = void>(parameters: DeleteSprint, callback?: never): Promise<T>;
    /**
     * Returns all issues in a sprint, for a given sprint ID. This only includes issues that the user has permission to
     * view. By default, the returned issues are ordered by rank.
     */
    getIssuesForSprint<T = SearchResults>(parameters: GetIssuesForSprint, callback: Callback<T>): Promise<void>;
    /**
     * Returns all issues in a sprint, for a given sprint ID. This only includes issues that the user has permission to
     * view. By default, the returned issues are ordered by rank.
     */
    getIssuesForSprint<T = SearchResults>(parameters: GetIssuesForSprint, callback?: never): Promise<T>;
    /**
     * Moves issues to a sprint, for a given sprint ID. Issues can only be moved to open or active sprints. The maximum
     * number of issues that can be moved in one operation is 50.
     */
    moveIssuesToSprintAndRank<T = void>(parameters: MoveIssuesToSprintAndRank, callback: Callback<T>): Promise<void>;
    /**
     * Moves issues to a sprint, for a given sprint ID. Issues can only be moved to open or active sprints. The maximum
     * number of issues that can be moved in one operation is 50.
     */
    moveIssuesToSprintAndRank<T = void>(parameters: MoveIssuesToSprintAndRank, callback?: never): Promise<T>;
    /**
     * Returns the keys of all properties for the sprint identified by the id. The user who retrieves the property keys is
     * required to have permissions to view the sprint.
     */
    getPropertiesKeys<T = unknown>(parameters: GetPropertiesKeys$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the keys of all properties for the sprint identified by the id. The user who retrieves the property keys is
     * required to have permissions to view the sprint.
     */
    getPropertiesKeys<T = unknown>(parameters: GetPropertiesKeys$1, callback?: never): Promise<T>;
    /**
     * Returns the value of the property with a given key from the sprint identified by the provided id. The user who
     * retrieves the property is required to have permissions to view the sprint.
     */
    getProperty<T = unknown>(parameters: GetProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Returns the value of the property with a given key from the sprint identified by the provided id. The user who
     * retrieves the property is required to have permissions to view the sprint.
     */
    getProperty<T = unknown>(parameters: GetProperty$1, callback?: never): Promise<T>;
    /**
     * Sets the value of the specified sprint's property.
     *
     * You can use this resource to store a custom data against the sprint identified by the id. The user who stores the
     * data is required to have permissions to modify the sprint.
     */
    setProperty<T = unknown>(parameters: SetProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Sets the value of the specified sprint's property.
     *
     * You can use this resource to store a custom data against the sprint identified by the id. The user who stores the
     * data is required to have permissions to modify the sprint.
     */
    setProperty<T = unknown>(parameters: SetProperty$1, callback?: never): Promise<T>;
    /**
     * Removes the property from the sprint identified by the id. Ths user removing the property is required to have
     * permissions to modify the sprint.
     */
    deleteProperty<T = void>(parameters: DeleteProperty$1, callback: Callback<T>): Promise<void>;
    /**
     * Removes the property from the sprint identified by the id. Ths user removing the property is required to have
     * permissions to modify the sprint.
     */
    deleteProperty<T = void>(parameters: DeleteProperty$1, callback?: never): Promise<T>;
    /** Swap the position of the sprint with the second sprint. */
    swapSprint<T = void>(parameters: SwapSprint, callback: Callback<T>): Promise<void>;
    /** Swap the position of the sprint with the second sprint. */
    swapSprint<T = void>(parameters: SwapSprint, callback?: never): Promise<T>;
}

declare class AgileClient extends BaseClient {
    backlog: Backlog;
    board: Board;
    builds: Builds;
    deployments: Deployments;
    developmentInformation: DevelopmentInformation;
    devopsComponents: DevopsComponents;
    epic: Epic;
    featureFlags: FeatureFlags;
    issue: Issue;
    operations: Operations;
    remoteLinks: RemoteLinks;
    securityInformation: SecurityInformation;
    sprint: Sprint;
}

type index_AgileClient = AgileClient;
declare const index_AgileClient: typeof AgileClient;
type index_Backlog = Backlog;
declare const index_Backlog: typeof Backlog;
type index_Board = Board;
declare const index_Board: typeof Board;
type index_Builds = Builds;
declare const index_Builds: typeof Builds;
type index_Deployments = Deployments;
declare const index_Deployments: typeof Deployments;
type index_DevelopmentInformation = DevelopmentInformation;
declare const index_DevelopmentInformation: typeof DevelopmentInformation;
type index_DevopsComponents = DevopsComponents;
declare const index_DevopsComponents: typeof DevopsComponents;
type index_Epic = Epic;
declare const index_Epic: typeof Epic;
type index_FeatureFlags = FeatureFlags;
declare const index_FeatureFlags: typeof FeatureFlags;
type index_Issue = Issue;
declare const index_Issue: typeof Issue;
type index_Operations = Operations;
declare const index_Operations: typeof Operations;
type index_RemoteLinks = RemoteLinks;
declare const index_RemoteLinks: typeof RemoteLinks;
type index_SecurityInformation = SecurityInformation;
declare const index_SecurityInformation: typeof SecurityInformation;
type index_Sprint = Sprint;
declare const index_Sprint: typeof Sprint;
declare namespace index {
  export { index_AgileClient as AgileClient, index$1 as AgileModels, index$b as AgileParameters, index_Backlog as Backlog, index_Board as Board, index_Builds as Builds, index_Deployments as Deployments, index_DevelopmentInformation as DevelopmentInformation, index_DevopsComponents as DevopsComponents, index_Epic as Epic, index_FeatureFlags as FeatureFlags, index_Issue as Issue, index_Operations as Operations, index_RemoteLinks as RemoteLinks, index_SecurityInformation as SecurityInformation, index_Sprint as Sprint };
}

declare enum ClientType {
    Agile = "agile",
    Version2 = "version2",
    Version3 = "version3",
    ServiceDesk = "serviceDesk"
}
declare function createClient(clientType: ClientType.Agile, config: Config): AgileClient;
declare function createClient(clientType: ClientType.Version2, config: Config): Version2Client;
declare function createClient(clientType: ClientType.Version3, config: Config): Version3Client;
declare function createClient(clientType: ClientType.ServiceDesk, config: Config): ServiceDeskClient;

export { index as Agile, AgileClient, index$1 as AgileModels, index$b as AgileParameters, BaseClient, type BasicAuth, BasicAuthSchema, type Callback, type Client, ClientType, type Config, ConfigSchema, DEFAULT_EXCEPTION_CODE, DEFAULT_EXCEPTION_MESSAGE, DEFAULT_EXCEPTION_STATUS, DEFAULT_EXCEPTION_STATUS_TEXT, HttpException, type HttpExceptionOptions, type JiraError, type Middlewares, MiddlewaresSchema, type OAuth2, OAuth2Schema, type OneOrMany, type Paginated, type RequestConfig, index$2 as ServiceDesk, ServiceDeskClient, index$4 as ServiceDeskModels, index$3 as ServiceDeskParameters, index$8 as Version2, Version2Client, index$a as Version2Models, index$9 as Version2Parameters, index$5 as Version3, Version3Client, index$7 as Version3Models, index$6 as Version3Parameters, createClient, isNil, isNumber, isObject, isString, isUndefined };
