import type { RudderSkillEntry } from "@rudderhq/agent-runtime-utils/server-utils";
import type { Db } from "@rudderhq/db";
import type { AgentSkillEntry, AgentSkillSnapshot, OrganizationSkill, OrganizationSkillCreateRequest, OrganizationSkillDetail, OrganizationSkillFileDetail, OrganizationSkillImportResult, OrganizationSkillListItem, OrganizationSkillUpdateStatus } from "@rudderhq/shared";
import { AgentSkillSelectionResolution, EnabledSkillsAgentRef, ImportPackageSkillResult, PackageSkillConflictStrategy, RuntimeSkillEntryOptions } from "./organization-skills.catalog.js";
export declare function organizationSkillService(db: Db): {
    list: (orgId: string) => Promise<OrganizationSkillListItem[]>;
    listFull: (orgId: string) => Promise<OrganizationSkill[]>;
    getById: (id: string) => Promise<OrganizationSkill | null>;
    getByKey: (orgId: string, key: string) => Promise<OrganizationSkill | null>;
    resolveRequestedSkillKeys: (orgId: string, requestedReferences: string[]) => Promise<string[]>;
    detail: (orgId: string, id: string) => Promise<OrganizationSkillDetail | null>;
    updateStatus: (orgId: string, skillId: string) => Promise<OrganizationSkillUpdateStatus | null>;
    readFile: (orgId: string, skillId: string, relativePath: string) => Promise<OrganizationSkillFileDetail | null>;
    updateFile: (orgId: string, skillId: string, relativePath: string, content: string) => Promise<OrganizationSkillFileDetail>;
    syncWorkspaceFileChange: (orgId: string, workspaceFilePath: string, content: string) => Promise<void>;
    createLocalSkill: (orgId: string, input: OrganizationSkillCreateRequest) => Promise<OrganizationSkill>;
    createAgentPrivateSkill: (orgId: string, agentId: string, input: OrganizationSkillCreateRequest) => Promise<AgentSkillEntry>;
    deleteSkill: (orgId: string, skillId: string) => Promise<OrganizationSkill | null>;
    importFromSource: (orgId: string, source: string) => Promise<OrganizationSkillImportResult>;
    scanProjectWorkspaces: (orgId: string, input?: import("@rudderhq/shared").OrganizationSkillProjectScanRequest) => Promise<import("@rudderhq/shared").OrganizationSkillProjectScanResult>;
    scanLocalSkillRoots: (orgId: string, input?: import("@rudderhq/shared").OrganizationSkillLocalScanRequest) => Promise<import("@rudderhq/shared").OrganizationSkillLocalScanResult>;
    importPackageFiles: (orgId: string, files: Record<string, string>, options?: {
        onConflict?: PackageSkillConflictStrategy;
    }) => Promise<ImportPackageSkillResult[]>;
    installUpdate: (orgId: string, skillId: string) => Promise<OrganizationSkill | null>;
    listRuntimeSkillEntries: (orgId: string, options?: RuntimeSkillEntryOptions) => Promise<RudderSkillEntry[]>;
    mergeWithRequiredSkillKeys: (orgId: string, skillKeys: string[]) => Promise<string[]>;
    getEnabledSkillKeysForAgent: (orgId: string, agent: EnabledSkillsAgentRef) => Promise<string[]>;
    buildAgentSkillSnapshot: (agent: EnabledSkillsAgentRef, runtimeConfig: Record<string, unknown>) => Promise<AgentSkillSnapshot>;
    resolveDesiredSkillSelectionForAgent: (agent: EnabledSkillsAgentRef, runtimeConfig: Record<string, unknown>, requestedDesiredSkills: string[] | undefined) => Promise<AgentSkillSelectionResolution>;
    listRealizedSkillEntriesForAgent: (orgId: string, agentId: string, agentRuntimeType: string, runtimeConfig: Record<string, unknown>, selectionRefs: string[], options?: RuntimeSkillEntryOptions) => Promise<RudderSkillEntry[]>;
    replaceEnabledSkillKeysForAgent: (orgId: string, agentId: string, skillKeys: string[]) => Promise<string[]>;
    addEnabledSkillKeysForAgent: (orgId: string, agentId: string, skillKeys: string[]) => Promise<string[]>;
};
//# sourceMappingURL=organization-skills.d.ts.map