import { Context } from '../../context';
import { PrismaClient, Prisma } from '@prisma/client';
export declare const deleteAuthorById: (id: string, authenticate: Context['authenticate'], author: PrismaClient['author']) => Prisma.Prisma__AuthorClient<import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    name: string;
    slug: string;
    jobTitle: string;
    bio: Prisma.JsonValue;
    imageID: string;
}, unknown> & {}, never, import("@prisma/client/runtime/library").DefaultArgs>;
type CreateAuthorInput = Omit<Prisma.AuthorUncheckedCreateInput, 'links' | 'modifiedAt'> & {
    links: Prisma.AuthorsLinksUncheckedCreateWithoutAuthorInput[];
    tagIds: string[];
};
export declare const createAuthor: ({ id: authorId, links, tagIds, ...input }: CreateAuthorInput, authenticate: Context['authenticate'], author: PrismaClient['author']) => Prisma.Prisma__AuthorClient<{
    links: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        title: string;
        url: string;
        authorId: string;
    }, unknown> & {})[];
} & import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    name: string;
    slug: string;
    jobTitle: string;
    bio: Prisma.JsonValue;
    imageID: string;
}, unknown> & {}, never, import("@prisma/client/runtime/library").DefaultArgs>;
type UpdateAuthorInput = Omit<Prisma.AuthorUncheckedUpdateInput, 'links' | 'modifiedAt' | 'createdAt'> & {
    links: Prisma.AuthorsLinksUncheckedCreateWithoutAuthorInput[];
    tagIds: string[];
};
export declare const updateAuthor: (id: string, { links, tagIds, ...input }: UpdateAuthorInput, authenticate: Context['authenticate'], author: PrismaClient['author']) => Prisma.Prisma__AuthorClient<{
    links: (import("@prisma/client/runtime/library").GetResult<{
        id: string;
        createdAt: Date;
        modifiedAt: Date;
        title: string;
        url: string;
        authorId: string;
    }, unknown> & {})[];
    tags: (import("@prisma/client/runtime/library").GetResult<{
        authorId: string;
        tagId: string;
        createdAt: Date;
        modifiedAt: Date;
    }, unknown> & {})[];
} & import("@prisma/client/runtime/library").GetResult<{
    id: string;
    createdAt: Date;
    modifiedAt: Date;
    name: string;
    slug: string;
    jobTitle: string;
    bio: Prisma.JsonValue;
    imageID: string;
}, unknown> & {}, never, import("@prisma/client/runtime/library").DefaultArgs>;
export {};
