import type { ClientEnv, CiEnv } from '@levelcode/common/types/contracts/env';
import type { Logger } from '@levelcode/common/types/contracts/logger';
interface LevelCodeWebApiEnv {
    clientEnv: ClientEnv;
    ciEnv: CiEnv;
}
export declare function callWebSearchAPI(params: {
    query: string;
    depth?: 'standard' | 'deep';
    repoUrl?: string | null;
    fetch: typeof globalThis.fetch;
    logger: Logger;
    env: LevelCodeWebApiEnv;
    baseUrl?: string;
    apiKey?: string;
}): Promise<{
    result?: string;
    error?: string;
    creditsUsed?: number;
}>;
export declare function callDocsSearchAPI(params: {
    libraryTitle: string;
    topic?: string;
    maxTokens?: number;
    repoUrl?: string | null;
    fetch: typeof globalThis.fetch;
    logger: Logger;
    env: LevelCodeWebApiEnv;
    baseUrl?: string;
    apiKey?: string;
}): Promise<{
    documentation?: string;
    error?: string;
    creditsUsed?: number;
}>;
export declare function callTokenCountAPI(params: {
    messages: unknown[];
    system?: string;
    model?: string;
    fetch: typeof globalThis.fetch;
    logger: Logger;
    env: LevelCodeWebApiEnv;
    baseUrl?: string;
    apiKey?: string;
}): Promise<{
    inputTokens?: number;
    error?: string;
}>;
export {};
