/**
 * Linear Integration Types
 *
 * Type definitions for the Linear ↔ PMO integration layer.
 */
/**
 * Represents a Linear issue as fetched from the API.
 */
export interface LinearIssue {
    id: string;
    identifier: string;
    title: string;
    description?: string;
    priority: number;
    state: {
        id: string;
        name: string;
        type: string;
    };
    team: {
        id: string;
        key: string;
        name: string;
    };
    assignee?: {
        id: string;
        name: string;
        email: string;
    };
    labels: Array<{
        id: string;
        name: string;
        color: string;
    }>;
    cycle?: {
        id: string;
        name: string;
        number: number;
    };
    project?: {
        id: string;
        name: string;
    };
    estimate?: number;
    url: string;
    createdAt: string;
    updatedAt: string;
}
/**
 * Represents a Linear team (workspace organizational unit).
 */
export interface LinearTeam {
    id: string;
    key: string;
    name: string;
    description?: string;
}
/**
 * Represents a Linear workflow state.
 */
export interface LinearWorkflowState {
    id: string;
    name: string;
    type: string;
    color: string;
    position: number;
}
/**
 * Represents a Linear cycle (sprint).
 */
export interface LinearCycle {
    id: string;
    name: string;
    number: number;
    startsAt: string;
    endsAt: string;
}
/**
 * Linear connection configuration stored in workspace_settings.
 */
export interface LinearConfig {
    apiKey: string;
    defaultTeamId?: string;
    defaultTeamKey?: string;
    organizationName?: string;
}
/**
 * Filters for querying Linear issues.
 */
export interface LinearIssueFilter {
    teamId?: string;
    teamKey?: string;
    stateType?: string;
    stateName?: string;
    assigneeId?: string;
    assigneeMe?: boolean;
    labelName?: string;
    cycleId?: string;
    projectId?: string;
    search?: string;
    limit?: number;
}
/**
 * Mapping record between a Linear issue and a PMO ticket.
 * Stored in pmo_linear_issue_map table.
 */
export interface LinearIssueMap {
    pmoTicketId: string;
    linearIssueId: string;
    linearIdentifier: string;
    linearTeamKey: string;
    linearUrl: string;
    syncDirection: 'inbound' | 'outbound' | 'bidirectional';
    lastSyncedAt?: Date;
    createdAt: Date;
}
/**
 * Result of a sync operation.
 */
export interface LinearSyncResult {
    imported: number;
    updated: number;
    skipped: number;
    errors: Array<{
        identifier: string;
        error: string;
    }>;
}
/**
 * Status mapping between Linear state types and PMO state categories.
 */
export declare const LINEAR_STATE_TO_PMO_CATEGORY: Record<string, string>;
/**
 * Priority mapping between Linear (1-4) and PMO (P0-P3).
 * Linear: 0=None, 1=Urgent, 2=High, 3=Medium, 4=Low
 * PMO: P0=Critical, P1=High, P2=Medium, P3=Low
 */
export declare const LINEAR_PRIORITY_TO_PMO: Record<number, string>;
export declare const PMO_PRIORITY_TO_LINEAR: Record<string, number>;
