import { EmailCheck, Game, IdentifiedAddress, User } from '../business'; import { EconomicSystem, LocalizedOption, UnassembledMessages } from '../tools'; import { SerializableForm, HelpSheet } from '../ui'; /** * The captcha action types. */ export declare type CaptchaAction = 'userCreate'; /** * The API definition. */ export interface ApiDefinition { lang: { url: { langCode: string; }; data: undefined; return: void; }; userSignIn: { url: undefined; data: { email: string; password: string; }; return: User; }; userSignOut: { url: undefined; data: undefined; return: void; }; userCreate: { url: undefined; data: User & { password: string; captchaToken: string; }; return: User; }; userSearch: { url: undefined; data: { email?: string; name?: string; }; return: User[]; }; userRead: { url: { id: string; }; data: undefined; return: User; }; userUpdate: { url: { id: string; }; data: User & { password?: string; }; return: User; }; userDelete: { url: { id: string; }; data: undefined; return: void; }; emailValidate: { url: EmailCheck; data: undefined; return: void; }; economicSystemSearch: { url: undefined; data: undefined; return: EconomicSystem[]; }; economicSystemRead: { url: { id: string; }; data: undefined; return: EconomicSystem; }; gameCreate: { url: undefined; data: (IdentifiedAddress | { value?: string; }) & { locationName?: string; roundsPerSet: number; roundLength: number; }; return: Game; }; gameUpdate: { url: { id: string; }; data: (IdentifiedAddress | { value?: string; }) & { locationName?: string; summary?: string; closed?: true; }; return: Game; }; gameSearch: { url: undefined; data: undefined; return: Game[]; }; gameRead: { url: { id: string; }; data: undefined; return: Game; }; gamePlayerAdd: { url: { id: string; }; data: { name: string; }; return: Game; }; gamePlayerUpdate: { url: { id: string; player: number; }; data: { name: string; }; return: Game; }; gamePlayerDelete: { url: { id: string; player: number; }; data: undefined; return: Game; }; gameSetAdd: { url: { id: string; }; data: { ecoSysId: string; }; return: Game; }; gameNpcName: { url: { id: string; roundSet: number; character: number; }; data: undefined; return: UnassembledMessages[any]; }; gameHelpSheetValues: { url: { id: string; }; data: undefined; return: HelpSheet; }; gameHelpSheetMoney: { url: { id: string; }; data: undefined; return: HelpSheet; }; gameOptionsCreate: { url: { id: string; }; data: undefined; return: LocalizedOption[]; }; gameFormCreate: { url: { id: string; }; data: { optionId?: string; }; return: SerializableForm; }; gameFormSend: { url: { id: string; }; data: { [key: string]: string | number | boolean; } & { optionId?: string; }; return: Game; }; gameTechnologicalBreak: { url: { id: string; }; data: undefined; return: Game; }; } /** * The available methods. */ export declare const enum ApiMethod { Get = "get", Delete = "delete", Post = "post", Put = "put", Patch = "patch" } export declare type ApiRoutes = { [P in keyof ApiDefinition]: { readonly method: ApiMethod; readonly fullUrl: string; readonly subUrl: string; }; }; /** * The root of the API. */ export declare const apiRoot = "api"; /** * The routes for the API. */ declare const apiRoutes: Readonly; export default apiRoutes;