import type { Db } from "@rudderhq/db";
import { agentIntegrations } from "@rudderhq/db";
import type { AgentIntegrationSummary, CreateAgentIntegration } from "@rudderhq/shared";
export declare function summarizeAgentIntegration(row: typeof agentIntegrations.$inferSelect): AgentIntegrationSummary;
export declare function agentIntegrationService(db: Db): {
    listForAgent: (orgId: string, agentId: string) => Promise<AgentIntegrationSummary[]>;
    getAgentProvider: (orgId: string, agentId: string, provider: CreateAgentIntegration["provider"]) => Promise<{
        id: string;
        orgId: string;
        status: string;
        createdAt: Date;
        updatedAt: Date;
        revokedAt: Date | null;
        appCredentialSecretId: string;
        agentId: string;
        provider: string;
        transport: string;
        providerRegion: string;
        externalAppId: string;
        externalBotOpenId: string | null;
        externalTenantKey: string | null;
        installerUserId: string | null;
        manageUrl: string | null;
        installedAt: Date;
    }>;
    create: (orgId: string, input: CreateAgentIntegration) => Promise<{
        id: string;
        orgId: string;
        status: string;
        createdAt: Date;
        updatedAt: Date;
        revokedAt: Date | null;
        appCredentialSecretId: string;
        agentId: string;
        provider: string;
        transport: string;
        providerRegion: string;
        externalAppId: string;
        externalBotOpenId: string | null;
        externalTenantKey: string | null;
        installerUserId: string | null;
        manageUrl: string | null;
        installedAt: Date;
    }>;
    markErrorForAgent: (orgId: string, agentId: string, integrationId: string) => Promise<{
        id: string;
        orgId: string;
        agentId: string;
        provider: string;
        status: string;
        transport: string;
        providerRegion: string;
        appCredentialSecretId: string;
        externalAppId: string;
        externalBotOpenId: string | null;
        externalTenantKey: string | null;
        installerUserId: string | null;
        manageUrl: string | null;
        installedAt: Date;
        revokedAt: Date | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    revoke: (orgId: string, integrationId: string) => Promise<{
        id: string;
        orgId: string;
        agentId: string;
        provider: string;
        status: string;
        transport: string;
        providerRegion: string;
        appCredentialSecretId: string;
        externalAppId: string;
        externalBotOpenId: string | null;
        externalTenantKey: string | null;
        installerUserId: string | null;
        manageUrl: string | null;
        installedAt: Date;
        revokedAt: Date | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
    revokeForAgent: (orgId: string, agentId: string, integrationId: string) => Promise<{
        id: string;
        orgId: string;
        agentId: string;
        provider: string;
        status: string;
        transport: string;
        providerRegion: string;
        appCredentialSecretId: string;
        externalAppId: string;
        externalBotOpenId: string | null;
        externalTenantKey: string | null;
        installerUserId: string | null;
        manageUrl: string | null;
        installedAt: Date;
        revokedAt: Date | null;
        createdAt: Date;
        updatedAt: Date;
    }>;
};
//# sourceMappingURL=agent-integrations.d.ts.map