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 { executeGitShowObjectDetails as executeGitShowObjectDetailsCore, gitShowObjectDetailsDescriptor, planShowGitObjectDetails, type GitShowObjectDetailsOutput, type GitShowObjectDetailsProvider, type GitShowObjectDetailsRequest, type GitShowObjectDetailsResult } from "./core.js";
import { type GitShowObjectDetailsDependencies, type GitShowObjectDetailsPracticeProviderName, type GitShowObjectDetailsProviderPractice } from "./dependencies.js";
export * from "./core.js";
export type GitShowObjectDetailsBestPracticeRequest = GitShowObjectDetailsRequest & {
    executor?: BaseToolExecutorPort;
    preferredProvider?: GitShowObjectDetailsPracticeProviderName;
};
export type GitShowObjectDetailsHandlerInput = Omit<GitShowObjectDetailsBestPracticeRequest, "executor">;
export type GitShowObjectDetailsPracticeSelection = {
    providerName: GitShowObjectDetailsPracticeProviderName;
    practice: GitShowObjectDetailsProviderPractice;
    provider?: GitShowObjectDetailsProvider;
};
export declare const gitShowObjectDetailsProviderPractices: readonly [GitShowObjectDetailsProviderPractice, GitShowObjectDetailsProviderPractice, GitShowObjectDetailsProviderPractice];
export declare const gitShowObjectDetailsBestPracticeDescriptor: {
    readonly toolId: "git.showGitObjectDetails";
    readonly bestPractice: "runtime-gitExecutor-show-read";
    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 selectGitShowObjectDetailsPractice(dependencies?: GitShowObjectDetailsDependencies & {
    preferredProvider?: GitShowObjectDetailsPracticeProviderName;
}): GitShowObjectDetailsPracticeSelection;
export declare function executeGitShowObjectDetails(request?: GitShowObjectDetailsBestPracticeRequest): ReturnType<typeof executeGitShowObjectDetailsCore>;
export declare const gitShowObjectDetailsBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<GitShowObjectDetailsHandlerInput, GitShowObjectDetailsOutput>;
export declare const gitShowObjectDetailsHandler: BaseToolHandler<GitShowObjectDetailsHandlerInput, GitShowObjectDetailsOutput>;
export type { GitShowObjectDetailsResult };
export { gitShowObjectDetailsDescriptor, planShowGitObjectDetails };
