/**
 * Linear Ticket Provider
 *
 * Writes ticket operations directly to Linear via API,
 * then updates local PMO to keep it in sync.
 *
 * Emits work:status_changed with source='linear' so the outbound sync
 * handler skips Linear (avoiding double-write).
 */
import type Database from 'better-sqlite3';
import type { TicketFilter, CreateTicketInput } from '../pmo/types.js';
import type { TicketProvider, ProviderMoveResult, ProviderDeleteResult, ProviderListResult, ProviderCreateResult, ProviderGetResult, ProviderStorage } from './types.js';
export declare class LinearTicketProvider implements TicketProvider {
    private db;
    private storage;
    private projectId;
    private ticketStatusCategory;
    readonly name: "linear";
    constructor(db: Database.Database, storage: ProviderStorage, projectId: string, ticketStatusCategory: string | null);
    private getApiKeyOrFail;
    moveTicket(ticketId: string, newState: string): Promise<ProviderMoveResult>;
    deleteTicket(ticketId: string): Promise<ProviderDeleteResult>;
    listTickets(projectId?: string, filter?: TicketFilter): Promise<ProviderListResult>;
    createTicket(projectId: string, input: CreateTicketInput): Promise<ProviderCreateResult>;
    getTicket(ticketId: string): Promise<ProviderGetResult>;
}
