UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

35 lines (34 loc) 1.56 kB
import { Response } from '@alinea/iso'; import { Revision } from 'alinea/backend/History'; import { Config, Connection, Draft, ResolveDefaults } from 'alinea/core'; import { SyncResponse } from './Connection.js'; import { EntryRecord } from './EntryRecord.js'; import { Mutation } from './Mutation.js'; type AuthenticateRequest = (request?: RequestInit) => RequestInit | undefined; export interface ClientOptions { config: Config; url: string; applyAuth?: AuthenticateRequest; unauthorized?: () => void; resolveDefaults?: ResolveDefaults; } export declare class Client implements Connection { options: ClientOptions; constructor(options: ClientOptions); previewToken(): Promise<string>; prepareUpload(file: string): Promise<Connection.UploadResponse>; resolve(params: Connection.ResolveParams): Promise<unknown>; mutate(mutations: Array<Mutation>): Promise<{ commitHash: string; }>; authenticate(applyAuth: AuthenticateRequest, unauthorized: () => void): Client; revisions(file: string): Promise<Array<Revision>>; revisionData(file: string, revisionId: string): Promise<EntryRecord>; syncRequired(contentHash: string): Promise<boolean>; sync(contentHashes: Array<string>): Promise<SyncResponse>; getDraft(entryId: string): Promise<Draft | undefined>; storeDraft(draft: Draft): Promise<void>; protected request(endpoint: string, init?: RequestInit): Promise<Response>; protected requestJson(endpoint: string, init?: RequestInit): Promise<globalThis.Response>; } export {};