export interface Message {
    /** The role that the message plays in the message. */
    role: 'user' | 'assistant';
    /** The message content. Note the following restrictions: You can include up to 20 images. Each image's size, height, and width must be no more than 3.75 MB, 8000 px, and 8000 px, respectively. You can in */
    content: any[];
}
export interface InferenceConfiguration {
    /** The maximum number of tokens to allow in the generated response. The default value is the maximum allowed value for the model that you are using. For more information, see Inference parameters for fou */
    maxTokens?: number;
    /** The likelihood of the model selecting higher-probability options while generating a response. A lower value makes the model more likely to choose higher-probability options, while a higher value makes */
    temperature?: number;
    /** The percentage of most-likely candidates that the model considers for the next token. For example, if you choose a value of 0.8 for topP, the model selects from the top 80% of the probability distribu */
    topP?: number;
    /** A list of stop sequences. A stop sequence is a sequence of characters that causes the model to stop generating the response. */
    stopSequences?: string[];
}
export interface ToolConfiguration {
    /** An array of tools that you want to pass to a model. */
    tools: any[];
    /** If supported by model, forces the model to request a tool. */
    toolChoice?: {
        auto?: any;
    } | {
        any?: any;
    } | {
        tool?: any;
    };
}
export interface GuardrailConfiguration {
    /** The identifier for the guardrail. */
    guardrailIdentifier?: string;
    /** The version of the guardrail. */
    guardrailVersion?: string;
    /** The trace behavior for the guardrail. */
    trace?: 'enabled' | 'disabled' | 'enabled_full';
}
export interface PerformanceConfiguration {
    /** To use a latency-optimized version of the model, set to optimized. */
    latency?: 'standard' | 'optimized';
}
export interface ServiceTier {
    /** Specifies the processing tier type used for serving the request. */
    type: 'priority' | 'default' | 'flex' | 'reserved';
}
export interface OutputFormat {
    /** The type of structured output format. */
    type: 'json_schema';
    /** The structure that the model's output must adhere to. */
    structure: any;
}
export interface OutputConfig {
    /** Structured output parameters to control the model's text response. */
    textFormat?: OutputFormat;
}
export interface GuardrailStreamConfiguration {
    /** The identifier for the guardrail. */
    guardrailIdentifier?: string;
    /** The version of the guardrail. */
    guardrailVersion?: string;
    /** The trace behavior for the guardrail. */
    trace?: 'enabled' | 'disabled' | 'enabled_full';
    /** The processing mode. The processing mode. For more information, see Configure streaming response behavior in the Amazon Bedrock User Guide. */
    streamProcessingMode?: 'sync' | 'async';
}
export interface InvokeModelTokensRequest {
    /** The request body to count tokens for, formatted according to the model's expected input format. To learn about the input format for different models, see Model inference parameters and responses. */
    body: string;
}
export interface ConverseTokensRequest {
    /** An array of messages to count tokens for. */
    messages?: any[];
    /** The system content blocks to count tokens for. System content provides instructions or context to the model about how it should behave or respond. The token count will include any system content provi */
    system?: any[];
    /** The toolConfig of Converse input request to count tokens for. Configuration information for the tools that the model can use when generating a response. */
    toolConfig?: any;
    /** The additionalModelRequestFields of Converse input request to count tokens for. Use this field when you want to pass additional parameters that the model supports. */
    additionalModelRequestFields?: any;
}
export interface BidirectionalInputPayloadPart {
    /** The audio content for the bidirectional input. */
    bytes?: string;
}
export interface AsyncInvokeS3OutputDataConfig {
    /** An object URI starting with s3://. */
    s3Uri: string;
    /** A KMS encryption key ID. */
    kmsKeyId?: string;
    /** If the bucket belongs to another AWS account, specify that account's ID. */
    bucketOwner?: string;
}
export interface Tag {
    /** The tag's key. */
    key: string;
    /** The tag's value. */
    value: string;
}
export interface ApplyGuardrailInput {
    /** The content details used in the request to apply the guardrail. */
    content: {
        text?: any;
    } | {
        image?: any;
    }[];
    /** The guardrail identifier used in the request to apply the guardrail. */
    guardrailIdentifier: string;
    /** The guardrail version used in the request to apply the guardrail. */
    guardrailVersion: string;
    /** The source of data used in the request to apply the guardrail. */
    source: 'INPUT' | 'OUTPUT';
    /** Specifies the scope of the output that you get in the response. Set to FULL to return the entire output, including any detected and non-detected entries in the response for enhanced debugging. Note th */
    outputScope?: 'INTERVENTIONS' | 'FULL';
}
export interface ConverseInput {
    /** Specifies the model or throughput with which to run inference, or the prompt resource to use in inference. The value depends on the resource that you use: If you use a base model, specify the model ID */
    modelId: string;
    /** Additional inference parameters that the model supports, beyond the base set of inference parameters that Converse and ConverseStream support in the inferenceConfig field. For more information, see Mo */
    additionalModelRequestFields?: any;
    /** Additional model parameters field paths to return in the response. Converse and ConverseStream return the requested fields as a JSON Pointer object in the additionalModelResponseFields field. The foll */
    additionalModelResponseFieldPaths?: string[];
    /** Configuration information for a guardrail that you want to use in the request. If you include guardContent blocks in the content field in the messages field, the guardrail operates only on those messa */
    guardrailConfig?: GuardrailConfiguration;
    /** Inference parameters to pass to the model. Converse and ConverseStream support a base set of inference parameters. If you need to pass additional parameters that the model supports, use the additional */
    inferenceConfig?: InferenceConfiguration;
    /** The messages that you want to send to the model. */
    messages?: Message[];
    /** Output configuration for a model response. */
    outputConfig?: OutputConfig;
    /** Model performance settings for the request. */
    performanceConfig?: PerformanceConfiguration;
    /** Contains a map of variables in a prompt from Prompt management to objects containing the values to fill in for them when running model invocation. This field is ignored if you don't specify a prompt r */
    promptVariables?: Record<string, {
        text?: string;
    }>;
    /** Key-value pairs that you can use to filter invocation logs. */
    requestMetadata?: Record<string, string>;
    /** Specifies the processing tier configuration used for serving the request. */
    serviceTier?: ServiceTier;
    /** A prompt that provides instructions or context to the model about the task it should perform, or the persona it should adopt during the conversation. */
    system?: {
        text?: string;
    } | {
        guardContent?: any;
    } | {
        cachePoint?: any;
    }[];
    /** Configuration information for the tools that the model can use when generating a response. For information about models that support tool use, see Supported models and model features. */
    toolConfig?: ToolConfiguration;
}
export interface ConverseStreamInput {
    /** Specifies the model or throughput with which to run inference, or the prompt resource to use in inference. The value depends on the resource that you use: If you use a base model, specify the model ID */
    modelId: string;
    /** Additional inference parameters that the model supports, beyond the base set of inference parameters that Converse and ConverseStream support in the inferenceConfig field. For more information, see Mo */
    additionalModelRequestFields?: any;
    /** Additional model parameters field paths to return in the response. Converse and ConverseStream return the requested fields as a JSON Pointer object in the additionalModelResponseFields field. The foll */
    additionalModelResponseFieldPaths?: string[];
    /** Configuration information for a guardrail that you want to use in the request. If you include guardContent blocks in the content field in the messages field, the guardrail operates only on those messa */
    guardrailConfig?: GuardrailStreamConfiguration;
    /** Inference parameters to pass to the model. Converse and ConverseStream support a base set of inference parameters. If you need to pass additional parameters that the model supports, use the additional */
    inferenceConfig?: InferenceConfiguration;
    /** The messages that you want to send to the model. */
    messages?: Message[];
    /** Output configuration for a model response. */
    outputConfig?: OutputConfig;
    /** Model performance settings for the request. */
    performanceConfig?: PerformanceConfiguration;
    /** Contains a map of variables in a prompt from Prompt management to objects containing the values to fill in for them when running model invocation. This field is ignored if you don't specify a prompt r */
    promptVariables?: Record<string, {
        text?: string;
    }>;
    /** Key-value pairs that you can use to filter invocation logs. */
    requestMetadata?: Record<string, string>;
    /** Specifies the processing tier configuration used for serving the request. */
    serviceTier?: ServiceTier;
    /** A prompt that provides instructions or context to the model about the task it should perform, or the persona it should adopt during the conversation. */
    system?: {
        text?: string;
    } | {
        guardContent?: any;
    } | {
        cachePoint?: any;
    }[];
    /** Configuration information for the tools that the model can use when generating a response. For information about models that support streaming tool use, see Supported models and model features. */
    toolConfig?: ToolConfiguration;
}
export interface CountTokensInput {
    /** The input for which to count tokens. The structure of this parameter depends on whether you're counting tokens for an InvokeModel or Converse request: For InvokeModel requests, provide the request bod */
    input: {
        invokeModel?: InvokeModelTokensRequest;
    } | {
        converse?: ConverseTokensRequest;
    };
    /** The unique identifier or ARN of the foundation model to use for token counting. Each model processes tokens differently, so the token count is specific to the model you specify. */
    modelId: string;
}
export interface GetAsyncInvokeInput {
    /** The invocation's ARN. */
    invocationArn: string;
}
export interface InvokeModelInput {
    /** The unique identifier of the model to invoke to run inference. The modelId to provide depends on the type of model or throughput that you use: If you use a base model, specify the model ID or its ARN. */
    modelId: string;
    /** The desired MIME type of the inference body in the response. The default value is application/json. */
    accept?: string;
    /** The prompt and inference parameters in the format specified in the contentType in the header. You must provide the body in JSON format. To see the format and content of the request and response bodies */
    body?: string;
    /** The MIME type of the input data in the request. You must specify application/json. */
    contentType?: string;
    /** The unique identifier of the guardrail that you want to use. If you don't provide a value, no guardrail is applied to the invocation. An error will be thrown in the following situations. You don't pro */
    guardrailIdentifier?: string;
    /** The version number for the guardrail. The value can also be DRAFT. */
    guardrailVersion?: string;
    /** Model performance settings for the request. */
    performanceConfigLatency?: 'standard' | 'optimized';
    /** Specifies the processing tier type used for serving the request. */
    serviceTier?: 'priority' | 'default' | 'flex' | 'reserved';
    /** Specifies whether to enable or disable the Bedrock trace. If enabled, you can see the full Bedrock trace. */
    trace?: 'ENABLED' | 'DISABLED' | 'ENABLED_FULL';
}
export interface InvokeModelWithBidirectionalStreamInput {
    /** The prompt and inference parameters in the format specified in the BidirectionalInputPayloadPart in the header. You must provide the body in JSON format. To see the format and content of the request a */
    body: {
        chunk?: BidirectionalInputPayloadPart;
    };
    /** The model ID or ARN of the model ID to use. Currently, only amazon.nova-sonic-v1:0 is supported. */
    modelId: string;
}
export interface InvokeModelWithResponseStreamInput {
    /** The unique identifier of the model to invoke to run inference. The modelId to provide depends on the type of model or throughput that you use: If you use a base model, specify the model ID or its ARN. */
    modelId: string;
    /** The desired MIME type of the inference body in the response. The default value is application/json. */
    accept?: string;
    /** The prompt and inference parameters in the format specified in the contentType in the header. You must provide the body in JSON format. To see the format and content of the request and response bodies */
    body?: string;
    /** The MIME type of the input data in the request. You must specify application/json. */
    contentType?: string;
    /** The unique identifier of the guardrail that you want to use. If you don't provide a value, no guardrail is applied to the invocation. An error is thrown in the following situations. You don't provide  */
    guardrailIdentifier?: string;
    /** The version number for the guardrail. The value can also be DRAFT. */
    guardrailVersion?: string;
    /** Model performance settings for the request. */
    performanceConfigLatency?: 'standard' | 'optimized';
    /** Specifies the processing tier type used for serving the request. */
    serviceTier?: 'priority' | 'default' | 'flex' | 'reserved';
    /** Specifies whether to enable or disable the Bedrock trace. If enabled, you can see the full Bedrock trace. */
    trace?: 'ENABLED' | 'DISABLED' | 'ENABLED_FULL';
}
export interface ListAsyncInvokesInput {
    /** The maximum number of invocations to return in one page of results. */
    maxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    nextToken?: string;
    /** How to sort the response. */
    sortBy?: 'SubmissionTime';
    /** The sorting order for the response. */
    sortOrder?: 'Ascending' | 'Descending';
    /** Filter invocations by status. */
    statusEquals?: 'InProgress' | 'Completed' | 'Failed';
    /** Include invocations submitted after this time. */
    submitTimeAfter?: string;
    /** Include invocations submitted before this time. */
    submitTimeBefore?: string;
}
export interface StartAsyncInvokeInput {
    /** The model to invoke. */
    modelId: string;
    /** Input to send to the model. */
    modelInput: any;
    /** Where to store the output. */
    outputDataConfig: {
        s3OutputDataConfig?: AsyncInvokeS3OutputDataConfig;
    };
    /** Specify idempotency token to ensure that requests are not duplicated. */
    clientRequestToken?: string;
    /** Tags to apply to the invocation. */
    tags?: Tag[];
}
/** Bedrock Runtime service binding for Step Functions SDK integrations. */
export declare class BedrockRuntime {
    constructor();
    applyGuardrail<T>(params: ApplyGuardrailInput): Promise<T>;
    converse<T>(params: ConverseInput): Promise<T>;
    converseStream<T>(params: ConverseStreamInput): Promise<T>;
    countTokens<T>(params: CountTokensInput): Promise<T>;
    getAsyncInvoke<T>(params: GetAsyncInvokeInput): Promise<T>;
    invokeModel<T>(params: InvokeModelInput): Promise<T>;
    invokeModelWithBidirectionalStream<T>(params: InvokeModelWithBidirectionalStreamInput): Promise<T>;
    invokeModelWithResponseStream<T>(params: InvokeModelWithResponseStreamInput): Promise<T>;
    listAsyncInvokes<T>(params: ListAsyncInvokesInput): Promise<T>;
    startAsyncInvoke<T>(params: StartAsyncInvokeInput): Promise<T>;
}
//# sourceMappingURL=BedrockRuntime.d.ts.map