import * as v from "@exodus/schemasafe"; import { IRouteMetaInterface } from "./meta/interface"; import { IAccountStateLogin } from "./../account/state/login"; import { IRouteMetaCaptchaToken } from "./meta/captcha_token"; import { IAccount } from "./../account/generic"; export declare type IRouteLogin = IRouteMetaInterface & { query: IAccountStateLogin & { captcha_token: IRouteMetaCaptchaToken; [k: string]: unknown | undefined; }; response: { "201": IAccount; [k: string]: unknown | undefined; }; }; export declare const RouteLoginSchema: Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "route/login"; readonly title: "RouteLogin"; readonly type: "object"; readonly allOf: readonly [Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "route/meta/interface"; readonly title: "RouteMetaInterface"; readonly type: "object"; readonly required: readonly ["path", "query", "body", "headers", "response"]; readonly properties: { readonly path: {}; readonly query: {}; readonly body: {}; readonly headers: {}; readonly response: {}; }; }>, { readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["query", "response"]; readonly properties: { readonly query: { readonly type: "object"; readonly allOf: readonly [Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "account/state/login"; readonly title: "AccountStateLogin"; readonly type: "object"; readonly required: readonly ["email", "password"]; readonly properties: { readonly email: { readonly type: "string"; readonly format: "email"; readonly description: "Account's email address"; }; readonly password: { readonly type: "string"; readonly format: "any"; readonly minLength: 8; readonly description: "Account's login password"; }; readonly totp_code: { readonly type: "string"; readonly pattern: "^\\d{6}$"; readonly description: "Time-based one-time password code"; }; }; }>, { readonly type: "object"; readonly required: readonly ["captcha_token"]; readonly properties: { readonly captcha_token: Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "route/meta/captcha_token"; readonly title: "RouteMetaCaptchaToken"; readonly type: "string"; readonly format: "any"; readonly description: "A security token (used for hCaptcha, reCaptcha, ect)"; }>; }; readonly additionalProperties: true; }]; readonly required: readonly []; readonly additionalProperties: true; }; readonly response: { readonly type: "object"; readonly required: readonly ["201"]; readonly properties: { readonly '201': Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "account/generic"; readonly title: "Account"; readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["id", "email", "display_name", "updated_at", "created_at"]; readonly properties: { readonly id: Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "id_string"; readonly title: "IdString"; readonly type: "string"; readonly format: "objectid"; readonly examples: readonly ["507f1f77bcf86cd799439011"]; }>; readonly email: { readonly oneOf: readonly [{ readonly type: "string"; readonly format: "email"; readonly description: "Account's email address"; }, Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "null"; readonly title: "Null"; readonly type: "null"; readonly nullable: true; readonly examples: readonly ["null"]; readonly readOnly: true; }>]; }; readonly display_name: { readonly type: "string"; readonly format: "any"; readonly minLength: 3; readonly maxLength: 32; readonly description: "Account's display name"; }; readonly updated_at: Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "date_object"; readonly title: "DateObject"; readonly tsType: "Date"; readonly type: "object"; readonly additionalProperties: true; readonly readOnly: true; }>; readonly created_at: Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "date"; readonly title: "Date"; readonly oneOf: readonly [Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "date_string"; readonly title: "DateString"; readonly type: "string"; readonly format: "date-time"; readonly examples: readonly ["2021-11-12T01:59:23.718Z"]; }>, Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "date_number"; readonly title: "DateNumber"; readonly type: "number"; readonly examples: readonly ["1636234281248"]; }>, Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "date_object"; readonly title: "DateObject"; readonly tsType: "Date"; readonly type: "object"; readonly additionalProperties: true; readonly readOnly: true; }>]; }>; }; }>; }; readonly additionalProperties: true; }; }; }]; }>; export declare function validateRouteLogin(value: unknown, options?: v.ValidatorOptions): v.ParseResult; export declare function assertRouteLogin(value: unknown): asserts value is IRouteLogin;