import { B2Client } from "./client"; import { SnapshotItem } from "./archive"; export interface ControllerListEntry { id: string; handle: string; default_path: string; description: string; exported: boolean; created_at: string; updated_at: string; } export interface ControllerEntry { id?: string; handle: string; default_params?: { [key: string]: string; }; default_query?: { [key: string]: string; }; default_path?: string; description?: string; exported?: boolean; methods: string[]; middleware?: string[]; script?: string; script_uuid?: string; created_at?: string; updated_at?: string; revision?: string; } export interface ControllerConfig { handle?: string; default_path?: string; default_query?: any; default_params?: any; script: string; middleware?: string[]; method: "GET" | "POST" | "PUT" | "DELETE"; body?: any; } export declare class B2Controller { readonly isRef: boolean; private c; private path; constructor(client: B2Client, entryPath: string, isRef?: boolean); listAll(): Promise; update(control: ControllerEntry): Promise; create(control: ControllerEntry): Promise; get(id: string): Promise; delete(id: string): Promise; run(config: ControllerConfig): Promise; getSnapshot(): Promise; getSnapshotItems(items: SnapshotItem[]): Promise; }