import type { BaseToolExecutorPort } from "../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolExecutorPort.js";
import type { BaseToolHandler } from "../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js";
import { executeSkillGenerate as executeSkillGenerateCore, type SkillGenerateOutput, type SkillGenerateRequest } from "./core.js";
import { type SkillGenerateProviderPractice } from "./dependencies.js";
import type { SkillBasePracticeProviderName } from "../_shared/baseToolAdapter.js";
export { planSkillGeneration, skillGenerateDescriptor, executeSkillGenerate as executeSkillGenerateCore } from "./core.js";
export type { SkillGenerateErrorCode, SkillGenerateFileKind, SkillGenerateOutput, SkillGenerateRequestedFile, SkillGenerateRequest, SkillGenerateResult, SkillGenerateTarget } from "./core.js";
export type SkillGenerateBestPracticeRequest = SkillGenerateRequest & {
    executor?: BaseToolExecutorPort;
    preferredProvider?: SkillBasePracticeProviderName;
};
export type SkillGenerateHandlerInput = Omit<SkillGenerateBestPracticeRequest, "executor">;
export declare function selectSkillGeneratePractice(dependencies?: SkillGenerateBestPracticeRequest): {
    providerName: SkillBasePracticeProviderName;
    practice: SkillGenerateProviderPractice;
    provider: import("../_shared/skillCore.js").SkillFilesystemProvider;
} | {
    providerName: "praxis-native";
    practice: {
        providerName: "praxis-native";
        source: {
            kind: "praxis-native";
            label: string;
            path: undefined;
        };
        directCliSupport: boolean;
        sideEffectPolicy: "runtime-governed";
        notes: string[];
        createProvider: () => undefined;
    };
    provider: undefined;
};
export declare function executeSkillGenerate(request?: SkillGenerateBestPracticeRequest): ReturnType<typeof executeSkillGenerateCore>;
export declare const skillGenerateBaseToolDefinition: import("../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<SkillGenerateHandlerInput, SkillGenerateOutput>;
export declare const skillGenerateHandler: BaseToolHandler<SkillGenerateHandlerInput, SkillGenerateOutput>;
