export interface MofNApprovalStrategy {
    /** Minimum number of approvals (M) required for a total number of approvers (N). */
    MinApprovalsRequired: number;
}
export interface ApprovalTeamRequestApprover {
    /** ID for the user. */
    PrimaryIdentityId: string;
    /** Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers. */
    PrimaryIdentitySourceArn: string;
}
export interface PolicyReference {
    /** Amazon Resource Name (ARN) for the policy. */
    PolicyArn: string;
}
export interface IamIdentityCenter {
    /** Amazon Resource Name (ARN) for the IAM Identity Center instance. */
    InstanceArn: string;
    /** Amazon Web Services Region where the IAM Identity Center instance is located. */
    Region: string;
}
export interface IdentitySourceParameters {
    /** IAM Identity Center credentials. */
    IamIdentityCenter?: IamIdentityCenter;
}
export interface Filter {
    /** Name of the filter to use. Supported filters The supported filters for ListSessions are: ActionName, SessionStatus, and InitationTime. */
    FieldName?: 'ActionName' | 'ApprovalTeamName' | 'VotingTime' | 'Vote' | 'SessionStatus' | 'InitiationTime';
    /** Operator to use for filtering. EQ: Equal to the specified value NE: Not equal to the specified value GT: Greater than the specified value LT: Less than the specified value GTE: Greater than or equal t */
    Operator?: 'EQ' | 'NE' | 'GT' | 'LT' | 'GTE' | 'LTE' | 'CONTAINS' | 'NOT_CONTAINS' | 'BETWEEN';
    /** Value to use for filtering. For the BETWEEN operator, specify values in the format a AND b (AND is case-insensitive). */
    Value?: string;
}
export interface CancelSessionInput {
    /** Amazon Resource Name (ARN) for the session. */
    SessionArn: string;
}
export interface CreateApprovalTeamInput {
    /** An ApprovalStrategy object. Contains details for how the team grants approval. */
    ApprovalStrategy: {
        MofN?: MofNApprovalStrategy;
    };
    /** An array of ApprovalTeamRequesterApprovers objects. Contains details for the approvers in the team. */
    Approvers: ApprovalTeamRequestApprover[];
    /** Description for the team. */
    Description: string;
    /** Name of the team. */
    Name: string;
    /** An array of PolicyReference objects. Contains a list of policies that define the permissions for team resources. */
    Policies: PolicyReference[];
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field. What is idempotency? When you make a mutatin */
    ClientToken?: string;
    /** Tags you want to attach to the team. */
    Tags?: Record<string, string>;
}
export interface CreateIdentitySourceInput {
    /** A IdentitySourceParameters object. Contains details for the resource that provides identities to the identity source. For example, an IAM Identity Center instance. */
    IdentitySourceParameters: IdentitySourceParameters;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field. What is idempotency? When you make a mutatin */
    ClientToken?: string;
    /** Tag you want to attach to the identity source. */
    Tags?: Record<string, string>;
}
export interface DeleteIdentitySourceInput {
    /** Amazon Resource Name (ARN) for identity source. */
    IdentitySourceArn: string;
}
export interface DeleteInactiveApprovalTeamVersionInput {
    /** Amaazon Resource Name (ARN) for the team. */
    Arn: string;
    /** Version ID for the team. */
    VersionId: string;
}
export interface GetApprovalTeamInput {
    /** Amazon Resource Name (ARN) for the team. */
    Arn: string;
}
export interface GetIdentitySourceInput {
    /** Amazon Resource Name (ARN) for the identity source. */
    IdentitySourceArn: string;
}
export interface GetPolicyVersionInput {
    /** Amazon Resource Name (ARN) for the policy. */
    PolicyVersionArn: string;
}
export interface GetResourcePolicyInput {
    /** Name of the policy. */
    PolicyName: string;
    /** The type of policy. */
    PolicyType: 'AWS_MANAGED' | 'AWS_RAM';
    /** Amazon Resource Name (ARN) for the resource. */
    ResourceArn: string;
}
export interface GetSessionInput {
    /** Amazon Resource Name (ARN) for the session. */
    SessionArn: string;
}
export interface ListApprovalTeamsInput {
    /** The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results. */
    MaxResults?: number;
    /** If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You  */
    NextToken?: string;
}
export interface ListIdentitySourcesInput {
    /** The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results. */
    MaxResults?: number;
    /** If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You  */
    NextToken?: string;
}
export interface ListPoliciesInput {
    /** The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results. */
    MaxResults?: number;
    /** If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You  */
    NextToken?: string;
}
export interface ListPolicyVersionsInput {
    /** Amazon Resource Name (ARN) for the policy. */
    PolicyArn: string;
    /** The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results. */
    MaxResults?: number;
    /** If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You  */
    NextToken?: string;
}
export interface ListResourcePoliciesInput {
    /** Amazon Resource Name (ARN) for the resource. */
    ResourceArn: string;
    /** The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results. */
    MaxResults?: number;
    /** If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You  */
    NextToken?: string;
}
export interface ListSessionsInput {
    /** Amazon Resource Name (ARN) for the approval team. */
    ApprovalTeamArn: string;
    /** An array of Filter objects. Contains the filter to apply when listing sessions. */
    Filters?: Filter[];
    /** The maximum number of items to return in the response. If more results exist than the specified MaxResults value, a token is included in the response so that you can retrieve the remaining results. */
    MaxResults?: number;
    /** If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a next call to the operation to get more output. You  */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** Amazon Resource Name (ARN) for the resource. */
    ResourceArn: string;
}
export interface StartActiveApprovalTeamDeletionInput {
    /** Amazon Resource Name (ARN) for the team. */
    Arn: string;
    /** Number of days between when the team approves the delete request and when the team is deleted. */
    PendingWindowDays?: number;
}
export interface TagResourceInput {
    /** Amazon Resource Name (ARN) for the resource you want to tag. */
    ResourceArn: string;
    /** Tags that you have added to the specified resource. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** Amazon Resource Name (ARN) for the resource you want to untag. */
    ResourceArn: string;
    /** Array of tag key-value pairs that you want to untag. */
    TagKeys: string[];
}
export interface UpdateApprovalTeamInput {
    /** Amazon Resource Name (ARN) for the team. */
    Arn: string;
    /** An ApprovalStrategy object. Contains details for how the team grants approval. */
    ApprovalStrategy?: {
        MofN?: MofNApprovalStrategy;
    };
    /** An array of ApprovalTeamRequestApprover objects. Contains details for the approvers in the team. */
    Approvers?: ApprovalTeamRequestApprover[];
    /** Description for the team. */
    Description?: string;
    /** A list of UpdateAction to perform when updating the team. */
    UpdateActions?: 'SYNCHRONIZE_MFA_DEVICES'[];
}
/** MPA service binding for Step Functions SDK integrations. */
export declare class MPA {
    constructor();
    cancelSession<T>(params: CancelSessionInput): Promise<T>;
    createApprovalTeam<T>(params: CreateApprovalTeamInput): Promise<T>;
    createIdentitySource<T>(params: CreateIdentitySourceInput): Promise<T>;
    deleteIdentitySource<T>(params: DeleteIdentitySourceInput): Promise<T>;
    deleteInactiveApprovalTeamVersion<T>(params: DeleteInactiveApprovalTeamVersionInput): Promise<T>;
    getApprovalTeam<T>(params: GetApprovalTeamInput): Promise<T>;
    getIdentitySource<T>(params: GetIdentitySourceInput): Promise<T>;
    getPolicyVersion<T>(params: GetPolicyVersionInput): Promise<T>;
    getResourcePolicy<T>(params: GetResourcePolicyInput): Promise<T>;
    getSession<T>(params: GetSessionInput): Promise<T>;
    listApprovalTeams<T>(params: ListApprovalTeamsInput): Promise<T>;
    listIdentitySources<T>(params: ListIdentitySourcesInput): Promise<T>;
    listPolicies<T>(params: ListPoliciesInput): Promise<T>;
    listPolicyVersions<T>(params: ListPolicyVersionsInput): Promise<T>;
    listResourcePolicies<T>(params: ListResourcePoliciesInput): Promise<T>;
    listSessions<T>(params: ListSessionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    startActiveApprovalTeamDeletion<T>(params: StartActiveApprovalTeamDeletionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateApprovalTeam<T>(params: UpdateApprovalTeamInput): Promise<T>;
}
//# sourceMappingURL=MPA.d.ts.map