import type { Context, ContractToFunction } from '@aeriajs/types'; import type { description } from './description.js'; export declare const authenticateContract: { readonly payload: { readonly type: "object"; readonly required: readonly []; readonly properties: { readonly email: { readonly type: "string"; }; readonly password: { readonly type: "string"; }; readonly revalidate: { readonly type: "boolean"; }; readonly token: { readonly type: "object"; readonly properties: { readonly type: { readonly enum: readonly ["bearer"]; }; readonly content: { readonly type: "string"; }; }; }; }; }; readonly response: [{ readonly type: "object"; readonly properties: { readonly _tag: { readonly const: "Error"; }; readonly result: { readonly const: undefined; readonly isConstUndefined: true; }; readonly error: { readonly type: "object"; readonly required: readonly ["httpStatus", "code"]; readonly properties: { readonly httpStatus: { readonly enum: [401]; }; readonly code: { readonly enum: ["AUTHORIZATION_ERROR", "INVALID_CREDENTIALS", "INACTIVE_USER"]; }; readonly message: { readonly type: "string"; }; readonly details: { readonly type: "object"; readonly additionalProperties: true; }; }; }; }; }, { readonly type: "object"; readonly properties: { readonly _tag: { readonly const: "Result"; }; readonly error: { readonly const: undefined; readonly isConstUndefined: true; }; readonly result: { readonly type: "object"; readonly properties: { readonly user: { readonly $ref: "user"; }; readonly token: { readonly type: "object"; readonly properties: { readonly type: { readonly enum: readonly ["bearer"]; }; readonly content: { readonly type: "string"; }; }; }; }; }; }; }, { readonly type: "object"; readonly properties: { readonly _tag: { readonly const: "Result"; }; readonly error: { readonly const: undefined; readonly isConstUndefined: true; }; readonly result: { readonly type: "object"; readonly properties: { readonly user: { readonly type: "object"; readonly properties: { readonly _id: { readonly const: null; }; readonly name: { readonly type: "string"; }; readonly email: { readonly type: "string"; }; readonly roles: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; readonly active: { readonly type: "boolean"; }; }; }; readonly token: { readonly type: "object"; readonly properties: { readonly type: { readonly type: "string"; }; readonly content: { readonly type: "string"; }; }; }; }; }; }; }]; }; export declare const authenticate: (props: Parameters>[0], context: Context) => Promise>>;