import { ControllerResponse } from '../types/common.types.js';
import { ListPullRequestsOptions, PullRequestIdentifier, ListPullRequestCommentsOptions, AddPullRequestCommentOptions, CreatePullRequestOptions } from './atlassian.pullrequests.types.js';
/**
 * List Bitbucket pull requests with optional filtering
 * @param options - Options for listing pull requests
 * @param options.workspaceSlug - The workspace slug containing the repository
 * @param options.repoSlug - The repository slug to list pull requests from
 * @param options.state - Pull request state filter
 * @param options.limit - Maximum number of pull requests to return
 * @param options.cursor - Pagination cursor for retrieving the next set of results
 * @returns Promise with formatted pull request list content and pagination information
 */
declare function list(options: ListPullRequestsOptions): Promise<ControllerResponse>;
/**
 * Get details of a specific Bitbucket pull request, including code changes
 * @param identifier - Object containing pull request identifiers
 * @param identifier.workspaceSlug - The workspace slug containing the repository
 * @param identifier.repoSlug - The repository slug containing the pull request
 * @param identifier.prId - The pull request ID
 * @returns Promise with formatted pull request details content, including code changes
 * @throws Error if pull request retrieval fails
 */
declare function get(identifier: PullRequestIdentifier): Promise<ControllerResponse>;
/**
 * List comments on a specific Bitbucket pull request
 * @param options - Options for listing pull request comments
 * @param options.workspaceSlug - The workspace slug containing the repository
 * @param options.repoSlug - The repository slug containing the pull request
 * @param options.prId - The pull request ID
 * @param options.limit - Maximum number of comments to return
 * @param options.cursor - Pagination cursor for retrieving the next set of results
 * @returns Promise with formatted pull request comments content and pagination information
 */
declare function listComments(options: ListPullRequestCommentsOptions): Promise<ControllerResponse>;
/**
 * Add a comment to a specific Bitbucket pull request
 * @param options - Options for adding a comment to a pull request
 * @param options.workspaceSlug - The workspace slug containing the repository
 * @param options.repoSlug - The repository slug containing the pull request
 * @param options.prId - The pull request ID
 * @param options.content - The content of the comment
 * @param options.inline - Optional inline comment location
 * @returns Promise with the result of adding the comment
 */
declare function addComment(options: AddPullRequestCommentOptions): Promise<ControllerResponse>;
/**
 * Create a new pull request
 * @param options - Options for creating a new pull request
 * @param options.workspaceSlug - Workspace slug containing the repository
 * @param options.repoSlug - Repository slug to create the pull request in
 * @param options.title - Title of the pull request
 * @param options.sourceBranch - Source branch name
 * @param options.destinationBranch - Destination branch name (defaults to the repository's main branch)
 * @param options.description - Optional description for the pull request
 * @param options.closeSourceBranch - Whether to close the source branch after merge
 * @returns Promise with formatted pull request details content
 */
declare function create(options: CreatePullRequestOptions): Promise<ControllerResponse>;
declare const _default: {
    list: typeof list;
    get: typeof get;
    listComments: typeof listComments;
    addComment: typeof addComment;
    create: typeof create;
};
export default _default;
