import * as fastify from 'fastify';
import { FastifyInstance } from 'fastify';
import * as http from 'http';
import { e as DocumentVersionType, L as LucidErrorData, C as ClientDocumentResponse, f as LocalesResponse, g as EmailResponse, h as LucidConfig, i as Config } from './adapter-CEgX2yQ4.js';
export { l as logger } from './adapter-CEgX2yQ4.js';
import * as zod from 'zod';
export { default as z } from 'zod';
import 'kysely';
import 'kysely/helpers/sqlite';
import 'node:stream';
import 'fs';
import 'stream';
import 'vite';

/**
 * The LucidError class should be used to throw errors in functions that sit outside of API request lifecycle. This class will log the error and optionally kill the process.
 * @class
 * @extends Error
 * @param {string} data.message - The error message
 * @param {string} [data.scope] - Used to identify the scope of the logged error
 * @param {boolean} [data.kill] - If true, the process will exit with code 1
 * @returns {void}
 * @example
 * throw new LucidError({
 *     message: "Cannot set a value to a read-only property",
 *     scope: "plugin-name",
 *     kill: true,
 * });
 */
declare class LucidError extends Error {
    scope?: string;
    kill?: boolean;
    constructor(data: {
        message: string;
        scope?: string;
        kill?: boolean;
        data?: Record<string, unknown>;
    });
}

declare const _default$1: (fastify: FastifyInstance) => Promise<void>;

declare const toolkit: {
    document: {
        getSingle: (data_0: {
            collectionKey: string;
            status: Exclude<DocumentVersionType, "revision">;
            query: zod.TypeOf<zod.ZodObject<{
                filter: zod.ZodOptional<zod.ZodUnion<[zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodObject<{
                    value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                    operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                }, "strip", zod.ZodTypeAny, {
                    value: string | number;
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }, {
                    value: string | number;
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }>, zod.ZodObject<{
                    value: zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">, zod.ZodNumber, zod.ZodArray<zod.ZodNumber, "many">]>;
                    operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                }, "strip", zod.ZodTypeAny, {
                    value: string | number | string[] | number[];
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }, {
                    value: string | number | string[] | number[];
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }>]>>, zod.ZodObject<{
                    documentId: zod.ZodOptional<zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>>;
                    documentCreatedBy: zod.ZodOptional<zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>>;
                    documentUpdatedBy: zod.ZodOptional<zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>>;
                    documentCreatedAt: zod.ZodOptional<zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>>;
                    documentUpdatedAt: zod.ZodOptional<zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>>;
                }, "strip", zod.ZodTypeAny, {
                    documentId?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                }, {
                    documentId?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                }>]>>;
                include: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<["bricks"]>, "many">>;
            }, "strip", zod.ZodTypeAny, {
                filter?: Record<string, {
                    value: string | number;
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                } | {
                    value: string | number | string[] | number[];
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }> | {
                    documentId?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                } | undefined;
                include?: "bricks"[] | undefined;
            }, {
                filter?: Record<string, {
                    value: string | number;
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                } | {
                    value: string | number | string[] | number[];
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }> | {
                    documentId?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                } | undefined;
                include?: "bricks"[] | undefined;
            }>>;
        }) => Promise<{
            error: LucidErrorData;
            data: undefined;
        } | {
            error: undefined;
            data: ClientDocumentResponse;
        }>;
        getMultiple: (data_0: {
            collectionKey: string;
            status: Exclude<DocumentVersionType, "revision">;
            query: zod.TypeOf<zod.ZodObject<{
                filter: zod.ZodOptional<zod.ZodUnion<[zod.ZodRecord<zod.ZodString, zod.ZodUnion<[zod.ZodObject<{
                    value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                    operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                }, "strip", zod.ZodTypeAny, {
                    value: string | number;
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }, {
                    value: string | number;
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }>, zod.ZodObject<{
                    value: zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">, zod.ZodNumber, zod.ZodArray<zod.ZodNumber, "many">]>;
                    operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                }, "strip", zod.ZodTypeAny, {
                    value: string | number | string[] | number[];
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }, {
                    value: string | number | string[] | number[];
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }>]>>, zod.ZodObject<{
                    documentId: zod.ZodOptional<zod.ZodUnion<[zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>, zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">, zod.ZodNumber, zod.ZodArray<zod.ZodNumber, "many">]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>]>>;
                    documentCreatedBy: zod.ZodOptional<zod.ZodUnion<[zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>, zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">, zod.ZodNumber, zod.ZodArray<zod.ZodNumber, "many">]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>]>>;
                    documentUpdatedBy: zod.ZodOptional<zod.ZodUnion<[zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>, zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodArray<zod.ZodString, "many">, zod.ZodNumber, zod.ZodArray<zod.ZodNumber, "many">]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>]>>;
                    documentCreatedAt: zod.ZodOptional<zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>>;
                    documentUpdatedAt: zod.ZodOptional<zod.ZodObject<{
                        value: zod.ZodUnion<[zod.ZodString, zod.ZodNumber]>;
                        operator: zod.ZodOptional<zod.ZodEnum<["=", "%", "like", "ilike", "in", "not in", "<>", "is not", "is", "!="]>>;
                    }, "strip", zod.ZodTypeAny, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }, {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    }>>;
                }, "strip", zod.ZodTypeAny, {
                    documentId?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                }, {
                    documentId?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                }>]>>;
                sort: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
                    key: zod.ZodEnum<["createdAt", "updatedAt"]>;
                    value: zod.ZodEnum<["asc", "desc"]>;
                }, "strip", zod.ZodTypeAny, {
                    key: "createdAt" | "updatedAt";
                    value: "asc" | "desc";
                }, {
                    key: "createdAt" | "updatedAt";
                    value: "asc" | "desc";
                }>, "many">>;
                page: zod.ZodNumber;
                perPage: zod.ZodNumber;
            }, "strip", zod.ZodTypeAny, {
                page: number;
                perPage: number;
                sort?: {
                    key: "createdAt" | "updatedAt";
                    value: "asc" | "desc";
                }[] | undefined;
                filter?: Record<string, {
                    value: string | number;
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                } | {
                    value: string | number | string[] | number[];
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }> | {
                    documentId?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                } | undefined;
            }, {
                page: number;
                perPage: number;
                sort?: {
                    key: "createdAt" | "updatedAt";
                    value: "asc" | "desc";
                }[] | undefined;
                filter?: Record<string, {
                    value: string | number;
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                } | {
                    value: string | number | string[] | number[];
                    operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                }> | {
                    documentId?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedBy?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | {
                        value: string | number | string[] | number[];
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentCreatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                    documentUpdatedAt?: {
                        value: string | number;
                        operator?: "=" | "!=" | "<>" | "in" | "not in" | "is" | "is not" | "like" | "ilike" | "%" | undefined;
                    } | undefined;
                } | undefined;
            }>>;
        }) => Promise<{
            error: LucidErrorData;
            data: undefined;
        } | {
            error: undefined;
            data: {
                data: ClientDocumentResponse[];
                count: number;
            };
        }>;
    };
    locale: {
        getAll: () => Promise<{
            error: LucidErrorData;
            data: undefined;
        } | {
            error: undefined;
            data: LocalesResponse[];
        }>;
    };
    email: {
        sendEmail: (data_0: {
            to: string;
            subject: string;
            template: string;
            cc?: string;
            bcc?: string;
            replyTo?: string;
            data: {
                [key: string]: unknown;
            };
        }) => Promise<{
            error: LucidErrorData;
            data: undefined;
        } | {
            error: undefined;
            data: EmailResponse;
        }>;
    };
};

declare const _default: {
    start: (config?: {
        port?: number;
        host?: string;
    }) => Promise<void>;
    config: (config: LucidConfig) => Promise<Config>;
    fastify: fastify.FastifyInstance<http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>, http.IncomingMessage, http.ServerResponse<http.IncomingMessage>, fastify.FastifyBaseLogger, fastify.FastifyTypeProviderDefault> & PromiseLike<fastify.FastifyInstance<http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>, http.IncomingMessage, http.ServerResponse<http.IncomingMessage>, fastify.FastifyBaseLogger, fastify.FastifyTypeProviderDefault>>;
};

export { LucidError, _default as default, _default$1 as lucidPlugin, toolkit };
