import { type ModelOptions, type ModelOptionsInfo } from "../types.js";
/**
 * Union type of all Bedrock options
 *
 * @discriminator _option_id
 */
export type BedrockOptions = NovaCanvasOptions | BedrockConverseOptions | BedrockNovaOptions | BedrockMistralOptions | BedrockAI21Options | BedrockCohereCommandOptions | BedrockClaudeOptions | BedrockPalmyraOptions | BedrockGptOssOptions | TwelvelabsPegasusOptions;
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<TOptionId extends string = string> {
    _option_id: TOptionId;
    max_tokens?: number;
    temperature?: number;
    top_p?: number;
    stop_sequence?: string[];
}
export type BedrockConverseOptions = BaseConverseOptions<"bedrock-converse">;
export type BedrockNovaOptions = BaseConverseOptions<"bedrock-nova">;
export type BedrockMistralOptions = BaseConverseOptions<"bedrock-mistral">;
export type BedrockAI21Options = BaseConverseOptions<"bedrock-ai21">;
export type BedrockCohereCommandOptions = BaseConverseOptions<"bedrock-cohere-command">;
export interface BedrockClaudeOptions extends BaseConverseOptions<"bedrock-claude"> {
    top_k?: number;
    thinking_budget_tokens?: number;
    include_thoughts?: boolean;
    effort?: 'low' | 'medium' | 'high' | 'xhigh' | 'max';
    cache_enabled?: boolean;
    cache_ttl?: '5m' | '1h';
}
export interface BedrockPalmyraOptions extends BaseConverseOptions<"bedrock-palmyra"> {
    min_tokens?: number;
    seed?: number;
    frequency_penalty?: number;
    presence_penalty?: number;
}
export interface BedrockGptOssOptions extends BaseConverseOptions<"bedrock-gpt-oss"> {
    reasoning_effort?: "low" | "medium" | "high";
    frequency_penalty?: number;
    presence_penalty?: number;
}
export interface TwelvelabsPegasusOptions {
    _option_id: "bedrock-twelvelabs-pegasus";
    temperature?: number;
    max_tokens?: number;
}
export declare function getMaxTokensLimitBedrock(model: string): number | undefined;
export declare function getBedrockOptions(model: string, option?: ModelOptions): ModelOptionsInfo;
//# sourceMappingURL=bedrock.d.ts.map