import type { BaseToolExecutorPort } from "../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolExecutorPort.js";
import type { ShellProviderPracticeMetadata } from "../../_shared/baseToolAdapter.js";
import type { ShellArgumentAssemblyOutput, ShellArgumentAssemblyRequest, ShellArgumentAssemblyResult } from "./core.js";
export type ShellArgumentAssemblyPracticeProviderName = "anthropic" | "openai" | "deepmind" | "praxis-native";
export type ShellArgumentAssemblyProvider = (request: ShellArgumentAssemblyRequest) => ShellArgumentAssemblyResult | Promise<ShellArgumentAssemblyResult>;
export type ShellArgumentAssemblyDependencies = {
    executor?: BaseToolExecutorPort;
    provider?: ShellArgumentAssemblyProvider;
};
export type ShellArgumentAssemblyProviderPractice = ShellProviderPracticeMetadata<ShellArgumentAssemblyPracticeProviderName, ShellArgumentAssemblyProvider, ShellArgumentAssemblyDependencies>;
export declare const shellArgumentAssemblyDependencyDeclarations: ({
    dependencyId: string;
    kind: "permission";
    required: true;
    description: string;
} | {
    dependencyId: string;
    kind: "runtime";
    required: false;
    description: string;
})[];
export declare function normalizeShellArgumentAssemblyOutput(output: Readonly<Record<string, unknown>>): ShellArgumentAssemblyOutput;
export declare function createHostExecutorShellArgumentAssemblyProvider(executor: BaseToolExecutorPort | undefined): ShellArgumentAssemblyProvider | undefined;
