import { type IntegrationAdapter, type RelayFileClient, type WriteEvent } from "@relayfile/sdk"; export interface RelayBindingRecord { provider: string; pathGlob: string; channel: string; webhookId: string; webhookToken: string; } export interface RelayCastLike { webhooks: { trigger(webhookId: string, body: Record, token?: string): Promise; }; } export interface ForwarderOptions { workspaceId: string; client: RelayFileClient; relayCastSdk: RelayCastLike; adapter: IntegrationAdapter; bindings?: RelayBindingRecord[]; bindingsPath?: string; signal?: AbortSignal; } export interface ForwarderHandle { unsubscribe(): void; } export interface RelaycastDelivery { message?: { text?: unknown; body?: unknown; content?: unknown; metadata?: unknown; }; } export declare function defaultBindingsPath(): string; export declare function loadRelayBindings(bindingsPath?: string): Promise; export declare function startForwarder(opts: ForwarderOptions): Promise; export declare function createInboundForwardHandler(input: { adapter: IntegrationAdapter; bindings: RelayBindingRecord[]; relayCastSdk: RelayCastLike; }): (event: WriteEvent) => Promise; export declare function handleWritebackDelivery(body: RelaycastDelivery | Record, adapter: IntegrationAdapter, workspaceId: string, bindings: RelayBindingRecord[]): Promise; export declare function matchBinding(path: string, bindings: RelayBindingRecord[]): RelayBindingRecord | undefined;