export interface PushSync {
    /** List of SNS platform application ARNs that could be used by clients. */
    ApplicationArns?: string[];
    /** A role configured to allow Cognito to call SNS on behalf of the developer. */
    RoleArn?: string;
}
export interface CognitoStreams {
    /** The name of the Cognito stream to receive updates. This stream must be in the developers account and in the same region as the identity pool. */
    StreamName?: string;
    /** The ARN of the role Amazon Cognito can assume in order to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke PutRecord on your Cognito stream. */
    RoleArn?: string;
    /** Status of the Cognito streams. Valid values are: ENABLED - Streaming of updates to identity pool is enabled. DISABLED - Streaming of updates to identity pool is disabled. Bulk publish will also fail i */
    StreamingStatus?: 'ENABLED' | 'DISABLED';
}
export interface RecordPatch {
    /** An operation, either replace or remove. */
    Op: 'replace' | 'remove';
    /** The key associated with the record patch. */
    Key: string;
    /** The value associated with the record patch. */
    Value?: string;
    /** Last known server sync count for this record. Set to 0 if unknown. */
    SyncCount: number;
    /** The last modified date of the client device. */
    DeviceLastModifiedDate?: string;
}
/** The input for the BulkPublish operation. */
export interface BulkPublishInput {
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
}
/** A request to delete the specific dataset. */
export interface DeleteDatasetInput {
    /** A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). */
    DatasetName: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
}
/** A request for meta data about a dataset (creation date, number of records, size) by owner and dataset name. */
export interface DescribeDatasetInput {
    /** A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). */
    DatasetName: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
}
/** A request for usage information about the identity pool. */
export interface DescribeIdentityPoolUsageInput {
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
}
/** A request for information about the usage of an identity pool. */
export interface DescribeIdentityUsageInput {
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
}
/** The input for the GetBulkPublishDetails operation. */
export interface GetBulkPublishDetailsInput {
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
}
/** A request for a list of the configured Cognito Events */
export interface GetCognitoEventsInput {
    /** The Cognito Identity Pool ID for the request */
    IdentityPoolId: string;
}
/** The input for the GetIdentityPoolConfiguration operation. */
export interface GetIdentityPoolConfigurationInput {
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool for which to return a configuration. */
    IdentityPoolId: string;
}
/** Request for a list of datasets for an identity. */
export interface ListDatasetsInput {
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
    /** The maximum number of results to be returned. */
    MaxResults?: number;
    /** A pagination token for obtaining the next page of results. */
    NextToken?: string;
}
/** A request for usage information on an identity pool. */
export interface ListIdentityPoolUsageInput {
    /** The maximum number of results to be returned. */
    MaxResults?: number;
    /** A pagination token for obtaining the next page of results. */
    NextToken?: string;
}
/** A request for a list of records. */
export interface ListRecordsInput {
    /** A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). */
    DatasetName: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
    /** The last server sync count for this record. */
    LastSyncCount?: number;
    /** The maximum number of results to be returned. */
    MaxResults?: number;
    /** A pagination token for obtaining the next page of results. */
    NextToken?: string;
    /** A token containing a session ID, identity ID, and expiration. */
    SyncSessionToken?: string;
}
/** A request to RegisterDevice. */
export interface RegisterDeviceInput {
    /** The unique ID for this identity. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. Here, the ID of the pool that the identity belongs to. */
    IdentityPoolId: string;
    /** The SNS platform type (e.g. GCM, SDM, APNS, APNS_SANDBOX). */
    Platform: 'APNS' | 'APNS_SANDBOX' | 'GCM' | 'ADM';
    /** The push token. */
    Token: string;
}
/** A request to configure Cognito Events"" */
export interface SetCognitoEventsInput {
    /** The events to configure */
    Events: Record<string, string>;
    /** The Cognito Identity Pool to use when configuring Cognito Events */
    IdentityPoolId: string;
}
/** The input for the SetIdentityPoolConfiguration operation. */
export interface SetIdentityPoolConfigurationInput {
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool to modify. */
    IdentityPoolId: string;
    /** Options to apply to this identity pool for Amazon Cognito streams. */
    CognitoStreams?: CognitoStreams;
    /** Options to apply to this identity pool for push synchronization. */
    PushSync?: PushSync;
}
/** A request to SubscribeToDatasetRequest. */
export interface SubscribeToDatasetInput {
    /** The name of the dataset to subcribe to. */
    DatasetName: string;
    /** The unique ID generated for this device by Cognito. */
    DeviceId: string;
    /** Unique ID for this identity. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which the identity belongs. */
    IdentityPoolId: string;
}
/** A request to UnsubscribeFromDataset. */
export interface UnsubscribeFromDatasetInput {
    /** The name of the dataset from which to unsubcribe. */
    DatasetName: string;
    /** The unique ID generated for this device by Cognito. */
    DeviceId: string;
    /** Unique ID for this identity. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which this identity belongs. */
    IdentityPoolId: string;
}
/** A request to post updates to records or add and delete records for a dataset and user. */
export interface UpdateRecordsInput {
    /** A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). */
    DatasetName: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityId: string;
    /** A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. */
    IdentityPoolId: string;
    /** The SyncSessionToken returned by a previous call to ListRecords for this dataset and identity. */
    SyncSessionToken: string;
    /** Intended to supply a device ID that will populate the lastModifiedBy field referenced in other methods. The ClientContext field is not yet implemented. */
    ClientContext?: string;
    /** The unique ID generated for this device by Cognito. */
    DeviceId?: string;
    /** A list of patch operations. */
    RecordPatches?: RecordPatch[];
}
/** Cognito Sync service binding for Step Functions SDK integrations. */
export declare class CognitoSync {
    constructor();
    bulkPublish<T>(params: BulkPublishInput): Promise<T>;
    deleteDataset<T>(params: DeleteDatasetInput): Promise<T>;
    describeDataset<T>(params: DescribeDatasetInput): Promise<T>;
    describeIdentityPoolUsage<T>(params: DescribeIdentityPoolUsageInput): Promise<T>;
    describeIdentityUsage<T>(params: DescribeIdentityUsageInput): Promise<T>;
    getBulkPublishDetails<T>(params: GetBulkPublishDetailsInput): Promise<T>;
    getCognitoEvents<T>(params: GetCognitoEventsInput): Promise<T>;
    getIdentityPoolConfiguration<T>(params: GetIdentityPoolConfigurationInput): Promise<T>;
    listDatasets<T>(params: ListDatasetsInput): Promise<T>;
    listIdentityPoolUsage<T>(params: ListIdentityPoolUsageInput): Promise<T>;
    listRecords<T>(params: ListRecordsInput): Promise<T>;
    registerDevice<T>(params: RegisterDeviceInput): Promise<T>;
    setCognitoEvents<T>(params: SetCognitoEventsInput): Promise<T>;
    setIdentityPoolConfiguration<T>(params: SetIdentityPoolConfigurationInput): Promise<T>;
    subscribeToDataset<T>(params: SubscribeToDatasetInput): Promise<T>;
    unsubscribeFromDataset<T>(params: UnsubscribeFromDatasetInput): Promise<T>;
    updateRecords<T>(params: UpdateRecordsInput): Promise<T>;
}
//# sourceMappingURL=CognitoSync.d.ts.map