export declare const FLATSQL_SYNC_PROTOCOL_ID = "/space-data-network/flatsql-sync/1.0.0"; export interface FlatSqlSyncTransport { dialProtocol(targetPeerId: string, protocolId: string, payload: Uint8Array, candidateAddrs?: string[]): Promise; } export interface FlatSqlSyncQuery { targetPeerId: string; candidateAddrs?: string[]; op?: 'read_chunk' | 'scan' | 'open_snapshot' | 'open_manifest' | 'list_datastores' | 'read_published_shard' | 'read_published_shard_batch'; schema: string; datastoreKey?: string; providerId?: string; sourceName?: string; batchId?: string; producerPeerId?: string; producerPublicKey?: string; peerId?: string; cursor?: string; snapshotId?: string; head?: string; nextCursor?: string; totalCount?: number; highWaterMark?: string; scanHash?: string; chunkHash?: string; queryProfile?: string; syncFilter?: string; limit?: number; offset?: number; records?: FlatSqlSyncRecordRef[]; cid?: string; cids?: string[]; byteOffset?: number; byteLength?: number; } export interface FlatSqlWireSpeedProbeQuery { targetPeerId: string; candidateAddrs?: string[]; probeBytes?: number; } export interface FlatSqlWireSpeedProbeResult { requestedBytes: number; payloadBytes: number; elapsedMs: number; bytesPerSecond: number; syncProtocol: string; } export interface FlatSqlSyncDatastoreIdentity { schemaName: string; sourcePeerId?: string; sourcePublicKey?: string; providerId?: string; sourceName?: string; batchHead?: string; queryProfile?: string; canonicalParams?: Record; snapshotId?: string; highWaterMark?: string; artifactHash?: string; } export interface FlatSqlSyncDatastoreEntry { key: string; identity: FlatSqlSyncDatastoreIdentity; updatedAt: number; } export interface FlatSqlSyncDatastoreList { count: number; results: FlatSqlSyncDatastoreEntry[]; } export interface FlatSqlSyncHeader { schema: string; totalCount: number; count: number; limit: number; offset: number; cursor: string; nextCursor: string; snapshotId: string; head: string; highWaterMark: string; scanHash: string; chunkHash: string; queryProfile: string; syncProtocol: string; maxChunkSize: number; transports: string[]; results: FlatSqlSyncRecordRef[]; } export interface FlatSqlSyncManifest { manifestId: string; schema: string; providerId?: string; sourceName?: string; batchId?: string; producerPeerId?: string; producerPublicKey?: string; totalCount: number; totalBytes: number; snapshotId: string; head: string; highWaterMark: string; queryProfile: string; syncProtocol: string; maxChunkSize: number; transports: string[]; artifactBundles: FlatSqlSyncManifestArtifactBundle[]; segments: FlatSqlSyncManifestSegment[]; } export interface FlatSqlSyncManifestArtifactBundle { role: 'shard-group-car' | string; cid: string; byteCount: number; sha256?: string; format?: string; segmentStart: number; segmentCount: number; } export interface FlatSqlSyncManifestSegment { index: number; cursor: string; nextCursor: string; rowCount: number; byteCount: number; chunkHash: string; cid?: string; indexCid?: string; manifestCid?: string; pnmCid?: string; shardSha256?: string; indexSha256?: string; querySha256?: string; feedSequence?: number; previousHead?: string; feedHead?: string; } export interface FlatSqlSyncRecordRef { schemaName: string; cid: string; peerId: string; providerId?: string; sourceName?: string; batchId?: string; producerPeerId?: string; producerPublicKey?: string; timestamp?: string; sizeBytes: number; } export interface FlatSqlSyncChunk { header: FlatSqlSyncHeader; records: Uint8Array[]; recordStream: Uint8Array; } export interface FlatSqlPublishedShardHeader { op: string; status: string; schema: string; providerId?: string; sourceName?: string; batchId?: string; queryProfile: string; cid: string; indexCid?: string; manifestCid?: string; pnmCid?: string; rowCount: number; byteOffset?: number; byteLength?: number; byteCount: number; totalByteCount?: number; shardSha256?: string; indexSha256?: string; querySha256?: string; resultSha256?: string; feedSequence?: number; previousHead?: string; head?: string; syncProtocol: string; transports: string[]; payloadFormat?: string; } export interface FlatSqlPublishedShard { header: FlatSqlPublishedShardHeader; streamBytes: Uint8Array; } export interface FlatSqlPublishedShardBatchHeader { op: string; status: string; schema: string; providerId?: string; sourceName?: string; batchId?: string; queryProfile: string; syncProtocol: string; transports: string[]; payloadFormat?: string; shards: FlatSqlPublishedShardHeader[]; } export interface FlatSqlPublishedShardBatch { header: FlatSqlPublishedShardBatchHeader; shards: FlatSqlPublishedShard[]; } export declare function requestFlatSqlSyncChunk(transport: FlatSqlSyncTransport, query: FlatSqlSyncQuery): Promise; export declare function requestFlatSqlSyncManifest(transport: FlatSqlSyncTransport, query: FlatSqlSyncQuery): Promise; export declare function requestFlatSqlPublishedShard(transport: FlatSqlSyncTransport, query: FlatSqlSyncQuery & { cid: string; }): Promise; export declare function requestFlatSqlPublishedShardBatch(transport: FlatSqlSyncTransport, query: FlatSqlSyncQuery & { cids: string[]; }): Promise; export declare function requestFlatSqlSyncDatastores(transport: FlatSqlSyncTransport, query: Pick): Promise; export declare function requestFlatSqlWireSpeedProbe(transport: FlatSqlSyncTransport, query: FlatSqlWireSpeedProbeQuery, now?: () => number): Promise; export declare function encodeFlatSqlSyncRequest(query: FlatSqlSyncQuery): Uint8Array; export declare function encodeFlatSqlWireSpeedProbeRequest(query: FlatSqlWireSpeedProbeQuery): Uint8Array; export declare function decodeFlatSqlSyncChunk(bytes: Uint8Array): FlatSqlSyncChunk; export declare function decodeFlatSqlSyncManifest(bytes: Uint8Array): FlatSqlSyncManifest; export declare function decodeFlatSqlPublishedShard(bytes: Uint8Array): FlatSqlPublishedShard; export declare function decodeFlatSqlPublishedShardBatch(bytes: Uint8Array): FlatSqlPublishedShardBatch; export declare function decodeFlatSqlSyncDatastores(bytes: Uint8Array): FlatSqlSyncDatastoreList; export declare function decodeFlatSqlWireSpeedProbe(bytes: Uint8Array, elapsedMs: number): FlatSqlWireSpeedProbeResult; //# sourceMappingURL=flatsql-sync.d.ts.map