import { ModelOptionsInfo, ModelOptions } from "../types.js";
export type BedrockOptions = NovaCanvasOptions | BaseConverseOptions | BedrockClaudeOptions | BedrockPalmyraOptions;
export interface NovaCanvasOptions {
    _option_id: "bedrock-nova-canvas";
    taskType: "TEXT_IMAGE" | "TEXT_IMAGE_WITH_IMAGE_CONDITIONING" | "COLOR_GUIDED_GENERATION" | "IMAGE_VARIATION" | "INPAINTING" | "OUTPAINTING" | "BACKGROUND_REMOVAL";
    width?: number;
    height?: number;
    quality?: "standard" | "premium";
    cfgScale?: number;
    seed?: number;
    numberOfImages?: number;
    controlMode?: "CANNY_EDGE" | "SEGMENTATION";
    controlStrength?: number;
    colors?: string[];
    similarityStrength?: number;
    outPaintingMode?: "DEFAULT" | "PRECISE";
}
export interface BaseConverseOptions {
    _option_id: "bedrock-converse" | "bedrock-claude" | "bedrock-nova" | "bedrock-mistral" | "bedrock-ai21" | "bedrock-cohere-command" | "bedrock-palmyra";
    max_tokens?: number;
    temperature?: number;
    top_p?: number;
    stop_sequence?: string[];
}
export interface BedrockClaudeOptions extends BaseConverseOptions {
    _option_id: "bedrock-claude";
    top_k?: number;
    thinking_mode?: boolean;
    thinking_budget_tokens?: number;
}
export interface BedrockPalmyraOptions extends BaseConverseOptions {
    _option_id: "bedrock-palmyra";
    min_tokens?: number;
    seed?: number;
    frequency_penalty?: number;
    presence_penalty?: number;
}
export declare function getMaxTokensLimit(model: string, option?: ModelOptions): number | undefined;
export declare function getBedrockOptions(model: string, option?: ModelOptions): ModelOptionsInfo;
//# sourceMappingURL=bedrock.d.ts.map