export declare const skillsRouter: import("@trpc/server").TRPCBuiltRouter<{
    ctx: import(".././routes/index").Context;
    meta: import(".././routes/index").RouteMetadata;
    errorShape: import("@trpc/server").TRPCDefaultErrorShape;
    transformer: true;
}, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
    getFrameworkSkillTree: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            id: string;
            rootsLimit?: number | undefined;
            childrenLimit?: number | undefined;
            cursor?: string | null | undefined;
        };
        output: {
            hasMore: boolean;
            cursor: string | null;
            records: import("@learncard/types").SkillTreeNode[];
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    getSkillChildrenTree: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            id: string;
            frameworkId: string;
            limit?: number | undefined;
            cursor?: string | null | undefined;
        };
        output: {
            hasMore: boolean;
            cursor: string | null;
            records: import("@learncard/types").SkillTreeNode[];
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    searchFrameworkSkills: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            id: string;
            query: {
                $or: {
                    id?: string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    } | {
                        $or: (string | {
                            $in: string[];
                        } | {
                            $regex: string | RegExp;
                        })[];
                    } | undefined;
                    statement?: string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    } | {
                        $or: (string | {
                            $in: string[];
                        } | {
                            $regex: string | RegExp;
                        })[];
                    } | undefined;
                    description?: string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    } | {
                        $or: (string | {
                            $in: string[];
                        } | {
                            $regex: string | RegExp;
                        })[];
                    } | undefined;
                    code?: string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    } | {
                        $or: (string | {
                            $in: string[];
                        } | {
                            $regex: string | RegExp;
                        })[];
                    } | undefined;
                    type?: string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    } | {
                        $or: (string | {
                            $in: string[];
                        } | {
                            $regex: string | RegExp;
                        })[];
                    } | undefined;
                    status?: "active" | "archived" | {
                        $in: ("active" | "archived")[];
                    } | undefined;
                }[];
            } | {
                id?: string | {
                    $in: string[];
                } | {
                    $regex: string | RegExp;
                } | {
                    $or: (string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    })[];
                } | undefined;
                statement?: string | {
                    $in: string[];
                } | {
                    $regex: string | RegExp;
                } | {
                    $or: (string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    })[];
                } | undefined;
                description?: string | {
                    $in: string[];
                } | {
                    $regex: string | RegExp;
                } | {
                    $or: (string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    })[];
                } | undefined;
                code?: string | {
                    $in: string[];
                } | {
                    $regex: string | RegExp;
                } | {
                    $or: (string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    })[];
                } | undefined;
                type?: string | {
                    $in: string[];
                } | {
                    $regex: string | RegExp;
                } | {
                    $or: (string | {
                        $in: string[];
                    } | {
                        $regex: string | RegExp;
                    })[];
                } | undefined;
                status?: "active" | "archived" | {
                    $in: ("active" | "archived")[];
                } | undefined;
            };
            limit?: number | undefined;
            cursor?: string | null | undefined;
        };
        output: {
            records: {
                id: string;
                status: "active" | "archived";
                type: string;
                statement: string;
                description?: string | undefined;
                code?: string | undefined;
                icon?: string | undefined;
                frameworkId?: string | undefined;
            }[];
            hasMore: boolean;
            cursor: string | null;
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    semanticSearchSkills: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            text: string;
            frameworkId?: string | undefined;
            limit?: number | undefined;
        };
        output: {
            records: {
                id: string;
                statement: string;
                type: string;
                status: "active" | "archived";
                score: number;
                description?: string | undefined;
                code?: string | undefined;
                icon?: string | undefined;
                frameworkId?: string | undefined;
                createdAt?: string | undefined;
                updatedAt?: string | undefined;
            }[];
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    syncFrameworkSkills: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            id: string;
        };
        output: {
            framework: {
                id: string;
                name: string;
                isPublic: boolean;
                status: "active" | "archived";
                description?: string | undefined;
                image?: string | undefined;
                sourceURI?: string | undefined;
                createdAt?: string | undefined;
                updatedAt?: string | undefined;
            };
            skills: {
                hasMore: boolean;
                cursor: string | null;
                records: import("@learncard/types").SkillTreeNode[];
            };
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    getSkill: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            frameworkId: string;
            id: string;
        };
        output: {
            id: string;
            statement: string;
            type: string;
            status: "active" | "archived";
            description?: string | undefined;
            code?: string | undefined;
            icon?: string | undefined;
            frameworkId?: string | undefined;
            createdAt?: string | undefined;
            updatedAt?: string | undefined;
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    create: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            frameworkId: string;
            skill: unknown;
            parentId?: string | null | undefined;
        };
        output: {
            id: string;
            statement: string;
            type: string;
            status: "active" | "archived";
            description?: string | undefined;
            code?: string | undefined;
            icon?: string | undefined;
            frameworkId?: string | undefined;
            createdAt?: string | undefined;
            updatedAt?: string | undefined;
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    createMany: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            frameworkId: string;
            skills: unknown[];
            parentId?: string | null | undefined;
        };
        output: {
            id: string;
            statement: string;
            type: string;
            status: "active" | "archived";
            description?: string | undefined;
            code?: string | undefined;
            icon?: string | undefined;
            frameworkId?: string | undefined;
            createdAt?: string | undefined;
            updatedAt?: string | undefined;
        }[];
        meta: import(".././routes/index").RouteMetadata;
    }>;
    update: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            frameworkId: string;
            id: string;
            statement?: string | undefined;
            description?: string | undefined;
            code?: string | undefined;
            icon?: string | undefined;
            type?: string | undefined;
            status?: "active" | "archived" | undefined;
        };
        output: {
            id: string;
            statement: string;
            type: string;
            status: "active" | "archived";
            description?: string | undefined;
            code?: string | undefined;
            icon?: string | undefined;
            frameworkId?: string | undefined;
            createdAt?: string | undefined;
            updatedAt?: string | undefined;
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    delete: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            frameworkId: string;
            id: string;
            strategy?: "recursive" | "reparent" | undefined;
        };
        output: {
            success: boolean;
            deletedCount: number;
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    listSkillTags: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            frameworkId: string;
            id: string;
        };
        output: {
            id: string;
            name: string;
            slug: string;
            createdAt?: string | undefined;
            updatedAt?: string | undefined;
        }[];
        meta: import(".././routes/index").RouteMetadata;
    }>;
    addSkillTag: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            frameworkId: string;
            id: string;
            tag: {
                slug: string;
                name: string;
            };
        };
        output: {
            id: string;
            name: string;
            slug: string;
            createdAt?: string | undefined;
            updatedAt?: string | undefined;
        }[];
        meta: import(".././routes/index").RouteMetadata;
    }>;
    removeSkillTag: import("@trpc/server").TRPCMutationProcedure<{
        input: {
            frameworkId: string;
            id: string;
            slug: string;
        };
        output: {
            success: boolean;
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    countSkills: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            frameworkId: string;
            skillId?: string | undefined;
            recursive?: boolean | undefined;
            onlyCountCompetencies?: boolean | undefined;
        };
        output: {
            count: number;
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    getFullSkillTree: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            frameworkId: string;
        };
        output: {
            skills: import("@learncard/types").SkillTreeNode[];
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
    getSkillPath: import("@trpc/server").TRPCQueryProcedure<{
        input: {
            frameworkId: string;
            skillId: string;
        };
        output: {
            path: {
                id: string;
                statement: string;
                type: string;
                status: "active" | "archived";
                description?: string | undefined;
                code?: string | undefined;
                icon?: string | undefined;
                frameworkId?: string | undefined;
                createdAt?: string | undefined;
                updatedAt?: string | undefined;
            }[];
        };
        meta: import(".././routes/index").RouteMetadata;
    }>;
}>>;
export type SkillsRouter = typeof skillsRouter;
//# sourceMappingURL=skills.d.ts.map