import type { NormalizedIssueEnvelope } from '../external-issues/types.js';
import type { WorkSourceProvider } from './config.js';
export interface WorkSourceClient {
    readonly provider: WorkSourceProvider;
    fetchByKey(key: string): Promise<NormalizedIssueEnvelope | null>;
    buildTicketDescription(envelope: NormalizedIssueEnvelope): string;
    buildMetadata(envelope: NormalizedIssueEnvelope): Record<string, string>;
    buildSpawnContextMessage(envelope: NormalizedIssueEnvelope, additionalMessage?: string): string;
}
export declare function getWorkSourceClient(provider: WorkSourceProvider): WorkSourceClient | null;
