import type { CacheLlmToolsOptions } from '../../llm-providers/_common/utils/cache/CacheLlmToolsOptions';
import type { LlmExecutionToolsWithTotalUsage } from '../../llm-providers/_common/utils/count-total-usage/LlmExecutionToolsWithTotalUsage';
import type { string_promptbook_server_url } from '../../types/string_promptbook_server_url';
/**
 * Options for provide Llm tools for Cli.
 */
type ProvideLlmToolsForCliOptions = Pick<CacheLlmToolsOptions, 'isCacheReloaded'> & {
    /**
     * If true, user will be always prompted for login
     *
     * Note: This is used in `ptbk login` command
     */
    isLoginloaded?: true;
    /**
     * CLI options
     */
    cliOptions: {
        verbose: boolean;
        interactive: boolean;
        provider: 'BYOK' | 'BRING_YOUR_OWN_KEYS' | 'REMOTE_SERVER' | 'RS' | string;
        remoteServerUrl: string_promptbook_server_url;
    };
};
/**
 * Handles provide Llm tools for Cli.
 *
 * @private utility of CLI
 */
export declare function $provideLlmToolsForCli(options: ProvideLlmToolsForCliOptions): Promise<{
    strategy: 'BRING_YOUR_OWN_KEYS' | 'REMOTE_SERVER';
    llm: LlmExecutionToolsWithTotalUsage;
}>;
export {};
