/**
 *  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 *  Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
 *  with the License. A copy of the License is located at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
 *  OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
 *  and limitations under the License.
 */
import * as logs from 'aws-cdk-lib/aws-logs';
import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
import * as cloudwatch from 'aws-cdk-lib/aws-cloudwatch';
import { Construct } from 'constructs';
export declare const idPlaceholder: undefined;
export interface BuildStateMacineProps {
    readonly stateMachineProps: sfn.StateMachineProps;
    readonly logGroupProps?: logs.LogGroupProps;
    readonly createCloudWatchAlarms?: boolean;
    readonly cloudWatchAlarmsPrefix?: string;
}
export interface BuildStateMachineResponse {
    readonly stateMachine: sfn.StateMachine;
    readonly logGroup: logs.ILogGroup;
    readonly cloudWatchAlarms?: cloudwatch.Alarm[];
}
/**
 * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
 *
 * Builds and returns a StateMachine.
 * @param scope - the construct to which the StateMachine should be attached to.
 * @param stateMachineProps - user-specified properties to override the default properties.
 */
export declare function buildStateMachine(scope: Construct, id: string | undefined, props: BuildStateMacineProps): BuildStateMachineResponse;
/**
 * @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
 */
export declare function buildStepFunctionCWAlarms(scope: Construct, id: string | undefined, sm: sfn.StateMachine): cloudwatch.Alarm[];
export interface StateMachineProps {
    readonly stateMachineProps?: sfn.StateMachineProps;
    readonly existingStateMachineObj?: sfn.StateMachine;
    readonly createCloudWatchAlarms?: boolean;
    readonly cloudWatchAlarmsPrefix?: string;
    readonly logGroupProps?: logs.LogGroupProps;
}
export declare function CheckStateMachineProps(propsObject: StateMachineProps | any): void;
