/**
 * Linear Outbound Sync
 *
 * Handles syncing PMO ticket status changes back to Linear,
 * attaching PR links, and posting status comments.
 */
import type { PMOStorage, Ticket } from '../pmo/types.js';
import { LinearClient } from './client.js';
import { LinearMapper } from './mapper.js';
import type { LinearWorkflowState } from './types.js';
export declare class LinearSync {
    private client;
    private mapper;
    constructor(client: LinearClient, mapper: LinearMapper);
    /**
     * Sync a PMO ticket's status back to Linear.
     * Finds the best matching Linear state based on category.
     */
    syncTicketStatus(ticket: Ticket, linearStates: LinearWorkflowState[]): Promise<boolean>;
    /**
     * Attach a PR link to the corresponding Linear issue.
     */
    syncPRLink(ticketId: string, prUrl: string, prTitle: string): Promise<boolean>;
    /**
     * Post a status update comment to the Linear issue.
     */
    syncStatusComment(ticketId: string, statusName: string, message?: string): Promise<boolean>;
    /**
     * Batch sync all mapped tickets that have changed since last sync.
     * Returns counts of synced/skipped/errored items.
     */
    syncAllStatuses(storage: PMOStorage, mappings: ReturnType<LinearMapper['listMappings']>, linearStates: LinearWorkflowState[]): Promise<{
        synced: number;
        skipped: number;
        errors: number;
    }>;
}
