import { Issue, IssuesResponse, SearchIssuesParams, GetIssueByIdParams } from './vendor.atlassian.issues.types.js';
/**
 * @namespace VendorAtlassianIssuesService
 * @description Service for interacting with Jira Issues API.
 * Provides methods for searching issues and retrieving issue details.
 * All methods require valid Atlassian credentials configured in the environment.
 */
/**
 * Search Jira issues with JQL and optional filtering and pagination
 *
 * Retrieves a list of issues from Jira based on JQL query with support for various filters
 * and pagination options. Issues can be filtered by fields, properties, etc.
 *
 * @async
 * @memberof VendorAtlassianIssuesService
 * @param {SearchIssuesParams} [params={}] - Optional parameters for customizing the request
 * @param {string} [params.jql] - JQL query string to filter issues
 * @param {number} [params.startAt] - Pagination start index
 * @param {number} [params.maxResults] - Maximum number of results to return
 * @param {string[]} [params.fields] - Fields to include in the response
 * @param {string[]} [params.expand] - Fields to expand in the response
 * @param {boolean} [params.validateQuery] - Whether to validate the JQL query
 * @param {string[]} [params.properties] - Properties to include in the response
 * @param {boolean} [params.fieldsByKeys] - Whether to return fields by keys
 * @param {string} [params.nextPageToken] - Token for retrieving the next page of results
 * @param {boolean} [params.reconcileIssues] - Whether to reconcile issues
 * @returns {Promise<IssuesResponse>} Promise containing the issues response with results and pagination info
 * @throws {Error} If Atlassian credentials are missing or API request fails
 * @example
 * // Search for issues in a specific project
 * const response = await search({
 *   jql: 'project = HSP',
 *   maxResults: 10
 * });
 */
declare function search(params?: SearchIssuesParams): Promise<IssuesResponse>;
/**
 * Get detailed information about a specific Jira issue
 *
 * Retrieves comprehensive details about a single issue, including fields,
 * comments, attachments, and other metadata.
 *
 * @async
 * @memberof VendorAtlassianIssuesService
 * @param {string} idOrKey - The ID or key of the issue to retrieve
 * @param {GetIssueByIdParams} [params={}] - Optional parameters for customizing the response
 * @param {string[]} [params.fields] - Fields to include in the response
 * @param {string[]} [params.expand] - Fields to expand in the response
 * @param {string[]} [params.properties] - Properties to include in the response
 * @param {boolean} [params.fieldsByKeys] - Whether to return fields by keys
 * @param {boolean} [params.updateHistory] - Whether to update the issue view history
 * @returns {Promise<Issue>} Promise containing the detailed issue information
 * @throws {Error} If Atlassian credentials are missing or API request fails
 * @example
 * // Get issue details with specific fields
 * const issue = await get('HSP-123', {
 *   fields: ['summary', 'description', 'status'],
 *   updateHistory: true
 * });
 */
declare function get(idOrKey: string, params?: GetIssueByIdParams): Promise<Issue>;
declare const _default: {
    search: typeof search;
    get: typeof get;
};
export default _default;
