import * as API from "../../common/api"; import { CollectionDoc, Events, QueryParams, Resource, ResourceId, SingleDoc, State, SuspensionEvent, Task, Time } from "../../common/structures"; import * as Billing from "../../modules/billing/index"; import { Agency } from "../agency"; import * as Logins from "./logins"; export declare function document(): typeof AccountRequest; export interface Collection extends CollectionDoc { data: Account[]; } export interface Single extends SingleDoc { data: Account | null; } export interface Account extends Resource { name: { first: string; last: string; }; agency?: Agency; auth: { allow_employee_login: boolean; }; email: { address: string; verified: Time; added: Time; }; teams: Array<{ id: ResourceId; role: number; joined: Time; }>; state: State<"new" | "live" | "suspending" | "suspended" | "purging" | "deleting" | "deleted">; events: Events & { suspension: SuspensionEvent; last_login: Time; }; billing: Billing.Profile; meta?: { role: string; }; } export interface UpdateParams { name?: { first?: string; last?: string; }; auth?: { allow_employee_login?: boolean; }; } export interface ChangePasswordParams { current: string; new: string; } export declare type AccountActions = "apply"; export declare class AccountRequest { private static target; static get(query?: QueryParams): Promise>; static update(doc: UpdateParams, query?: QueryParams): Promise>; static logins(query?: QueryParams): Promise>; static lookup(query: QueryParams): Promise>; static changePassword(doc: ChangePasswordParams, query?: QueryParams): Promise>; static changeTier(tier: string): Promise>>; static task(action: AccountActions, contents?: object, query?: QueryParams): Promise>>; }