import type { ChatRequest, BlobCreateResponse } from './types.js';
export * from './types.js';
export * from './verify.js';
export interface SkimlyClientOptions {
    key: string;
    base?: string;
    timeoutMs?: number;
    retries?: number;
}
export declare class SkimlyClient {
    private http;
    constructor(opts: SkimlyClientOptions);
    /** Upload large context once; returns { blob_id } */
    createBlob(content: string, mime_type?: string): Promise<BlobCreateResponse>;
    /** In-process dedupe: avoid re-uploading identical content this process has already sent */
    createBlobIfNew(content: string, mime_type?: string): Promise<BlobCreateResponse>;
    /** Chat with provider; messages may be string or array of parts ({type:'text'|'pointer', ...}) */
    chat(req: ChatRequest): Promise<unknown>;
}
export declare function fromEnv(): SkimlyClient;
