import { type SkillBaseContext, type SkillBasePermission, type SkillRipgrepProvider } from "../_shared/skillCore.js";
import type { SkillToolResult } from "../_shared/baseToolAdapter.js";
export type SkillRipgrepTarget = {
    query: string;
    registryRoot: string;
    skillId?: string;
    fileGlob?: string;
    maxResults: number;
    literal: boolean;
    caseSensitive: boolean;
    includeHidden: boolean;
    multiline: boolean;
    contextLines: number;
};
export type SkillRipgrepRequest = {
    target?: unknown;
    context?: SkillBaseContext;
    provider?: SkillRipgrepProvider;
};
export type SkillRipgrepErrorCode = "MISSING_QUERY" | "MISSING_REGISTRY_ROOT" | "INVALID_SKILL_ID" | "INVALID_MAX_RESULTS" | "SCOPE_REJECTED" | "PERMISSION_DENIED" | "PROVIDER_UNAVAILABLE" | "PROVIDER_REJECTED";
export type SkillRipgrepOutput = {
    kind: "agentCore.basicTool.skill.ripgrep.output";
    target: SkillRipgrepTarget;
    runtimeEntry: {
        port: "BaseToolExecutorPort.search.ripgrep";
        runtimeOwnsSearch: true;
    };
    ripgrepEnvelope: {
        commandPreview: readonly string[];
        searchRoot: string;
        matches: readonly {
            path: string;
            line: number;
            column?: number;
            text: string;
        }[];
        exitCode?: number;
        stderr?: string;
    };
    dryRun: boolean;
    executionBlocked: boolean;
    permissionsRequired: readonly SkillBasePermission[];
    unsafeSideEffects: false;
};
export type SkillRipgrepResult = SkillToolResult<SkillRipgrepOutput, SkillRipgrepErrorCode>;
export declare const skillRipgrepDescriptor: {
    readonly toolId: "skill.ripgrep";
    readonly capability: "ripgrep-skill-registry";
    readonly defaultDryRun: true;
    readonly permissionsRequired: readonly ["skill:read", "filesystem:read"];
    readonly maxResultLimit: 500;
};
export declare function executeSkillRipgrep(request?: SkillRipgrepRequest): Promise<SkillRipgrepResult>;
export declare const planSkillRipgrep: typeof executeSkillRipgrep;
