import type { PrismaClient } from '../../../prisma';
import type { Prisma } from '../../../prisma/client';
import type { TrpcSessionUser } from '../../../trpc/server/trpc';
import type { TFormSchema } from "./forms.schema";
interface FormsHandlerOptions {
    ctx: {
        prisma: PrismaClient;
        user: NonNullable<TrpcSessionUser>;
    };
    input: TFormSchema;
}
export declare const formsHandler: ({ ctx, input }: FormsHandlerOptions) => Promise<{
    filtered: {
        form: Omit<{
            team: {
                id: number;
                name: string;
            } | null;
            _count: {
                responses: number;
            };
        } & {
            position: number;
            id: string;
            name: string;
            disabled: boolean;
            description: string | null;
            routes: Prisma.JsonValue;
            fields: Prisma.JsonValue;
            userId: number;
            teamId: number | null;
            createdAt: Date;
            updatedAt: Date;
            settings: Prisma.JsonValue;
        }, "routes" | "fields" | "createdAt" | "updatedAt" | "settings"> & {
            routes: import("../types/types").Routes;
            fields: import("../types/types").Fields;
            settings: import("zod").TypeOf<typeof import('../../../prisma/zod-utils').RoutingFormSettings>;
            createdAt: string;
            updatedAt: string;
            connectedForms: {
                name: string;
                description: string | null;
                id: string;
            }[];
            routers: {
                name: string;
                description: string | null;
                id: string;
            }[];
            teamMembers: import("../types/types").SerializableFormTeamMembers[];
        };
        readOnly: boolean;
    }[];
    totalCount: number;
}>;
export default formsHandler;
type SupportedFilters = Omit<NonNullable<NonNullable<TFormSchema>["filters"]>, "upIds"> | undefined;
export declare function getPrismaWhereFromFilters(user: {
    id: number;
}, filters: SupportedFilters): {
    OR: Prisma.App_RoutingForms_FormWhereInput[];
};
//# sourceMappingURL=forms.handler.d.ts.map