import { ClientCallArgs, OperationWithDecoder, SessionArg, TypeFromProtoc } from '../types';
import { CompletionRequest, CompletionResponse, TokenizeRequest } from '../../generated/yandex/cloud/ai/foundation_models/v1/text_generation/text_generation_service';
export type CompletionProps = Omit<TypeFromProtoc<CompletionRequest, 'messages'>, 'modelUri'> & {
    modelId: string;
    folderId: string;
};
export type TokenizeProps = Omit<TypeFromProtoc<TokenizeRequest, 'text'>, 'modelUri'> & {
    modelId: string;
    folderId: string;
};
export declare class TextGenerationSdk {
    private textGenerationClient;
    private tokenizerClient;
    private textGenerationAsyncClient;
    static ENDPOINT: string;
    constructor(session: SessionArg, endpoint?: string);
    tokenize(params: TokenizeProps, args?: ClientCallArgs): Promise<import("../../generated/yandex/cloud/ai/foundation_models/v1/text_generation/text_generation_service").TokenizeResponse>;
    tokenizeCompletion(params: CompletionProps, args?: ClientCallArgs): Promise<import("../../generated/yandex/cloud/ai/foundation_models/v1/text_generation/text_generation_service").TokenizeResponse>;
    completion(params: CompletionProps, args?: ClientCallArgs): AsyncIterable<CompletionResponse>;
    completionAsOperation(params: CompletionProps, args?: ClientCallArgs): Promise<OperationWithDecoder<CompletionResponse>>;
}
export declare const initTextGenerationSdk: (session: SessionArg, endpoint?: string) => TextGenerationSdk;
