import { APIKeyAuth, APIKeyAuthConfig } from '../api/auth.js';
import { PromptTemplate } from './types.js';
/**
 * Main Prompt client – allows programmatic CRUD and execution of prompt templates.
 */
export declare class Prompt extends APIKeyAuth {
    template?: PromptTemplate;
    /**
     * List all prompt templates (raw JSON payload).
     */
    static listTemplates(options?: APIKeyAuthConfig): Promise<Record<string, any>>;
    /**
     * Convenience: fetch template by exact name.
     */
    static getTemplateByName(name: string, options?: APIKeyAuthConfig): Promise<PromptTemplate>;
    /**
     * Delete template by name (helper).
     */
    static deleteTemplateByName(name: string, options?: APIKeyAuthConfig): Promise<boolean>;
    constructor(template?: PromptTemplate, options?: APIKeyAuthConfig);
    /**
     * Create a new draft prompt template.
     */
    open(): Promise<Prompt>;
    private _createNewDraft;
    /** Fetch raw version history (array of objects) */
    private _fetchTemplateVersionHistory;
    /** Public: list full version history */
    listTemplateVersions(): Promise<any[]>;
    /** Internal draft-status helper */
    private _currentVersionIsDraft;
    /** Apply selected fields from another PromptTemplate to current */
    private _applyTemplateUpdates;
    /** Save current draft state to backend */
    saveCurrentDraft(): Promise<boolean>;
    /** Commit current draft version */
    commitCurrentVersion(message?: string, set_default?: boolean): Promise<boolean>;
    /** Commit current draft if needed then open a new draft version */
    createNewVersion({ template, commit_message, set_default, }?: {
        template?: PromptTemplate;
        commit_message?: string;
        set_default?: boolean;
    }): Promise<Prompt>;
    /**
     * Execution support removed – this SDK variant focuses solely on template management.
     */
    /**
     * Delete the current template.
     */
    delete(): Promise<boolean>;
    private _prepareMessages;
}
declare const _default: {
    Prompt: typeof Prompt;
};
export default _default;
//# sourceMappingURL=client.d.ts.map