/**
 * Linear API Client
 *
 * Thin wrapper around @linear/sdk providing typed access to
 * Linear issues, teams, states, and cycles for the PMO integration.
 */
import type { LinearIssue, LinearTeam, LinearWorkflowState, LinearCycle, LinearIssueFilter } from './types.js';
export declare class LinearClient {
    private sdk;
    constructor(apiKey: string);
    /**
     * Verify the API key is valid and return the authenticated user's organization.
     */
    verify(): Promise<{
        organizationName: string;
        userName: string;
        email: string;
    }>;
    /**
     * List all teams in the workspace.
     */
    listTeams(): Promise<LinearTeam[]>;
    /**
     * Get a team by its key (e.g., "ENG").
     */
    getTeamByKey(key: string): Promise<LinearTeam | null>;
    /**
     * List workflow states for a team.
     */
    listStates(teamId: string): Promise<LinearWorkflowState[]>;
    /**
     * List cycles for a team.
     */
    listCycles(teamId: string): Promise<LinearCycle[]>;
    /**
     * Fetch issues from Linear with optional filters.
     */
    listIssues(filter?: LinearIssueFilter): Promise<LinearIssue[]>;
    /**
     * Fetch a single issue by its identifier (e.g., "ENG-123").
     */
    getIssueByIdentifier(identifier: string): Promise<LinearIssue | null>;
    /**
     * Update the state of an issue.
     */
    updateIssueState(issueId: string, stateId: string): Promise<void>;
    /**
     * Add a comment to an issue.
     */
    addComment(issueId: string, body: string): Promise<void>;
    /**
     * Attach a URL to an issue (e.g., a PR link).
     */
    attachUrl(issueId: string, url: string, title: string): Promise<void>;
}
