///
import type { BackendClass, BackendEntry, ConfigWithDefaults, DisplayURL, ImplementationEntry, ImplementationFile, ImplementationMediaFile, PersistOptions, UnpublishedEntry, User } from '@staticcms/core';
import type { Cursor } from '@staticcms/core/lib/util';
import type AssetProxy from '@staticcms/core/valueObjects/AssetProxy';
export default class ProxyBackend implements BackendClass {
proxyUrl: string;
mediaFolder?: string;
publicFolder?: string;
options: {};
branch: string;
cmsLabelPrefix?: string;
constructor(config: ConfigWithDefaults, options?: {});
status(): Promise<{
auth: {
status: boolean;
};
api: {
status: boolean;
statusPage: string;
};
}>;
authComponent(): import("react").FC;
restoreUser(): Promise;
authenticate(): Promise;
logout(): null;
getToken(): Promise;
request(payload: {
action: string;
params: Record;
}): Promise;
entriesByFolder(folder: string, extension: string, depth: number): Promise;
entriesByFiles(files: ImplementationFile[]): Promise;
getEntry(path: string): Promise;
persistEntry(entry: BackendEntry, options: PersistOptions): Promise;
getMedia(mediaFolder?: string | undefined, folderSupport?: boolean, publicFolder?: string | undefined): Promise<{
id: string;
name: string;
displayURL: {
id: string;
path: string;
};
path: string;
isDirectory: boolean;
}[]>;
getMediaFile(path: string): Promise;
getMediaDisplayURL(displayURL: DisplayURL): Promise;
persistMedia(assetProxy: AssetProxy, options: PersistOptions): Promise<{
id: string;
name: string;
path: string;
file: File;
size: number;
url: string;
displayURL: string;
}>;
deleteFiles(paths: string[], commitMessage: string): Promise;
traverseCursor(): Promise<{
entries: ImplementationEntry[];
cursor: Cursor;
}>;
allEntriesByFolder(folder: string, extension: string, depth: number): Promise;
unpublishedEntries(): Promise;
unpublishedEntry({ id, collection, slug, }: {
id?: string;
collection?: string;
slug?: string;
}): Promise;
unpublishedEntryDataFile(collection: string, slug: string, path: string, id: string): Promise;
unpublishedEntryMediaFile(collection: string, slug: string, path: string, id: string): Promise<{
id: string;
name: string;
path: string;
file: File;
size: number;
url: string;
displayURL: string;
}>;
updateUnpublishedEntryStatus(collection: string, slug: string, newStatus: string): Promise;
publishUnpublishedEntry(collection: string, slug: string): Promise;
deleteUnpublishedEntry(collection: string, slug: string): Promise;
getDeployPreview(collection: string, slug: string): Promise<{
url: string;
status: string;
} | null>;
}