import type { RequestContext } from '@mastra/core/request-context'; import type { ApiRoute } from '@mastra/core/server'; import type { MastraWorker } from '@mastra/core/worker'; import type { Intake, IntakeIssue } from '../../../capabilities/intake.js'; import type { RouteAuth } from '../../../routes/route.js'; import type { FactoryProjectsStorage } from '../../../storage/domains/projects/base.js'; import type { FactoryIntegration, IntegrationContext, IntegrationTools } from '../../base.js'; import type { JiraEventRules, JiraRuleOverrides } from '../../jira/default-rules.js'; import { type PlatformApiClientConfig } from '../api-client.js'; interface PlatformIntegrationConnection { id: string; integrationId: string; status: 'active' | 'needs_reauth'; accountLabel: string | null; } interface JiraIssueReference { connectionId: string; issueId: string; projectId?: string; } export interface PlatformJiraIntegrationConfig { clientConfig?: PlatformApiClientConfig; /** Per-event replacements; omitted events retain defaults, null disables. */ rules?: JiraRuleOverrides; } export declare class PlatformJiraIntegration implements FactoryIntegration { #private; readonly id = "jira"; get rules(): JiraEventRules; constructor(config?: PlatformJiraIntegrationConfig); initialize({ projects, auth }: { projects: FactoryProjectsStorage; auth: RouteAuth; }): void; get projects(): FactoryProjectsStorage; get authEnabled(): boolean; resolveOrgId(resourceId: string): Promise; clearCaches(): void; listConnections(): Promise; hasActiveConnections(): Promise; readonly intake: Intake; listActiveIssues(cursor?: string, sourceIds?: string[], labels?: string[]): Promise<{ issues: Array; nextCursor: string | null; }>; workers(ctx: IntegrationContext): MastraWorker[]; routes(ctx: IntegrationContext): ApiRoute[]; agentTools(args: { requestContext: RequestContext; }): Promise; diagnostics(): Record; } export declare function encodeSourceId(connectionId: string, projectId: string): string; export declare function decodeSourceId(sourceId: string): { connectionId: string; projectId: string; } | null; export declare function encodeIssueReference(reference: JiraIssueReference): string; export declare function decodeIssueReference(value: string): JiraIssueReference | null; export {}; //# sourceMappingURL=integration.d.ts.map