import type { BaseToolExecutorPort } from "../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolExecutorPort.js";
import type { ShellToolContext } from "../../shellExecution/shell.commandExecution/core.js";
import type { ShellDetachedExecutionRequest } from "./core.js";
export type ShellDetachedExecutionPracticeProviderName = "anthropic" | "openai" | "deepmind" | "praxis-native";
export type ShellDetachedExecutionProviderResult = {
    resultEnvelope?: Readonly<Record<string, unknown>>;
    metadata?: Readonly<Record<string, unknown>>;
};
export type ShellDetachedExecutionProvider = (request: ShellDetachedExecutionRequest, context: ShellToolContext) => ShellDetachedExecutionProviderResult | Promise<ShellDetachedExecutionProviderResult>;
export type ShellDetachedExecutionDependencies = {
    executor?: BaseToolExecutorPort;
    provider?: ShellDetachedExecutionProvider;
};
export type ShellDetachedExecutionProviderPractice = {
    providerName: ShellDetachedExecutionPracticeProviderName;
    source: {
        kind: "cli" | "agent-sdk" | "api-sdk" | "praxis-native";
        label: string;
        path?: string;
    };
    directCliSupport: boolean;
    sideEffectPolicy: "runtime-governed";
    notes: readonly string[];
    createProvider(dependencies: ShellDetachedExecutionDependencies): ShellDetachedExecutionProvider | undefined;
};
export declare const shellDetachedExecutionDependencyDeclarations: ({
    dependencyId: string;
    kind: "runtime";
    required: true;
    description: string;
} | {
    dependencyId: string;
    kind: "permission";
    required: true;
    description: string;
})[];
export declare function createHostExecutorShellDetachedExecutionProvider(executor: BaseToolExecutorPort | undefined): ShellDetachedExecutionProvider | undefined;
