import * as v from "@exodus/schemasafe"; import { IDate } from "./../date"; import { IAccount } from "./../account/generic"; export interface ISession { id: string; expire_at: IDate; updated_at: IDate; created_at: IDate; account: IAccount | null; } export declare const SessionSchema: Readonly<{ readonly $schema: "https://json-schema.org/draft/2020-12/schema"; readonly $id: "session/generic"; readonly title: "Session"; readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["id", "expire_at", "updated_at", "created_at", "account"]; readonly properties: { readonly id: { readonly type: "string"; readonly format: "any"; }; readonly expire_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 updated_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 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 account: { readonly oneOf: readonly [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 type: "null"; }]; }; }; }>; export declare function validateSession(value: unknown, options?: v.ValidatorOptions): v.ParseResult; export declare function assertSession(value: unknown): asserts value is ISession;