import type { BaseToolDefinition, BaseToolDependencyDeclaration, BaseToolHandler, BaseToolInvokeRequest, BaseToolInvokeResult, BaseToolRiskLevel, BaseToolSchemaLike } from "../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js";
export type SkillBasePracticeProviderName = "anthropic" | "openai" | "deepmind" | "praxis-native";
export type SkillBasePracticeSource = {
    kind: "cli" | "agent-sdk" | "api-sdk" | "praxis-native";
    label: string;
    path?: string;
};
export type SkillBasePracticeSelection<Name extends string = SkillBasePracticeProviderName> = {
    providerName: Name;
    sourceLabel: string;
    sourceKind?: string;
    sourcePath?: string;
    directCliSupport: boolean;
    sideEffectPolicy?: string;
    notes?: readonly string[];
};
export type SkillToolAuditEvent = {
    type: string;
    toolId: string;
    invocationId: string;
    dryRun: boolean;
    targetRef?: string;
    metadata?: Readonly<Record<string, unknown>>;
};
export type SkillToolFailure<Code extends string = string> = {
    ok: false;
    toolId: string;
    error: {
        code: Code;
        message: string;
        boundary: string;
        safeForRuntimeInspection: true;
        internalDetailExposed: false;
        publicSafe: true;
    };
    audit: readonly SkillToolAuditEvent[];
    events: readonly string[];
};
export type SkillToolSuccess<Output> = {
    ok: true;
    toolId: string;
    output: Output;
    audit: readonly SkillToolAuditEvent[];
    events: readonly string[];
};
export type SkillToolResult<Output, Code extends string = string> = SkillToolSuccess<Output> | SkillToolFailure<Code>;
export type SkillBaseToolDefinitionOptions<Input, Output> = {
    toolId: string;
    title: string;
    description: string;
    summary: string;
    riskLevel?: BaseToolRiskLevel;
    permissionHints: readonly string[];
    dependencies: readonly BaseToolDependencyDeclaration[];
    inputSchema?: BaseToolSchemaLike;
    outputSchema?: BaseToolSchemaLike;
    storagePolicy?: BaseToolDefinition["storagePolicy"];
    metadata?: Readonly<Record<string, unknown>>;
};
export declare function skillBaseToolSkillDocPath(toolId: string): string;
export declare function skillBaseToolSourcePath(toolId: string): string;
export declare function skillBaseToolStoragePracticePath(toolId: string): string;
export declare function jsonSchema(name: string, schema: unknown): BaseToolSchemaLike;
export declare function createSkillBaseToolDefinition<Input, Output>(options: SkillBaseToolDefinitionOptions<Input, Output>): BaseToolDefinition<Input, Output>;
export declare function buildSkillBasePracticeAuditMetadata(selection: SkillBasePracticeSelection): Readonly<Record<string, unknown>>;
export declare function adaptSkillToolResultToInvokeResult<Output, Code extends string = string>(result: SkillToolResult<Output, Code>): BaseToolInvokeResult<Output>;
export declare function createSkillBaseCoreHandler<Input, Output, Code extends string = string>(definition: BaseToolDefinition<Input, Output>, invokeCore: (request: BaseToolInvokeRequest<Input>) => Promise<SkillToolResult<Output, Code>>): BaseToolHandler<Input, Output>;
export declare function injectRuntimeInvocationMetadata(metadata: Readonly<Record<string, unknown>> | undefined, auditMetadata: Readonly<Record<string, unknown>> | undefined, request: Pick<BaseToolInvokeRequest, "runtimeId" | "sessionId" | "toolCallId">): Readonly<Record<string, unknown>>;
