import * as API from "../../common/api"; import { CollectionDoc, Events, QueryParams, Resource, ResourceId, Scope, SingleDoc, State, Task } from "../../common/structures"; export declare function document(): typeof CollectionRequest; export declare function document(id: ResourceId): SingleRequest; export interface Collection extends CollectionDoc { data: Repo[]; } export interface Single extends SingleDoc { data: Repo | null; } export interface Repo extends Resource { creator: ResourceId; name: string; about: { description: string; }; type: Types; owner: Scope; url: string; auth: { private_key: string; }; state: State; events: Events; meta?: { usage?: { images: number; }; }; } export declare type States = "live" | "building" | "deleting" | "deleted" | "error"; export declare type Types = "git"; export interface NewParams { name: string; url: string; type: Types; auth?: { private_key: string; }; } export interface UpdateParams { name?: string; url?: string; auth?: { private_key: string; }; } export interface BuildParams { latest: boolean; commit: string; description: string; } export declare class CollectionRequest { private static target; static get(query?: QueryParams): Promise>; static create(doc: NewParams, query?: QueryParams): Promise>; } export declare type SingleActions = "build"; export declare class SingleRequest { private target; constructor(id: ResourceId); get(query?: QueryParams): Promise>; update(doc: UpdateParams, query?: QueryParams): Promise>; delete(query?: QueryParams): Promise>>; build(options: BuildParams): Promise>>; task(action: SingleActions, contents?: object): Promise>>; }