import { Ticket, Feature, Product, User, TimeLog, CreateTaskArgs, LogTimeArgs } from './types.js';
export declare class AIPMClient {
    private client;
    private currentUser;
    constructor(apiUrl: string, token: string);
    getCurrentUser(): Promise<User>;
    getTasks(params?: {
        status?: string;
        priority?: string;
        productId?: string;
        featureId?: string;
        limit?: number;
    }): Promise<Ticket[]>;
    getTaskById(taskId: string): Promise<Ticket>;
    startTask(taskId: string, notes?: string): Promise<{
        success: boolean;
        timeLogId?: string;
    }>;
    completeTask(taskId: string, options?: {
        completionNotes?: string;
        timeSpent?: number;
        codeChanges?: string;
        implementationDetails?: string;
        testResults?: string;
    }): Promise<{
        success: boolean;
    }>;
    updateTaskImplementation(taskId: string, options: {
        implementationDetails: string;
        testResults?: string;
        codeChanges?: string;
    }): Promise<{
        success: boolean;
    }>;
    createTask(taskData: CreateTaskArgs): Promise<Ticket>;
    getFeatures(params?: {
        productId?: string;
        status?: string;
        includeTickets?: boolean;
    }): Promise<Feature[]>;
    breakdownFeature(featureId: string, additionalContext?: string): Promise<{
        tasks: Ticket[];
        breakdown: string;
    }>;
    getProducts(): Promise<Product[]>;
    logTime(timeData: LogTimeArgs): Promise<TimeLog>;
    getTimeLogs(params?: {
        ticketId?: string;
        featureId?: string;
        startDate?: string;
        endDate?: string;
    }): Promise<TimeLog[]>;
    searchTasks(query: string, limit?: number): Promise<Ticket[]>;
    healthCheck(): Promise<boolean>;
    updateFeature(featureId: string, options: {
        status?: string;
        implementationDetails?: any;
        testResults?: number;
        codeChanges?: number;
        completionNotes?: string;
        completionTime?: string;
        completionDate?: string;
    }): Promise<{
        success: boolean;
    }>;
    createFeatureBuild(buildData: {
        featureId: string;
        status: 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'CANCELLED';
        buildTime: string;
        filesCreated: string[];
        testsWritten: number;
        errors: string[];
        metadata: any;
    }): Promise<{
        success: boolean;
    }>;
    getPendingBuildRequests(userId: string, lastPolledAt?: string): Promise<any[]>;
    markBuildRequestProcessed(requestId: string, result: any): Promise<{
        success: boolean;
    }>;
    getBuildRequestStatus(requestId: string): Promise<{
        status: string;
        processedAt?: string;
    } | null>;
    updateBuildStatus(featureId: string, status: 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'CANCELLED', detailedStatus?: string, message?: string, metadata?: any): Promise<{
        success: boolean;
    }>;
}
//# sourceMappingURL=aipm-client.d.ts.map