export interface DatasetOwnerInfo {
    /** The name of the Dataset owner. */
    name?: string;
    /** Phone number for the Dataset owner. */
    phoneNumber?: string;
    /** Email address for the Dataset owner. */
    email?: string;
}
export interface PermissionGroupParams {
    /** The unique identifier for the PermissionGroup. */
    permissionGroupId?: string;
    /** List of resource permissions. */
    datasetPermissions?: any[];
}
export interface SchemaDefinition {
    /** List of column definitions. */
    columns?: any[];
    /** List of column names used for primary key. */
    primaryKeyColumns?: any[];
}
export interface SchemaUnion {
    /** The configuration for a schema on a tabular Dataset. */
    tabularSchemaConfig?: SchemaDefinition;
}
export interface DataViewDestinationTypeParams {
    /** Destination type for a Dataview. GLUE_TABLE – Glue table destination type. S3 – S3 destination type. */
    destinationType: string;
    /** Dataview export file format. PARQUET – Parquet export file format. DELIMITED_TEXT – Delimited text export file format. */
    s3DestinationExportFileFormat?: 'PARQUET' | 'DELIMITED_TEXT';
    /** Format Options for S3 Destination type. Here is an example of how you could specify the s3DestinationExportFileFormatOptions { "header": "true", "delimiter": ",", "compression": "gzip" } */
    s3DestinationExportFileFormatOptions?: Record<string, string>;
}
export interface AssociateUserToPermissionGroupInput {
    /** The unique identifier for the permission group. */
    permissionGroupId: string;
    /** The unique identifier for the user. */
    userId: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
/** The request for a CreateChangeset operation. */
export interface CreateChangesetInput {
    /** The option to indicate how a Changeset will be applied to a Dataset. REPLACE – Changeset will be considered as a replacement to all prior loaded Changesets. APPEND – Changeset will be considered as an */
    changeType: 'REPLACE' | 'APPEND' | 'MODIFY';
    /** The unique identifier for the FinSpace Dataset where the Changeset will be created. */
    datasetId: string;
    /** Options that define the structure of the source file(s) including the format type (formatType), header row (withHeader), data separation character (separator) and the type of compression (compression) */
    formatParams: Record<string, string>;
    /** Options that define the location of the data being ingested (s3SourcePath) and the source of the changeset (sourceType). Both s3SourcePath and sourceType are required attributes. Here is an example of */
    sourceParams: Record<string, string>;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
/** The request for a CreateDataset operation */
export interface CreateDatasetInput {
    /** Display title for a FinSpace Dataset. */
    datasetTitle: string;
    /** The format in which Dataset data is structured. TABULAR – Data is structured in a tabular format. NON_TABULAR – Data is structured in a non-tabular format. */
    kind: 'TABULAR' | 'NON_TABULAR';
    /** Permission group parameters for Dataset permissions. */
    permissionGroupParams: PermissionGroupParams;
    /** The unique resource identifier for a Dataset. */
    alias?: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
    /** Description of a Dataset. */
    datasetDescription?: string;
    /** Contact information for a Dataset owner. */
    ownerInfo?: DatasetOwnerInfo;
    /** Definition for a schema on a tabular Dataset. */
    schemaDefinition?: SchemaUnion;
}
/** Request for creating a data view. */
export interface CreateDataViewInput {
    /** The unique Dataset identifier that is used to create a Dataview. */
    datasetId: string;
    /** Options that define the destination type for the Dataview. */
    destinationTypeParams: DataViewDestinationTypeParams;
    /** Beginning time to use for the Dataview. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000. */
    asOfTimestamp?: number;
    /** Flag to indicate Dataview should be updated automatically. */
    autoUpdate?: boolean;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
    /** Ordered set of column names used to partition data. */
    partitionColumns?: string[];
    /** Columns to be used for sorting the data. */
    sortColumns?: string[];
}
export interface CreatePermissionGroupInput {
    /** The option to indicate FinSpace application permissions that are granted to a specific group. When assigning application permissions, be aware that the permission ManageUsersAndGroups allows users to  */
    applicationPermissions: 'CreateDataset' | 'ManageClusters' | 'ManageUsersAndGroups' | 'ManageAttributeSets' | 'ViewAuditData' | 'AccessNotebooks' | 'GetTemporaryCredentials'[];
    /** The name of the permission group. */
    name: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
    /** A brief description for the permission group. */
    description?: string;
}
export interface CreateUserInput {
    /** The email address of the user that you want to register. The email address serves as a uniquer identifier for each user and cannot be changed after it's created. */
    emailAddress: string;
    /** The option to indicate the type of user. Use one of the following options to specify this parameter: SUPER_USER – A user with permission to all the functionality and data in FinSpace. APP_USER – A use */
    type: 'SUPER_USER' | 'APP_USER';
    /** The option to indicate whether the user can use the GetProgrammaticAccessCredentials API to obtain credentials that can then be used to access other FinSpace Data API operations. ENABLED – The user ha */
    apiAccess?: 'ENABLED' | 'DISABLED';
    /** The ARN identifier of an AWS user or role that is allowed to call the GetProgrammaticAccessCredentials API to obtain a credentials token for a specific FinSpace user. This must be an IAM role within y */
    apiAccessPrincipalArn?: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
    /** The first name of the user that you want to register. */
    firstName?: string;
    /** The last name of the user that you want to register. */
    lastName?: string;
}
/** The request for a DeleteDataset operation. */
export interface DeleteDatasetInput {
    /** The unique identifier of the Dataset to be deleted. */
    datasetId: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
export interface DeletePermissionGroupInput {
    /** The unique identifier for the permission group that you want to delete. */
    permissionGroupId: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
export interface DisableUserInput {
    /** The unique identifier for the user that you want to deactivate. */
    userId: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
export interface DisassociateUserFromPermissionGroupInput {
    /** The unique identifier for the permission group. */
    permissionGroupId: string;
    /** The unique identifier for the user. */
    userId: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
export interface EnableUserInput {
    /** The unique identifier for the user that you want to activate. */
    userId: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
/** Request to describe a changeset. */
export interface GetChangesetInput {
    /** The unique identifier of the Changeset for which to get data. */
    changesetId: string;
    /** The unique identifier for the FinSpace Dataset where the Changeset is created. */
    datasetId: string;
}
/** Request for the GetDataset operation. */
export interface GetDatasetInput {
    /** The unique identifier for a Dataset. */
    datasetId: string;
}
/** Request for retrieving a data view detail. Grouped / accessible within a dataset by its dataset id. */
export interface GetDataViewInput {
    /** The unique identifier for the Dataset used in the Dataview. */
    datasetId: string;
    /** The unique identifier for the Dataview. */
    dataViewId: string;
}
export interface GetExternalDataViewAccessDetailsInput {
    /** The unique identifier for the Dataset. */
    datasetId: string;
    /** The unique identifier for the Dataview that you want to access. */
    dataViewId: string;
}
export interface GetPermissionGroupInput {
    /** The unique identifier for the permission group. */
    permissionGroupId: string;
}
/** Request for GetProgrammaticAccessCredentials operation */
export interface GetProgrammaticAccessCredentialsInput {
    /** The FinSpace environment identifier. */
    environmentId: string;
    /** The time duration in which the credentials remain valid. */
    durationInMinutes?: number;
}
export interface GetUserInput {
    /** The unique identifier of the user to get data for. */
    userId: string;
}
export interface GetWorkingLocationInput {
    /** Specify the type of the working location. SAGEMAKER – Use the Amazon S3 location as a temporary location to store data content when working with FinSpace Notebooks that run on SageMaker studio. INGEST */
    locationType?: 'INGESTION' | 'SAGEMAKER';
}
/** Request to ListChangesetsRequest. It exposes minimal query filters. */
export interface ListChangesetsInput {
    /** The unique identifier for the FinSpace Dataset to which the Changeset belongs. */
    datasetId: string;
    /** The maximum number of results per page. */
    maxResults?: number;
    /** A token that indicates where a results page should begin. */
    nextToken?: string;
}
/** Request for the ListDatasets operation. */
export interface ListDatasetsInput {
    /** The maximum number of results per page. */
    maxResults?: number;
    /** A token that indicates where a results page should begin. */
    nextToken?: string;
}
/** Request for a list data views. */
export interface ListDataViewsInput {
    /** The unique identifier of the Dataset for which to retrieve Dataviews. */
    datasetId: string;
    /** The maximum number of results per page. */
    maxResults?: number;
    /** A token that indicates where a results page should begin. */
    nextToken?: string;
}
export interface ListPermissionGroupsInput {
    /** The maximum number of results per page. */
    maxResults: number;
    /** A token that indicates where a results page should begin. */
    nextToken?: string;
}
export interface ListPermissionGroupsByUserInput {
    /** The maximum number of results per page. */
    maxResults: number;
    /** The unique identifier for the user. */
    userId: string;
    /** A token that indicates where a results page should begin. */
    nextToken?: string;
}
export interface ListUsersInput {
    /** The maximum number of results per page. */
    maxResults: number;
    /** A token that indicates where a results page should begin. */
    nextToken?: string;
}
export interface ListUsersByPermissionGroupInput {
    /** The maximum number of results per page. */
    maxResults: number;
    /** The unique identifier for the permission group. */
    permissionGroupId: string;
    /** A token that indicates where a results page should begin. */
    nextToken?: string;
}
export interface ResetUserPasswordInput {
    /** The unique identifier of the user that a temporary password is requested for. */
    userId: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
/** Request to update an existing changeset. */
export interface UpdateChangesetInput {
    /** The unique identifier for the Changeset to update. */
    changesetId: string;
    /** The unique identifier for the FinSpace Dataset in which the Changeset is created. */
    datasetId: string;
    /** Options that define the structure of the source file(s) including the format type (formatType), header row (withHeader), data separation character (separator) and the type of compression (compression) */
    formatParams: Record<string, string>;
    /** Options that define the location of the data being ingested (s3SourcePath) and the source of the changeset (sourceType). Both s3SourcePath and sourceType are required attributes. Here is an example of */
    sourceParams: Record<string, string>;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
}
/** The request for an UpdateDataset operation */
export interface UpdateDatasetInput {
    /** The unique identifier for the Dataset to update. */
    datasetId: string;
    /** A display title for the Dataset. */
    datasetTitle: string;
    /** The format in which the Dataset data is structured. TABULAR – Data is structured in a tabular format. NON_TABULAR – Data is structured in a non-tabular format. */
    kind: 'TABULAR' | 'NON_TABULAR';
    /** The unique resource identifier for a Dataset. */
    alias?: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
    /** A description for the Dataset. */
    datasetDescription?: string;
    /** Definition for a schema on a tabular Dataset. */
    schemaDefinition?: SchemaUnion;
}
export interface UpdatePermissionGroupInput {
    /** The unique identifier for the permission group to update. */
    permissionGroupId: string;
    /** The permissions that are granted to a specific group for accessing the FinSpace application. When assigning application permissions, be aware that the permission ManageUsersAndGroups allows users to g */
    applicationPermissions?: 'CreateDataset' | 'ManageClusters' | 'ManageUsersAndGroups' | 'ManageAttributeSets' | 'ViewAuditData' | 'AccessNotebooks' | 'GetTemporaryCredentials'[];
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
    /** A brief description for the permission group. */
    description?: string;
    /** The name of the permission group. */
    name?: string;
}
export interface UpdateUserInput {
    /** The unique identifier for the user that you want to update. */
    userId: string;
    /** The option to indicate whether the user can use the GetProgrammaticAccessCredentials API to obtain credentials that can then be used to access other FinSpace Data API operations. ENABLED – The user ha */
    apiAccess?: 'ENABLED' | 'DISABLED';
    /** The ARN identifier of an AWS user or role that is allowed to call the GetProgrammaticAccessCredentials API to obtain a credentials token for a specific FinSpace user. This must be an IAM role within y */
    apiAccessPrincipalArn?: string;
    /** A token that ensures idempotency. This token expires in 10 minutes. */
    clientToken?: string;
    /** The first name of the user. */
    firstName?: string;
    /** The last name of the user. */
    lastName?: string;
    /** The option to indicate the type of user. SUPER_USER– A user with permission to all the functionality and data in FinSpace. APP_USER – A user with specific permissions in FinSpace. The users are assign */
    type?: 'SUPER_USER' | 'APP_USER';
}
/** finspace data service binding for Step Functions SDK integrations. */
export declare class finspacedata {
    constructor();
    associateUserToPermissionGroup<T>(params: AssociateUserToPermissionGroupInput): Promise<T>;
    createChangeset<T>(params: CreateChangesetInput): Promise<T>;
    createDataset<T>(params: CreateDatasetInput): Promise<T>;
    createDataView<T>(params: CreateDataViewInput): Promise<T>;
    createPermissionGroup<T>(params: CreatePermissionGroupInput): Promise<T>;
    createUser<T>(params: CreateUserInput): Promise<T>;
    deleteDataset<T>(params: DeleteDatasetInput): Promise<T>;
    deletePermissionGroup<T>(params: DeletePermissionGroupInput): Promise<T>;
    disableUser<T>(params: DisableUserInput): Promise<T>;
    disassociateUserFromPermissionGroup<T>(params: DisassociateUserFromPermissionGroupInput): Promise<T>;
    enableUser<T>(params: EnableUserInput): Promise<T>;
    getChangeset<T>(params: GetChangesetInput): Promise<T>;
    getDataset<T>(params: GetDatasetInput): Promise<T>;
    getDataView<T>(params: GetDataViewInput): Promise<T>;
    getExternalDataViewAccessDetails<T>(params: GetExternalDataViewAccessDetailsInput): Promise<T>;
    getPermissionGroup<T>(params: GetPermissionGroupInput): Promise<T>;
    getProgrammaticAccessCredentials<T>(params: GetProgrammaticAccessCredentialsInput): Promise<T>;
    getUser<T>(params: GetUserInput): Promise<T>;
    getWorkingLocation<T>(params: GetWorkingLocationInput): Promise<T>;
    listChangesets<T>(params: ListChangesetsInput): Promise<T>;
    listDatasets<T>(params: ListDatasetsInput): Promise<T>;
    listDataViews<T>(params: ListDataViewsInput): Promise<T>;
    listPermissionGroups<T>(params: ListPermissionGroupsInput): Promise<T>;
    listPermissionGroupsByUser<T>(params: ListPermissionGroupsByUserInput): Promise<T>;
    listUsers<T>(params: ListUsersInput): Promise<T>;
    listUsersByPermissionGroup<T>(params: ListUsersByPermissionGroupInput): Promise<T>;
    resetUserPassword<T>(params: ResetUserPasswordInput): Promise<T>;
    updateChangeset<T>(params: UpdateChangesetInput): Promise<T>;
    updateDataset<T>(params: UpdateDatasetInput): Promise<T>;
    updatePermissionGroup<T>(params: UpdatePermissionGroupInput): Promise<T>;
    updateUser<T>(params: UpdateUserInput): Promise<T>;
}
//# sourceMappingURL=finspacedata.d.ts.map