UNPKG

alinea

Version:
43 lines (42 loc) 1.92 kB
import type { PreviewInfo } from 'alinea/backend/Previews'; import { type AuthResult } from 'alinea/cloud/AuthResult'; import type { Config } from './Config.js'; import type { LocalConnection, Revision, UploadResponse } from './Connection.js'; import type { Draft, DraftKey } from './Draft.js'; import type { CommitRequest } from './db/CommitRequest.js'; import type { Mutation } from './db/Mutation.js'; import type { EntryRecord } from './EntryRecord.js'; import type { AnyQueryResult, GraphQuery } from './Graph.js'; import { ReadonlyTree } from './source/Tree.js'; import type { User } from './User.js'; export type AuthenticateRequest = (request?: RequestInit) => RequestInit | undefined; export interface ClientOptions { config: Config; url: string; applyAuth?: AuthenticateRequest; unauthorized?: () => void; } export declare class Client implements LocalConnection { #private; constructor(options: ClientOptions); get url(): string; authStatus(): Promise<AuthResult>; logout: () => Promise<void>; previewToken(request: PreviewInfo): Promise<string>; prepareUpload(file: string): Promise<UploadResponse>; user(): Promise<User | undefined>; resolve<Query extends GraphQuery>(query: Query): Promise<AnyQueryResult<Query>>; mutate(mutations: Array<Mutation>): Promise<{ sha: string; }>; authenticate(applyAuth: AuthenticateRequest, unauthorized: () => void): Client; revisions(file: string): Promise<Array<Revision>>; revisionData(file: string, revisionId: string): Promise<EntryRecord | undefined>; getTreeIfDifferent(sha: string): Promise<ReadonlyTree | undefined>; getBlobs(shas: Array<string>): AsyncGenerator<[sha: string, blob: Uint8Array]>; write(request: CommitRequest): Promise<{ sha: string; }>; getDraft(key: DraftKey): Promise<Draft | undefined>; storeDraft(draft: Draft): Promise<void>; }