import type { MarkOptional } from 'ts-essentials';
import type { GeneratedTypes } from '../../';
import type { Collection } from '../../collections/config/types';
import type { PayloadRequest } from '../../types';
export type Arguments<T extends {
    [field: number | string | symbol]: unknown;
}> = {
    collection: Collection;
    data: MarkOptional<T, 'createdAt' | 'id' | 'sizes' | 'updatedAt'> & {
        email: string;
        password: string;
    };
    req: PayloadRequest;
};
export type Result<T> = {
    exp?: number;
    token?: string;
    user?: T;
};
export declare const registerFirstUserOperation: <TSlug extends string | number | symbol>(args: Arguments<{
    [slug: string]: import("../../collections/config/types").TypeWithID & Record<string, unknown>;
    [slug: number]: import("../../collections/config/types").TypeWithID & Record<string, unknown>;
    [slug: symbol]: import("../../collections/config/types").TypeWithID & Record<string, unknown>;
}[TSlug]>) => Promise<Result<{
    [slug: string]: import("../../collections/config/types").TypeWithID & Record<string, unknown>;
    [slug: number]: import("../../collections/config/types").TypeWithID & Record<string, unknown>;
    [slug: symbol]: import("../../collections/config/types").TypeWithID & Record<string, unknown>;
}[TSlug]>>;
//# sourceMappingURL=registerFirstUser.d.ts.map