import { Config as GeneratedTypes } from 'payload/generated-types';
import { Response } from 'express';
import { PayloadRequest } from '../../express/types';
import { User } from '../types';
import { Collection } from '../../collections/config/types';
export type Result = {
    user?: User;
    token?: string;
    exp?: number;
};
export type Arguments<T extends {
    [field: string | number | symbol]: unknown;
}> = {
    collection: Collection;
    data: Omit<T, 'id'> & {
        email: string;
        password: string;
    };
    req: PayloadRequest;
    res?: Response;
    depth?: number;
    overrideAccess?: boolean;
    showHiddenFields?: boolean;
};
declare function login<TSlug extends keyof GeneratedTypes['collections']>(incomingArgs: Arguments<GeneratedTypes['collections'][TSlug]>): Promise<Result & {
    user: GeneratedTypes['collections'][TSlug];
}>;
export default login;
