export interface BatchGetRecordIdentifier {
    /** The name or Amazon Resource Name (ARN) of the FeatureGroup containing the records you are retrieving in a batch. */
    FeatureGroupName: string;
    /** The value for a list of record identifiers in string format. */
    RecordIdentifiersValueAsString: any[];
    /** List of names of Features to be retrieved. If not specified, the latest value for all the Features are returned. */
    FeatureNames?: any[];
}
export interface FeatureValue {
    /** The name of a feature that a feature value corresponds to. */
    FeatureName: string;
    /** The value in string format associated with a feature. Used when your CollectionType is None. Note that features types can be String, Integral, or Fractional. This value represents all three types as a */
    ValueAsString?: string;
    /** The list of values in string format associated with a feature. Used when your CollectionType is a List, Set, or Vector. Note that features types can be String, Integral, or Fractional. These values re */
    ValueAsStringList?: any[];
}
export interface TtlDuration {
    /** TtlDuration time unit. */
    Unit: 'Seconds' | 'Minutes' | 'Hours' | 'Days' | 'Weeks';
    /** TtlDuration time value. */
    Value: number;
}
export interface BatchGetRecordInput {
    /** A list containing the name or Amazon Resource Name (ARN) of the FeatureGroup, the list of names of Features to be retrieved, and the corresponding RecordIdentifier values as strings. */
    Identifiers: BatchGetRecordIdentifier[];
    /** Parameter to request ExpiresAt in response. If Enabled, BatchGetRecord will return the value of ExpiresAt, if it is not null. If Disabled and null, BatchGetRecord will return null. */
    ExpirationTimeResponse?: 'Enabled' | 'Disabled';
}
export interface DeleteRecordInput {
    /** Timestamp indicating when the deletion event occurred. EventTime can be used to query data at a certain point in time. */
    EventTime: string;
    /** The name or Amazon Resource Name (ARN) of the feature group to delete the record from. */
    FeatureGroupName: string;
    /** The value for the RecordIdentifier that uniquely identifies the record, in string format. */
    RecordIdentifierValueAsString: string;
    /** The name of the deletion mode for deleting the record. By default, the deletion mode is set to SoftDelete. */
    DeletionMode?: 'SoftDelete' | 'HardDelete';
    /** A list of stores from which you're deleting the record. By default, Feature Store deletes the record from all of the stores that you're using for the FeatureGroup. */
    TargetStores?: 'OnlineStore' | 'OfflineStore'[];
}
export interface GetRecordInput {
    /** The name or Amazon Resource Name (ARN) of the feature group from which you want to retrieve a record. */
    FeatureGroupName: string;
    /** The value that corresponds to RecordIdentifier type and uniquely identifies the record in the FeatureGroup. */
    RecordIdentifierValueAsString: string;
    /** Parameter to request ExpiresAt in response. If Enabled, GetRecord will return the value of ExpiresAt, if it is not null. If Disabled and null, GetRecord will return null. */
    ExpirationTimeResponse?: 'Enabled' | 'Disabled';
    /** List of names of Features to be retrieved. If not specified, the latest value for all the Features are returned. */
    FeatureNames?: string[];
}
export interface PutRecordInput {
    /** The name or Amazon Resource Name (ARN) of the feature group that you want to insert the record into. */
    FeatureGroupName: string;
    /** List of FeatureValues to be inserted. This will be a full over-write. If you only want to update few of the feature values, do the following: Use GetRecord to retrieve the latest record. Update the re */
    Record: FeatureValue[];
    /** A list of stores to which you're adding the record. By default, Feature Store adds the record to all of the stores that you're using for the FeatureGroup. */
    TargetStores?: 'OnlineStore' | 'OfflineStore'[];
    /** Time to live duration, where the record is hard deleted after the expiration time is reached; ExpiresAt = EventTime + TtlDuration. For information on HardDelete, see the DeleteRecord API in the Amazon */
    TtlDuration?: TtlDuration;
}
/** SageMaker FeatureStore Runtime service binding for Step Functions SDK integrations. */
export declare class SageMakerFeatureStoreRuntime {
    constructor();
    batchGetRecord<T>(params: BatchGetRecordInput): Promise<T>;
    deleteRecord<T>(params: DeleteRecordInput): Promise<T>;
    getRecord<T>(params: GetRecordInput): Promise<T>;
    putRecord<T>(params: PutRecordInput): Promise<T>;
}
//# sourceMappingURL=SageMakerFeatureStoreRuntime.d.ts.map