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 { executeGitStagingOrCommitReset as executeGitStagingOrCommitResetCore, gitResetStagingOrCommitDescriptor, planGitStagingOrCommitReset, type GitResetStagingOrCommitOutput, type GitResetStagingOrCommitProvider, type GitResetStagingOrCommitRequest, type GitResetStagingOrCommitResult } from "./core.js";
import { type GitResetStagingOrCommitDependencies, type GitResetStagingOrCommitPracticeProviderName, type GitResetStagingOrCommitProviderPractice } from "./dependencies.js";
export * from "./core.js";
export type GitResetStagingOrCommitBestPracticeRequest = GitResetStagingOrCommitRequest & {
    executor?: BaseToolExecutorPort;
    preferredProvider?: GitResetStagingOrCommitPracticeProviderName;
};
export type GitResetStagingOrCommitHandlerInput = Omit<GitResetStagingOrCommitBestPracticeRequest, "executor">;
export type GitResetStagingOrCommitPracticeSelection = {
    providerName: GitResetStagingOrCommitPracticeProviderName;
    practice: GitResetStagingOrCommitProviderPractice;
    provider?: GitResetStagingOrCommitProvider;
};
export declare const gitResetStagingOrCommitProviderPractices: readonly [GitResetStagingOrCommitProviderPractice, GitResetStagingOrCommitProviderPractice, GitResetStagingOrCommitProviderPractice];
export declare const gitResetStagingOrCommitBestPracticeDescriptor: {
    readonly toolId: "git.resetStagingOrCommit";
    readonly bestPractice: "runtime-gitExecutor-reset-staging-or-commit-mutation";
    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 selectGitResetStagingOrCommitPractice(dependencies?: GitResetStagingOrCommitDependencies & {
    preferredProvider?: GitResetStagingOrCommitPracticeProviderName;
}): GitResetStagingOrCommitPracticeSelection;
export declare function executeGitStagingOrCommitReset(request?: GitResetStagingOrCommitBestPracticeRequest): ReturnType<typeof executeGitStagingOrCommitResetCore>;
export declare const gitResetStagingOrCommitBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<GitResetStagingOrCommitHandlerInput, GitResetStagingOrCommitOutput>;
export declare const gitResetStagingOrCommitHandler: BaseToolHandler<GitResetStagingOrCommitHandlerInput, GitResetStagingOrCommitOutput>;
export type { GitResetStagingOrCommitResult };
export { gitResetStagingOrCommitDescriptor, planGitStagingOrCommitReset };
