import type { CollectionInput, CollectionListResponse, CollectionResponse, MatchSpec, SearchQuerySpec, RecordData, RecordListResponse, RecordMutationAck, RecordResponse, SearchResultsResponse, SharedConfig, SignResponse, SyncStaticResponse, SyncStreamMessage } from "./types"; export declare class SharedClient { private config; constructor(config: SharedConfig); sign(identity: string): Promise; collections: { create: (body: CollectionInput) => Promise; list: () => Promise; update: (collection: string, body: CollectionInput) => Promise; delete: (collection: string) => Promise; }; records: { create: (collection: string, data: RecordData) => Promise; list: (collection: string) => Promise; get: (collection: string, recordId: string) => Promise; update: (collection: string, recordId: string, data: RecordData) => Promise; replace: (collection: string, recordId: string, data: RecordData) => Promise; delete: (collection: string, recordId: string) => Promise; }; search: { query: (collection: string, spec: SearchQuerySpec, options?: { fullResultObjects?: boolean; }) => Promise; match: (collection: string, spec: MatchSpec, options?: { fullResultObjects?: boolean; }) => Promise; }; sync: { pullStatic: (params: { seqStart?: number; seqEnd?: number; limit?: number; collection?: string; }) => Promise; buildStreamRequest: () => { url: string; headers: Record; }; subscribeStream: (options: { onMessage: (message: SyncStreamMessage) => void; onError?: (error: unknown) => void; }) => (() => void); }; private recordsUrl; private recordUrl; } export default SharedClient;