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 { executeGitLocateProblemCommit as executeGitLocateProblemCommitCore, gitLocateProblemCommitDescriptor, locateProblemCommitDescriptor, parseGitLocateProblemCommitResult, planGitLocateProblemCommit, planLocateProblemCommit, type GitLocateProblemCommitOutput, type GitLocateProblemCommitProvider, type GitLocateProblemCommitRequest, type GitLocateProblemCommitResult } from "./core.js";
import { type GitLocateProblemCommitDependencies, type GitLocateProblemCommitPracticeProviderName, type GitLocateProblemCommitProviderPractice } from "./dependencies.js";
export * from "./core.js";
export type GitLocateProblemCommitBestPracticeRequest = GitLocateProblemCommitRequest & {
    executor?: BaseToolExecutorPort;
    preferredProvider?: GitLocateProblemCommitPracticeProviderName;
};
export type GitLocateProblemCommitHandlerInput = Omit<GitLocateProblemCommitBestPracticeRequest, "executor">;
export type GitLocateProblemCommitPracticeSelection = {
    providerName: GitLocateProblemCommitPracticeProviderName;
    practice: GitLocateProblemCommitProviderPractice;
    provider?: GitLocateProblemCommitProvider;
};
export declare const gitLocateProblemCommitProviderPractices: readonly [GitLocateProblemCommitProviderPractice, GitLocateProblemCommitProviderPractice, GitLocateProblemCommitProviderPractice];
export declare const gitLocateProblemCommitBestPracticeDescriptor: {
    readonly toolId: "git.locateProblemCommit";
    readonly bestPractice: "runtime-gitExecutor-locate-problem-commit";
    readonly sourcePriority: readonly ["cli", "agent-sdk", "api-sdk", "praxis-native"];
    readonly providerOrder: readonly ["anthropic", "openai", "deepmind"];
    readonly dependencies: ({
        dependencyId: string;
        kind: "runtime";
        required: true;
        description: string;
    } | {
        dependencyId: string;
        kind: "permission";
        required: true;
        description: string;
    } | {
        dependencyId: string;
        kind: "binary";
        required: true;
        description: string;
    })[];
};
export declare function selectGitLocateProblemCommitPractice(dependencies?: GitLocateProblemCommitDependencies & {
    preferredProvider?: GitLocateProblemCommitPracticeProviderName;
}): GitLocateProblemCommitPracticeSelection;
export declare function executeGitLocateProblemCommit(request?: GitLocateProblemCommitBestPracticeRequest): ReturnType<typeof executeGitLocateProblemCommitCore>;
export declare const gitLocateProblemCommitBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<GitLocateProblemCommitHandlerInput, GitLocateProblemCommitOutput>;
export declare const gitLocateProblemCommitHandler: BaseToolHandler<GitLocateProblemCommitHandlerInput, GitLocateProblemCommitOutput>;
export type { GitLocateProblemCommitResult };
export { gitLocateProblemCommitDescriptor, locateProblemCommitDescriptor, parseGitLocateProblemCommitResult, planGitLocateProblemCommit, planLocateProblemCommit, };
