import type { TicketService } from '../interfaces/TicketService.js';
import type { Ticket, CreateTicketOptions } from '../../common/types.js';
interface GitHubConfig {
    owner: string;
    repo: string;
    token?: string;
    useGhCli?: boolean;
    labels?: {
        todo?: string;
        doing?: string;
        done?: string;
    };
}
export declare class GitHubTicketService implements TicketService {
    private octokit;
    private config;
    private basePath;
    constructor(config: GitHubConfig, basePath?: string);
    /**
     * Get GitHub configuration for URL generation
     */
    getConfig(): {
        owner: string;
        repo: string;
    };
    createTicket(title: string, options?: CreateTicketOptions): Promise<Ticket>;
    listTickets(options?: {
        status?: string;
        priority?: string;
    }): Promise<Ticket[]>;
    getTicket(id: string): Promise<Ticket | null>;
    startTicket(id: string): Promise<void>;
    completeTicket(id: string): Promise<void>;
    undoTicket(id: string): Promise<void>;
    private updateLabels;
    private formatTicketBody;
    private issueToTicket;
    private getIssueStatus;
    private getIssuePriority;
    private getTicketStatus;
    private parseTicketId;
    deleteTicket(id: string): Promise<void>;
}
export {};
