import type { DataRecord as SyncDataRecord, CustomerFacingDataRecord, DataRecordWithMetadata, GetRecordsResponse, LastAction } from '../../../models/Sync.js';
import type { DataResponse } from '../../../models/Data.js';
import type { ServiceResponse } from '../../../models/Generic.js';
export declare const formatDataRecords: (records: DataResponse[], nango_connection_id: number, model: string, syncId: string, sync_job_id: number, softDelete?: boolean) => ServiceResponse<SyncDataRecord[]>;
export declare function getDataRecords(connectionId: string, providerConfigKey: string, environmentId: number, model: string, delta?: string, offset?: number | string, limit?: number | string, sortBy?: string, order?: 'asc' | 'desc', filter?: LastAction, includeMetaData?: boolean): Promise<ServiceResponse<CustomerFacingDataRecord[] | DataRecordWithMetadata[] | null>>;
export declare function getAllDataRecords(connectionId: string, providerConfigKey: string, environmentId: number, model: string, modifiedAfter?: string, limit?: number | string, filter?: LastAction, cursorValue?: string | null): Promise<ServiceResponse<GetRecordsResponse>>;
export declare function verifyUniqueKeysAreUnique(data: DataResponse[], optionalUniqueKey?: string | number): {
    isUnique: boolean;
    nonUniqueKeys: string[];
};
export declare function getRecordsByExternalIds(external_ids: string[], nango_connection_id: number, model: string): Promise<SyncDataRecord[]>;
export declare function deleteRecordsBySyncId({ syncId, limit }: {
    syncId: string;
    limit?: number;
}): Promise<{
    totalDeletedRecords: number;
}>;
export declare function markNonCurrentGenerationRecordsAsDeleted(connectionId: number, model: string, syncId: string, generation: number): Promise<string[]>;
