import type { DatabaseConnection } from './types';
export declare const INTERNAL_CATALOG_PUBLISH_CACHE_NAMESPACE = "catalog-publisher-locks";
export declare const INTERNAL_CATALOG_PUBLISH_KEY_PREFIX = "catalog-entities::publisher";
export declare class RemotePublishLockService {
    #private;
    static getInternalCacheValue({ remoteConnection, key }: {
        remoteConnection: DatabaseConnection;
        key: string;
    }): Promise<string | null>;
    static upsertInternalCacheValue({ remoteConnection, key, value, ttl }: {
        remoteConnection: DatabaseConnection;
        key: string;
        value: string;
        ttl?: number | null;
    }): Promise<void>;
    static runUnderRemotePublishLock<T>({ runId, remoteConnection, run }: {
        runId: string;
        remoteConnection: DatabaseConnection;
        run: () => Promise<T>;
    }): Promise<T>;
}
//# sourceMappingURL=remote-publish-lock-service.d.ts.map