import * as v from "@exodus/schemasafe"; import { IRouteMetaInterface } from "./meta/interface"; import { IIdString } from "./../id_string"; import { IAccountStateCreate } from "./../account/state/create"; import { IAccount } from "./../account/generic"; export declare type IRouteCreateAccount = IRouteMetaInterface & { path: { accountId: IIdString; [k: string]: unknown | undefined; }; body: IAccountStateCreate; response: { "201": IAccount; [k: string]: unknown | undefined; }; }; export declare const RouteCreateAccountSchema: Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "route/create_account"; readonly title: "RouteCreateAccount"; 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 ["path", "body", "response"]; readonly properties: { readonly path: { readonly type: "object"; readonly required: readonly ["accountId"]; readonly properties: { readonly accountId: 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 additionalProperties: true; }; readonly body: Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "account/state/create"; readonly title: "AccountStateCreate"; readonly type: "object"; readonly required: readonly ["email", "password", "display_name"]; 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 display_name: { readonly type: "string"; readonly format: "any"; readonly minLength: 3; readonly maxLength: 32; readonly description: "Account's display name"; }; }; }>; 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 validateRouteCreateAccount(value: unknown, options?: v.ValidatorOptions): v.ParseResult; export declare function assertRouteCreateAccount(value: unknown): asserts value is IRouteCreateAccount;