export interface AuthRequest {
    /** The redirect URL that is specified in the AuthURL and the application client. */
    redirectUri: string;
    /** The authorization code returned by the application after permission is granted in the application OAuth page (after clicking on the AuthURL). */
    code: string;
}
export interface Oauth2Credential {
    /** The client ID of the client application. */
    clientId: string;
    /** The client secret of the client application. */
    clientSecret: string;
}
export interface ApiKeyCredential {
    /** An API key for an application. */
    apiKey: string;
}
export interface Tenant {
    /** The ID of the application tenant. */
    tenantIdentifier: string;
    /** The display name of the tenant. */
    tenantDisplayName: string;
}
export interface Tag {
    /** Tag key. */
    key: string;
    /** Tag value. */
    value: string;
}
export interface AuditLogProcessingConfiguration {
    /** The event schema in which the audit logs need to be formatted. */
    schema: 'ocsf' | 'raw';
    /** The format in which the audit logs need to be formatted. */
    format: 'json' | 'parquet';
}
export interface AuditLogDestinationConfiguration {
    /** Contains information about an audit log destination. */
    destination: any;
}
export interface BatchGetUserAccessTasksInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The tasks IDs to use for the request. */
    taskIdList: string[];
}
export interface ConnectAppAuthorizationInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app authorization to use for the request. */
    appAuthorizationIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle that contains the app authorization to use for the request. */
    appBundleIdentifier: string;
    /** Contains OAuth2 authorization information. This is required if the app authorization for the request is configured with an OAuth2 (oauth2) authorization type. */
    authRequest?: AuthRequest;
}
export interface CreateAppAuthorizationInput {
    /** The name of the application. Valid values are: SLACK ASANA JIRA M365 M365AUDITLOGS ZOOM ZENDESK OKTA GOOGLE DROPBOX SMARTSHEET CISCO */
    app: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The authorization type for the app authorization. */
    authType: 'oauth2' | 'apiKey';
    /** Contains credentials for the application, such as an API key or OAuth2 client ID and secret. Specify credentials that match the authorization type for your request. For example, if the authorization t */
    credential: {
        oauth2Credential?: Oauth2Credential;
    } | {
        apiKeyCredential?: ApiKeyCredential;
    };
    /** Contains information about an application tenant, such as the application display name and identifier. */
    tenant: Tenant;
    /** Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a sec */
    clientToken?: string;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Tag[];
}
export interface CreateAppBundleInput {
    /** Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a sec */
    clientToken?: string;
    /** The Amazon Resource Name (ARN) of the Key Management Service (KMS) key to use to encrypt the application data. If this is not specified, an Amazon Web Services owned key is used for encryption. */
    customerManagedKeyIdentifier?: string;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Tag[];
}
export interface CreateIngestionInput {
    /** The name of the application. Valid values are: SLACK ASANA JIRA M365 M365AUDITLOGS ZOOM ZENDESK OKTA GOOGLE DROPBOX SMARTSHEET CISCO */
    app: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The ingestion type. */
    ingestionType: 'auditLog';
    /** The ID of the application tenant. */
    tenantId: string;
    /** Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a sec */
    clientToken?: string;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Tag[];
}
export interface CreateIngestionDestinationInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** Contains information about the destination of ingested data. */
    destinationConfiguration: {
        auditLog?: AuditLogDestinationConfiguration;
    };
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
    /** Contains information about how ingested data is processed. */
    processingConfiguration: {
        auditLog?: AuditLogProcessingConfiguration;
    };
    /** Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a sec */
    clientToken?: string;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags?: Tag[];
}
export interface DeleteAppAuthorizationInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app authorization to use for the request. */
    appAuthorizationIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
}
export interface DeleteAppBundleInput {
    /** The ID or Amazon Resource Name (ARN) of the app bundle that needs to be deleted. */
    appBundleIdentifier: string;
}
export interface DeleteIngestionInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
}
export interface DeleteIngestionDestinationInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion destination to use for the request. */
    ingestionDestinationIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
}
export interface GetAppAuthorizationInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app authorization to use for the request. */
    appAuthorizationIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
}
export interface GetAppBundleInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
}
export interface GetIngestionInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
}
export interface GetIngestionDestinationInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion destination to use for the request. */
    ingestionDestinationIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
}
export interface ListAppAuthorizationsInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be */
    maxResults?: number;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    nextToken?: string;
}
export interface ListAppBundlesInput {
    /** The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be */
    maxResults?: number;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    nextToken?: string;
}
export interface ListIngestionDestinationsInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
    /** The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be */
    maxResults?: number;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    nextToken?: string;
}
export interface ListIngestionsInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be */
    maxResults?: number;
    /** If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. K */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags. */
    resourceArn: string;
}
export interface StartIngestionInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
}
export interface StartUserAccessTasksInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The email address of the target user. */
    email: string;
}
export interface StopIngestionInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to tag. */
    resourceArn: string;
    /** A map of the key-value pairs of the tag or tags to assign to the resource. */
    tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to untag. */
    resourceArn: string;
    /** The keys of the key-value pairs for the tag or tags you want to remove from the specified resource. */
    tagKeys: string[];
}
export interface UpdateAppAuthorizationInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app authorization to use for the request. */
    appAuthorizationIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** Contains credentials for the application, such as an API key or OAuth2 client ID and secret. Specify credentials that match the authorization type of the app authorization to update. For example, if t */
    credential?: {
        oauth2Credential?: Oauth2Credential;
    } | {
        apiKeyCredential?: ApiKeyCredential;
    };
    /** Contains information about an application tenant, such as the application display name and identifier. */
    tenant?: Tenant;
}
export interface UpdateIngestionDestinationInput {
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the app bundle to use for the request. */
    appBundleIdentifier: string;
    /** Contains information about the destination of ingested data. */
    destinationConfiguration: {
        auditLog?: AuditLogDestinationConfiguration;
    };
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion destination to use for the request. */
    ingestionDestinationIdentifier: string;
    /** The Amazon Resource Name (ARN) or Universal Unique Identifier (UUID) of the ingestion to use for the request. */
    ingestionIdentifier: string;
}
/** AppFabric service binding for Step Functions SDK integrations. */
export declare class AppFabric {
    constructor();
    batchGetUserAccessTasks<T>(params: BatchGetUserAccessTasksInput): Promise<T>;
    connectAppAuthorization<T>(params: ConnectAppAuthorizationInput): Promise<T>;
    createAppAuthorization<T>(params: CreateAppAuthorizationInput): Promise<T>;
    createAppBundle<T>(params: CreateAppBundleInput): Promise<T>;
    createIngestion<T>(params: CreateIngestionInput): Promise<T>;
    createIngestionDestination<T>(params: CreateIngestionDestinationInput): Promise<T>;
    deleteAppAuthorization<T>(params: DeleteAppAuthorizationInput): Promise<T>;
    deleteAppBundle<T>(params: DeleteAppBundleInput): Promise<T>;
    deleteIngestion<T>(params: DeleteIngestionInput): Promise<T>;
    deleteIngestionDestination<T>(params: DeleteIngestionDestinationInput): Promise<T>;
    getAppAuthorization<T>(params: GetAppAuthorizationInput): Promise<T>;
    getAppBundle<T>(params: GetAppBundleInput): Promise<T>;
    getIngestion<T>(params: GetIngestionInput): Promise<T>;
    getIngestionDestination<T>(params: GetIngestionDestinationInput): Promise<T>;
    listAppAuthorizations<T>(params: ListAppAuthorizationsInput): Promise<T>;
    listAppBundles<T>(params: ListAppBundlesInput): Promise<T>;
    listIngestionDestinations<T>(params: ListIngestionDestinationsInput): Promise<T>;
    listIngestions<T>(params: ListIngestionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    startIngestion<T>(params: StartIngestionInput): Promise<T>;
    startUserAccessTasks<T>(params: StartUserAccessTasksInput): Promise<T>;
    stopIngestion<T>(params: StopIngestionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAppAuthorization<T>(params: UpdateAppAuthorizationInput): Promise<T>;
    updateIngestionDestination<T>(params: UpdateIngestionDestinationInput): Promise<T>;
}
//# sourceMappingURL=AppFabric.d.ts.map