import type { ConnectionProvider } from '@relayfile/sdk'; export type { ConnectionProvider, ProxyRequest, ProxyResponse } from '@relayfile/sdk'; import type { PipedriveAdapterConfig, PipedriveWebhookPayload } from './types.js'; export interface FileSemantics { properties?: Record; relations?: string[]; permissions?: string[]; comments?: string[]; } export interface IngestError { path: string; error: string; } export interface IngestResult { filesWritten: number; filesUpdated: number; filesDeleted: number; paths: string[]; errors: IngestError[]; } export interface NormalizedWebhook { provider: string; connectionId?: string; eventType: string; objectType: string; objectId: string; payload: Record; } export interface WriteFileInput { workspaceId: string; path: string; content: string; contentType?: string; semantics?: FileSemantics; } export interface WriteFileResult { created?: boolean; updated?: boolean; status?: 'created' | 'updated' | 'queued' | 'pending'; } export interface DeleteFileInput { workspaceId: string; path: string; } export interface RelayFileClientLike { writeFile(input: WriteFileInput): Promise; deleteFile?(input: DeleteFileInput): Promise | void; } export declare abstract class IntegrationAdapter { protected readonly client: RelayFileClientLike; protected readonly provider: ConnectionProvider; abstract readonly name: string; abstract readonly version: string; constructor(client: RelayFileClientLike, provider: ConnectionProvider); abstract ingestWebhook(workspaceId: string, event: NormalizedWebhook | PipedriveWebhookPayload): Promise; abstract computePath(objectType: string, objectId: string, displayName?: string): string; abstract computeSemantics(objectType: string, objectId: string, payload: Record): FileSemantics; supportedEvents?(): string[]; } export declare class PipedriveAdapter extends IntegrationAdapter { readonly name = "pipedrive"; readonly version = "0.1.0"; readonly config: PipedriveAdapterConfig; constructor(client: RelayFileClientLike, provider: ConnectionProvider, config?: PipedriveAdapterConfig); supportedEvents(): string[]; ingestWebhook(workspaceId: string, event: NormalizedWebhook | PipedriveWebhookPayload): Promise; computePath(objectType: string, objectId: string, displayName?: string): string; computeSemantics(objectType: string, objectId: string, payload: Record): FileSemantics; private normalizeEvent; private pathForEvent; private isDeleteEvent; private renderContent; } //# sourceMappingURL=pipedrive-adapter.d.ts.map