import { CreateAssistantRequest, DeleteAssistantRequest, GetAssistantRequest, ListAssistantsRequest, ListAssistantVersionsRequest, UpdateAssistantRequest } from '../../generated/yandex/cloud/ai/assistants/v1/assistant_service';
import { ClientCallArgs, SessionArg, TypeFromProtoc } from '../types';
import { Assistant } from '../../generated/yandex/cloud/ai/assistants/v1/assistant';
export type CreateAssistantProps = Omit<TypeFromProtoc<CreateAssistantRequest, 'folderId'>, 'modelUri'> & {
    modelId: string;
};
export type GetAssistantProps = TypeFromProtoc<GetAssistantRequest, 'assistantId'>;
export type ListAssistantProps = TypeFromProtoc<ListAssistantsRequest, 'folderId'>;
export type DeleteAssistantProps = TypeFromProtoc<DeleteAssistantRequest, 'assistantId'>;
export type ListAssistantVersionsProps = TypeFromProtoc<ListAssistantVersionsRequest, 'assistantId'>;
export type UpdateAssistantProps = TypeFromProtoc<UpdateAssistantRequest, 'assistantId'>;
export declare class AssistantWithSdk {
    private assistantSdk;
    private assistant;
    constructor(assistantSdk: AssistantSdk, assistant: Assistant);
    get data(): Assistant;
    private updateData;
    delete(params: Omit<DeleteAssistantProps, 'assistantId'>, args?: ClientCallArgs): Promise<import("../../generated/yandex/cloud/ai/assistants/v1/assistant_service").DeleteAssistantResponse>;
    update(params: Omit<UpdateAssistantProps, 'assistantId'>, args?: ClientCallArgs): Promise<this>;
}
export declare class AssistantSdk {
    private assistantClient;
    static ENDPOINT: string;
    constructor(session: SessionArg, endpoint?: string);
    private static _withSdk;
    create(params: CreateAssistantProps, args?: ClientCallArgs): Promise<Assistant> & {
        withSdk: () => Promise<AssistantWithSdk>;
    };
    get(params: GetAssistantProps, args?: ClientCallArgs): Promise<Assistant> & {
        withSdk: () => Promise<AssistantWithSdk>;
    };
    list(params: ListAssistantProps, args?: ClientCallArgs): Promise<import("../../generated/yandex/cloud/ai/assistants/v1/assistant_service").ListAssistantsResponse>;
    delete(params: DeleteAssistantProps, args?: ClientCallArgs): Promise<import("../../generated/yandex/cloud/ai/assistants/v1/assistant_service").DeleteAssistantResponse>;
    listVersions(params: ListAssistantVersionsProps, args?: ClientCallArgs): Promise<import("../../generated/yandex/cloud/ai/assistants/v1/assistant_service").ListAssistantVersionsResponse>;
    update(params: UpdateAssistantProps, args?: ClientCallArgs): Promise<Assistant> & {
        withSdk: () => Promise<AssistantWithSdk>;
    };
}
export declare const initAssistantSdk: (session: SessionArg, endpoint?: string) => AssistantSdk;
