export interface RepositoryInput {
    /** The name of the source repository. */
    repositoryName: string;
    /** The name of the branch in a source repository. */
    branchName?: string;
}
export interface IdeConfiguration {
    /** A link to the IDE runtime image. This parameter is not required for VSCode. */
    runtime?: string;
    /** The name of the IDE. Valid values include Cloud9, IntelliJ, PyCharm, GoLand, and VSCode. */
    name?: string;
}
export interface PersistentStorageConfiguration {
    /** The size of the persistent storage in gigabytes (specifically GiB). Valid values for storage are based on memory sizes in 16GB increments. Valid values are 16, 32, and 64. */
    sizeInGiB: number;
}
export interface Filter {
    /** A key that can be used to sort results. */
    key: string;
    /** The values of the key. */
    values: any[];
    /** The operator used to compare the fields. */
    comparisonOperator?: string;
}
export interface ProjectListFilter {
    /** A key that can be used to sort results. */
    key: 'hasAccessTo' | 'name';
    /** The values of the key. */
    values: any[];
    /** The operator used to compare the fields. */
    comparisonOperator?: 'EQ' | 'GT' | 'GE' | 'LT' | 'LE' | 'BEGINS_WITH';
}
export interface ExecuteCommandSessionConfiguration {
    /** The command used at the beginning of the SSH session to a Dev Environment. */
    command: string;
    /** An array of arguments containing arguments and members. */
    arguments?: any[];
}
export interface DevEnvironmentSessionConfiguration {
    /** The type of the session. */
    sessionType: 'SSM' | 'SSH';
    /** Information about optional commands that will be run on the Dev Environment when the SSH session begins. */
    executeCommandSessionConfiguration?: ExecuteCommandSessionConfiguration;
}
export interface CreateAccessTokenInput {
    /** The friendly name of the personal access token. */
    name: string;
    /** The date and time the personal access token expires, in coordinated universal time (UTC) timestamp format as specified in RFC 3339. */
    expiresTime?: string;
}
export interface CreateDevEnvironmentInput {
    /** The Amazon EC2 instace type to use for the Dev Environment. */
    instanceType: 'dev.standard1.small' | 'dev.standard1.medium' | 'dev.standard1.large' | 'dev.standard1.xlarge';
    /** Information about the amount of storage allocated to the Dev Environment. By default, a Dev Environment is configured to have 16GB of persistent storage when created from the Amazon CodeCatalyst conso */
    persistentStorage: PersistentStorageConfiguration;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
    /** The user-defined alias for a Dev Environment. */
    alias?: string;
    /** A user-specified idempotency token. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries retu */
    clientToken?: string;
    /** Information about the integrated development environment (IDE) configured for a Dev Environment. An IDE is required to create a Dev Environment. For Dev Environment creation, this field contains confi */
    ides?: IdeConfiguration[];
    /** The amount of time the Dev Environment will run without any activity detected before stopping, in minutes. Only whole integers are allowed. Dev Environments consume compute minutes when running. */
    inactivityTimeoutMinutes?: number;
    /** The source repository that contains the branch to clone into the Dev Environment. */
    repositories?: RepositoryInput[];
    /** The name of the connection that will be used to connect to Amazon VPC, if any. */
    vpcConnectionName?: string;
}
export interface CreateProjectInput {
    /** The friendly name of the project that will be displayed to users. */
    displayName: string;
    /** The name of the space. */
    spaceName: string;
    /** The description of the project. This description will be displayed to all users of the project. We recommend providing a brief description of the project and its intended purpose. */
    description?: string;
}
export interface DeleteAccessTokenInput {
    /** The ID of the personal access token to delete. You can find the IDs of all PATs associated with your Amazon Web Services Builder ID in a space by calling ListAccessTokens. */
    id: string;
}
export interface DeleteDevEnvironmentInput {
    /** The system-generated unique ID of the Dev Environment you want to delete. To retrieve a list of Dev Environment IDs, use ListDevEnvironments. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
}
export interface DeleteProjectInput {
    /** The name of the project in the space. To retrieve a list of project names, use ListProjects. */
    name: string;
    /** The name of the space. */
    spaceName: string;
}
export interface DeleteSourceRepositoryInput {
    /** The name of the source repository. */
    name: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
}
export interface DeleteSpaceInput {
    /** The name of the space. To retrieve a list of space names, use ListSpaces. */
    name: string;
}
export interface GetDevEnvironmentInput {
    /** The system-generated unique ID of the Dev Environment for which you want to view information. To retrieve a list of Dev Environment IDs, use ListDevEnvironments. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
}
export interface GetProjectInput {
    /** The name of the project in the space. */
    name: string;
    /** The name of the space. */
    spaceName: string;
}
export interface GetSourceRepositoryInput {
    /** The name of the source repository. */
    name: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
}
export interface GetSourceRepositoryCloneUrlsInput {
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the source repository. */
    sourceRepositoryName: string;
    /** The name of the space. */
    spaceName: string;
}
export interface GetSpaceInput {
    /** The name of the space. */
    name: string;
}
export interface GetSubscriptionInput {
    /** The name of the space. */
    spaceName: string;
}
export interface GetUserDetailsInput {
    /** The system-generated unique ID of the user. */
    id?: string;
    /** The name of the user as displayed in Amazon CodeCatalyst. */
    userName?: string;
}
export interface GetWorkflowInput {
    /** The ID of the workflow. To rerieve a list of workflow IDs, use ListWorkflows. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
}
export interface GetWorkflowRunInput {
    /** The ID of the workflow run. To retrieve a list of workflow run IDs, use ListWorkflowRuns. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
}
export interface ListAccessTokensInput {
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
}
export interface ListDevEnvironmentsInput {
    /** The name of the space. */
    spaceName: string;
    /** Information about filters to apply to narrow the results returned in the list. */
    filters?: Filter[];
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
    /** The name of the project in the space. */
    projectName?: string;
}
export interface ListDevEnvironmentSessionsInput {
    /** The system-generated unique ID of the Dev Environment. */
    devEnvironmentId: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
}
export interface ListEventLogsInput {
    /** The time after which you do not want any events retrieved, in coordinated universal time (UTC) timestamp format as specified in RFC 3339. */
    endTime: string;
    /** The name of the space. */
    spaceName: string;
    /** The date and time when you want to start retrieving events, in coordinated universal time (UTC) timestamp format as specified in RFC 3339. */
    startTime: string;
    /** The name of the event. */
    eventName?: string;
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
}
export interface ListProjectsInput {
    /** The name of the space. */
    spaceName: string;
    /** Information about filters to apply to narrow the results returned in the list. */
    filters?: ProjectListFilter[];
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
}
export interface ListSourceRepositoriesInput {
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
}
export interface ListSourceRepositoryBranchesInput {
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the source repository. */
    sourceRepositoryName: string;
    /** The name of the space. */
    spaceName: string;
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
}
export interface ListSpacesInput {
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
}
export interface ListWorkflowRunsInput {
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
    /** Information used to sort the items in the returned list. */
    sortBy?: Record<string, any>[];
    /** The ID of the workflow. To retrieve a list of workflow IDs, use ListWorkflows. */
    workflowId?: string;
}
export interface ListWorkflowsInput {
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
    /** The maximum number of results to show in a single call to this API. If the number of results is larger than the number you specified, the response will include a NextToken element, which you can use t */
    maxResults?: number;
    /** A token returned from a call to this API to indicate the next batch of results to return, if any. */
    nextToken?: string;
    /** Information used to sort the items in the returned list. */
    sortBy?: Record<string, any>[];
}
export interface StartDevEnvironmentInput {
    /** The system-generated unique ID of the Dev Environment. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
    /** Information about the integrated development environment (IDE) configured for a Dev Environment. */
    ides?: IdeConfiguration[];
    /** The amount of time the Dev Environment will run without any activity detected before stopping, in minutes. Only whole integers are allowed. Dev Environments consume compute minutes when running. */
    inactivityTimeoutMinutes?: number;
    /** The Amazon EC2 instace type to use for the Dev Environment. */
    instanceType?: 'dev.standard1.small' | 'dev.standard1.medium' | 'dev.standard1.large' | 'dev.standard1.xlarge';
}
export interface StartDevEnvironmentSessionInput {
    /** The system-generated unique ID of the Dev Environment. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    sessionConfiguration: DevEnvironmentSessionConfiguration;
    /** The name of the space. */
    spaceName: string;
}
export interface StartWorkflowRunInput {
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
    /** The system-generated unique ID of the workflow. To retrieve a list of workflow IDs, use ListWorkflows. */
    workflowId: string;
    /** A user-specified idempotency token. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries retu */
    clientToken?: string;
}
export interface StopDevEnvironmentInput {
    /** The system-generated unique ID of the Dev Environment. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
}
export interface StopDevEnvironmentSessionInput {
    /** The system-generated unique ID of the Dev Environment. To obtain this ID, use ListDevEnvironments. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The system-generated unique ID of the Dev Environment session. This ID is returned by StartDevEnvironmentSession. */
    sessionId: string;
    /** The name of the space. */
    spaceName: string;
}
export interface UpdateDevEnvironmentInput {
    /** The system-generated unique ID of the Dev Environment. */
    id: string;
    /** The name of the project in the space. */
    projectName: string;
    /** The name of the space. */
    spaceName: string;
    /** The user-specified alias for the Dev Environment. Changing this value will not cause a restart. */
    alias?: string;
    /** A user-specified idempotency token. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries retu */
    clientToken?: string;
    /** Information about the integrated development environment (IDE) configured for a Dev Environment. */
    ides?: IdeConfiguration[];
    /** The amount of time the Dev Environment will run without any activity detected before stopping, in minutes. Only whole integers are allowed. Dev Environments consume compute minutes when running. Chang */
    inactivityTimeoutMinutes?: number;
    /** The Amazon EC2 instace type to use for the Dev Environment. Changing this value will cause a restart of the Dev Environment if it is running. */
    instanceType?: 'dev.standard1.small' | 'dev.standard1.medium' | 'dev.standard1.large' | 'dev.standard1.xlarge';
}
export interface UpdateProjectInput {
    /** The name of the project. */
    name: string;
    /** The name of the space. */
    spaceName: string;
    /** The description of the project. */
    description?: string;
}
export interface UpdateSpaceInput {
    /** The name of the space. */
    name: string;
    /** The description of the space. */
    description?: string;
}
/** CodeCatalyst service binding for Step Functions SDK integrations. */
export declare class CodeCatalyst {
    constructor();
    createAccessToken<T>(params: CreateAccessTokenInput): Promise<T>;
    createDevEnvironment<T>(params: CreateDevEnvironmentInput): Promise<T>;
    createProject<T>(params: CreateProjectInput): Promise<T>;
    deleteAccessToken<T>(params: DeleteAccessTokenInput): Promise<T>;
    deleteDevEnvironment<T>(params: DeleteDevEnvironmentInput): Promise<T>;
    deleteProject<T>(params: DeleteProjectInput): Promise<T>;
    deleteSourceRepository<T>(params: DeleteSourceRepositoryInput): Promise<T>;
    deleteSpace<T>(params: DeleteSpaceInput): Promise<T>;
    getDevEnvironment<T>(params: GetDevEnvironmentInput): Promise<T>;
    getProject<T>(params: GetProjectInput): Promise<T>;
    getSourceRepository<T>(params: GetSourceRepositoryInput): Promise<T>;
    getSourceRepositoryCloneUrls<T>(params: GetSourceRepositoryCloneUrlsInput): Promise<T>;
    getSpace<T>(params: GetSpaceInput): Promise<T>;
    getSubscription<T>(params: GetSubscriptionInput): Promise<T>;
    getUserDetails<T>(params: GetUserDetailsInput): Promise<T>;
    getWorkflow<T>(params: GetWorkflowInput): Promise<T>;
    getWorkflowRun<T>(params: GetWorkflowRunInput): Promise<T>;
    listAccessTokens<T>(params: ListAccessTokensInput): Promise<T>;
    listDevEnvironments<T>(params: ListDevEnvironmentsInput): Promise<T>;
    listDevEnvironmentSessions<T>(params: ListDevEnvironmentSessionsInput): Promise<T>;
    listEventLogs<T>(params: ListEventLogsInput): Promise<T>;
    listProjects<T>(params: ListProjectsInput): Promise<T>;
    listSourceRepositories<T>(params: ListSourceRepositoriesInput): Promise<T>;
    listSourceRepositoryBranches<T>(params: ListSourceRepositoryBranchesInput): Promise<T>;
    listSpaces<T>(params: ListSpacesInput): Promise<T>;
    listWorkflowRuns<T>(params: ListWorkflowRunsInput): Promise<T>;
    listWorkflows<T>(params: ListWorkflowsInput): Promise<T>;
    startDevEnvironment<T>(params: StartDevEnvironmentInput): Promise<T>;
    startDevEnvironmentSession<T>(params: StartDevEnvironmentSessionInput): Promise<T>;
    startWorkflowRun<T>(params: StartWorkflowRunInput): Promise<T>;
    stopDevEnvironment<T>(params: StopDevEnvironmentInput): Promise<T>;
    stopDevEnvironmentSession<T>(params: StopDevEnvironmentSessionInput): Promise<T>;
    updateDevEnvironment<T>(params: UpdateDevEnvironmentInput): Promise<T>;
    updateProject<T>(params: UpdateProjectInput): Promise<T>;
    updateSpace<T>(params: UpdateSpaceInput): Promise<T>;
    verifySession<T>(): Promise<T>;
}
//# sourceMappingURL=CodeCatalyst.d.ts.map