export interface PutKeyRequestListItem {
    /** The key of the key value pair list item to put. */
    Key: string;
    /** The value for the key value pair to put. */
    Value: string;
}
export interface DeleteKeyRequestListItem {
    /** The key of the key value pair to be deleted. */
    Key: string;
}
export interface DeleteKeyInput {
    /** The current version (ETag) of the Key Value Store that you are deleting keys from, which you can get using DescribeKeyValueStore. */
    IfMatch: string;
    /** The key to delete. */
    Key: string;
    /** The Amazon Resource Name (ARN) of the Key Value Store. */
    KvsARN: string;
}
export interface DescribeKeyValueStoreInput {
    /** The Amazon Resource Name (ARN) of the Key Value Store. */
    KvsARN: string;
}
export interface GetKeyInput {
    /** The key to get. */
    Key: string;
    /** The Amazon Resource Name (ARN) of the Key Value Store. */
    KvsARN: string;
}
export interface ListKeysInput {
    /** The Amazon Resource Name (ARN) of the Key Value Store. */
    KvsARN: string;
    /** Maximum number of results that are returned per call. The default is 10 and maximum allowed page is 50. */
    MaxResults?: number;
    /** If nextToken is returned in the response, there are more results available. Make the next call using the returned token to retrieve the next page. */
    NextToken?: string;
}
/** A key value pair. */
export interface PutKeyInput {
    /** The current version (ETag) of the Key Value Store that you are putting keys into, which you can get using DescribeKeyValueStore. */
    IfMatch: string;
    /** The key to put. */
    Key: string;
    /** The Amazon Resource Name (ARN) of the Key Value Store. */
    KvsARN: string;
    /** The value to put. */
    Value: string;
}
export interface UpdateKeysInput {
    /** The current version (ETag) of the Key Value Store that you are updating keys of, which you can get using DescribeKeyValueStore. */
    IfMatch: string;
    /** The Amazon Resource Name (ARN) of the Key Value Store. */
    KvsARN: string;
    /** List of keys to delete. */
    Deletes?: DeleteKeyRequestListItem[];
    /** List of key value pairs to put. */
    Puts?: PutKeyRequestListItem[];
}
/** CloudFront KeyValueStore service binding for Step Functions SDK integrations. */
export declare class CloudFrontKeyValueStore {
    constructor();
    deleteKey<T>(params: DeleteKeyInput): Promise<T>;
    describeKeyValueStore<T>(params: DescribeKeyValueStoreInput): Promise<T>;
    getKey<T>(params: GetKeyInput): Promise<T>;
    listKeys<T>(params: ListKeysInput): Promise<T>;
    putKey<T>(params: PutKeyInput): Promise<T>;
    updateKeys<T>(params: UpdateKeysInput): Promise<T>;
}
//# sourceMappingURL=CloudFrontKeyValueStore.d.ts.map