export declare type ResourceId = string; export declare type Time = string; export declare type Megabytes = number; export declare type Gigabytes = number; export declare type Microseconds = number; export declare type Megabits = number; export declare type Mills = number; export declare type Days = number; export interface TopLevel { meta?: Meta; includes?: Includes; } export interface CollectionDoc extends TopLevel { data: Resource[]; } export interface SingleDoc extends TopLevel { data: Resource | null; } export interface Resource { id: ResourceId; meta?: Meta; } export interface Meta { [key: string]: any; } export interface Includes { [key: string]: { [key: string]: Resource | { [key: string]: Resource; }; }; } export interface QueryParams { include?: string[]; meta?: string[]; sort?: string[]; filter?: { [key: string]: string; }; page?: { number: number; size: number; }; team?: ResourceId; } export interface Events { created?: string; updated?: string; deleted?: string; errored?: string; error: { message: string; }; started?: string; completed?: string; } export declare class NewTask { id?: ResourceId; action: T; contents?: object; job?: string; constructor(action: T, contents?: object); } export interface Task { data: { id?: ResourceId; action: T; contents?: object; job?: string; }; } export interface State { changed: Time; current: T; job: { id: ResourceId; queue: Time; queued: Time; }; error?: { block: boolean; time?: string; message: string; }; } export declare type ScopeType = "account" | "employee" | "team"; export interface Scope { type: ScopeType; id: ResourceId; } export declare type SuspensionCode = "trial_ended" | "payment_overdue" | "tos_violation" | "takedown_order" | "other"; export interface SuspensionEvent { time: Time; reason: string; grace_period: Time; purged: Time; code: SuspensionCode; }