import type { ToolInputValue } from "@best-agent/protocol";
export type NamedContentInput = {
    content: string;
    path: string;
};
export type PathInput = {
    path: string;
};
export type WorkspaceDirectoryInput = {
    path: string;
};
export type WorkspaceSearchInput = {
    limit: number;
    query: string;
};
export type WorkspaceFilesInput = {
    limit: number;
    offset: number;
};
export type ContentSearchInput = {
    case_sensitive: boolean;
    is_regex: boolean;
    limit: number;
    path: string;
    pattern: string;
};
export declare const READ_FILE_INLINE_MAX_BYTES: number;
export declare const READ_FILE_INLINE_MAX_LINES = 400;
export declare const READ_FILE_PREVIEW_MAX_BYTES: number;
export declare const READ_FILE_PREVIEW_MAX_LINES = 3000;
export declare const READ_FILE_PREVIEW_HEAD_LINES = 16;
export declare const READ_FILE_PREVIEW_TAIL_LINES = 16;
export declare const READ_FILE_RANGE_MAX_LINES = 200;
export declare const READ_FILE_LINE_PREVIEW_CHARS = 120;
export declare const CONTENT_SEARCH_LINE_PREVIEW_CHARS = 200;
export declare const CONTENT_SEARCH_MAX_FILE_BYTES: number;
export declare const WORKSPACE_FILES_DEFAULT_LIMIT = 25;
export declare const WORKSPACE_FILES_MAX_LIMIT = 100;
export declare const WORKSPACE_FILES_IGNORED_DIRECTORIES: Set<string>;
export declare function isPlainObject(value: ToolInputValue | unknown): value is Record<string, ToolInputValue>;
export declare function readStringField(source: Record<string, ToolInputValue>, fields: string[]): string | undefined;
export declare function readIntegerField(source: Record<string, ToolInputValue>, fields: string[]): number | undefined;
export declare function readPresentStringField(source: Record<string, ToolInputValue>, fields: string[]): string | undefined;
export declare function truncate(value: string): string;
export declare function splitTextFileLines(content: string): string[];
export declare function stripProviderToolNoise(value: string): string;
export declare function normalizePathInput(toolName: string, input: ToolInputValue, aliases: string[]): PathInput;
export declare function normalizeNamedContentInput(toolName: string, input: ToolInputValue): NamedContentInput;
export declare function formatNamedContentInput(input: NamedContentInput): string;
export declare function normalizeOptionalPathInput(toolName: string, input: ToolInputValue): WorkspaceDirectoryInput;
export declare function isDeepEqual(left: unknown, right: unknown): boolean;
export declare function parseToolInputJsonValue(value: string): ToolInputValue | undefined;
//# sourceMappingURL=shared.d.ts.map