import type { JiraAuth, JiraIssue, JiraUser } from '../types/jira.js';
export declare class JiraClient {
    private auth;
    private baseHeaders;
    constructor(auth: JiraAuth);
    /**
     * Get a JIRA issue by key (e.g., "PROJ-123")
     */
    getIssue(issueKey: string): Promise<JiraIssue>;
    /**
     * Get current user information
     */
    getCurrentUser(): Promise<JiraUser>;
    /**
     * Get the base URL for constructing JIRA issue links
     */
    getBaseUrl(): string;
    /**
     * Test the connection and authentication
     */
    testConnection(): Promise<boolean>;
    /**
     * Search for issues using JQL (JIRA Query Language)
     */
    searchIssues(jql: string, maxResults?: number): Promise<{
        issues: JiraIssue[];
        total: number;
    }>;
    /**
     * Get recent issues assigned to current user
     */
    getMyRecentIssues(maxResults?: number): Promise<JiraIssue[]>;
    /**
     * Get current active sprint from the first board
     */
    getCurrentSprint(): Promise<{
        id: number;
        name: string;
        startDate?: string;
        endDate?: string;
    }>;
    /**
     * Get all boards
     */
    getBoards(): Promise<Array<{
        id: number;
        name: string;
    }>>;
    /**
     * Get all sprints for a board (active, future, closed)
     */
    getSprintsForBoard(boardId: number): Promise<Array<{
        id: number;
        name: string;
        state: string;
        startDate?: string;
        endDate?: string;
    }>>;
}
/**
 * Create a JIRA client from environment variables
 */
export declare function createClient(): JiraClient;
//# sourceMappingURL=jira-client.d.ts.map