import type { Logger } from 'winston';
import type { SyncStream } from '../grpc/plugin.js';
import type { ClientMeta } from '../schema/meta.js';
import type { Table } from '../schema/table.js';
export type Options = {
    logger: Logger;
    client: ClientMeta;
    tables: Table[];
    stream: SyncStream;
    deterministicCQId: boolean;
    concurrency: number;
    strategy?: Strategy;
};
export declare enum Strategy {
    dfs = "dfs",
    roundRobin = "round-robin"
}
export declare const getRoundRobinTableClients: (tables: Table[], client: ClientMeta) => {
    table: Table;
    client: ClientMeta;
}[];
export declare const sync: ({ logger, client, tables, stream, concurrency, strategy, deterministicCQId, }: Options) => Promise<void>;
