export interface ShardFilter {
    /** The type of shard filter to use, which determines how the shardId parameter is interpreted. */
    type?: 'CHILD_SHARDS';
    /** The identifier of a specific shard used to filter results based on the specified filter type. */
    shardId?: string;
}
export interface GetRecordsInput {
    /** The unique identifier of the shard iterator. A shard iterator specifies the position in the shard from which you want to start reading data records sequentially. You obtain this value by calling the G */
    shardIterator: string;
    /** The maximum number of records to return in a single GetRecords request. Default value is 1000. You can specify a limit between 1 and 1000, but the actual number returned might be less than the specifi */
    maxResults?: number;
}
export interface GetShardIteratorInput {
    /** The identifier of the shard within the stream. The shard ID uniquely identifies a subset of the stream's data records that you want to access. */
    shardId: string;
    /** Determines how the shard iterator is positioned. Must be one of the following: TRIM_HORIZON - Start reading at the last untrimmed record in the shard, which is the oldest data record in the shard. AT_ */
    shardIteratorType: 'TRIM_HORIZON' | 'LATEST' | 'AT_SEQUENCE_NUMBER' | 'AFTER_SEQUENCE_NUMBER';
    /** The Amazon Resource Name (ARN) of the stream for which to get the shard iterator. The ARN uniquely identifies the stream within Amazon Keyspaces. */
    streamArn: string;
    /** The sequence number of the data record in the shard from which to start reading. Required if ShardIteratorType is AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER. This parameter is ignored for other itera */
    sequenceNumber?: string;
}
export interface GetStreamInput {
    /** The Amazon Resource Name (ARN) of the stream for which detailed information is requested. This uniquely identifies the specific stream you want to get information about. */
    streamArn: string;
    /** The maximum number of shard objects to return in a single GetStream request. Default value is 100. The minimum value is 1 and the maximum value is 100. */
    maxResults?: number;
    /** An optional pagination token provided by a previous GetStream operation. If this parameter is specified, the response includes only records beyond the token, up to the value specified by maxResults. */
    nextToken?: string;
    /** Optional filter criteria to apply when retrieving shards. You can filter shards based on their state or other attributes to narrow down the results returned by the GetStream operation. */
    shardFilter?: ShardFilter;
}
export interface ListStreamsInput {
    /** The name of the keyspace for which to list streams. If specified, only streams associated with tables in this keyspace are returned. If omitted, streams from all keyspaces are included in the results. */
    keyspaceName?: string;
    /** The maximum number of streams to return in a single ListStreams request. Default value is 100. The minimum value is 1 and the maximum value is 100. */
    maxResults?: number;
    /** An optional pagination token provided by a previous ListStreams operation. If this parameter is specified, the response includes only records beyond the token, up to the value specified by maxResults. */
    nextToken?: string;
    /** The name of the table for which to list streams. Must be used together with keyspaceName. If specified, only streams associated with this specific table are returned. */
    tableName?: string;
}
/** KeyspacesStreams service binding for Step Functions SDK integrations. */
export declare class KeyspacesStreams {
    constructor();
    getRecords<T>(params: GetRecordsInput): Promise<T>;
    getShardIterator<T>(params: GetShardIteratorInput): Promise<T>;
    getStream<T>(params: GetStreamInput): Promise<T>;
    listStreams<T>(params: ListStreamsInput): Promise<T>;
}
//# sourceMappingURL=KeyspacesStreams.d.ts.map