import type { NangoConnection } from '../../models/Connection.js';
import type { Job as SyncJob, SyncResultByModel, SyncType } from '../../models/Sync.js';
import { SyncStatus } from '../../models/Sync.js';
export declare function createSyncJob({ sync_id, type, status, job_id, nangoConnection, sync_config_id, run_id, log_id }: {
    sync_id: string;
    type: SyncType;
    status: SyncStatus;
    job_id: string;
    nangoConnection: NangoConnection | null;
    sync_config_id?: number;
    run_id?: string;
    log_id?: string;
}): Promise<SyncJob | null>;
export declare const updateRunId: (id: number, run_id: string) => Promise<void>;
export declare const getLatestSyncJob: (sync_id: string) => Promise<SyncJob | null>;
export declare const getSyncJobByRunId: (run_id: string) => Promise<SyncJob | null>;
export declare const updateSyncJobStatus: (id: number, status: SyncStatus) => Promise<SyncJob | null>;
export declare const updateLatestJobSyncStatus: (sync_id: string, status: SyncStatus) => Promise<SyncJob | null>;
/**
 * Update Sync Job Result
 * @desc grab any existing results and add them to the current
 */
export declare const updateSyncJobResult: (id: number, result: SyncResultByModel, model: string) => Promise<SyncJob>;
export declare const addSyncConfigToJob: (id: number, sync_config_id: number) => Promise<void>;
export declare const isSyncJobRunning: (sync_id: string) => Promise<Pick<SyncJob, 'id' | 'job_id' | 'run_id' | 'log_id'> | null>;
export declare function hardDeleteJobs({ syncId, limit }: {
    syncId: string;
    limit: number;
}): Promise<number>;
