import { Message } from "../../abstractions/message";
import { BaseData, IDomainEvent, User } from "../../utils/types";
export declare namespace plannerDomainEvent {
    class DeploymentCreated extends Message implements IDomainEvent {
        DeploymentId: string;
        CreatedAt: Date;
        StartedAt: Date;
        constructor(data: BaseData & {
            deploymentId: string;
        });
    }
    class ReleaseAttached extends Message implements IDomainEvent {
        ReleaseId: string;
        Name: string;
        CreatedAt: Date;
        StartedAt: Date;
        User: User;
        Service: string;
        constructor(data: BaseData & {
            releaseId: string;
            name: string;
            startedAt: Date;
            user: User;
            service: string;
        });
    }
    class DeploymentEnqueued extends Message implements IDomainEvent {
        DeploymentId: string;
        constructor(data: BaseData & {
            deploymentId: string;
        });
    }
    class DeploymentCanceled extends Message implements IDomainEvent {
        DeploymentId: string;
        Reason: string;
        constructor(data: BaseData & {
            deploymentId: string;
            reason: string;
        });
    }
    class DeploymentStarted extends Message implements IDomainEvent {
        DeploymentId: string;
        Releases: string[];
        ProviderId?: string;
        constructor(data: BaseData & {
            deploymentId: string;
            releases: string[];
            providerId?: string;
        });
    }
    class DeploymentDelivered extends Message implements IDomainEvent {
        DeploymentId: string;
        Releases: string[];
        constructor(data: BaseData & {
            deploymentId: string;
            releases: string[];
        });
    }
    class DeploymentFailed extends Message implements IDomainEvent {
        DeploymentId: string;
        Releases: string[];
        constructor(data: BaseData & {
            deploymentId: string;
            releases: string[];
        });
    }
    class PublishingRequested extends Message implements IDomainEvent {
        ReleaseId: string;
        constructor(data: BaseData & {
            releaseId: string;
        });
    }
    class PublishingStarted extends Message implements IDomainEvent {
        ReleaseId: string;
        constructor(data: BaseData & {
            releaseId: string;
        });
    }
    class ContentStatusUpdated extends Message implements IDomainEvent {
        ReleaseId: string;
        constructor(data: BaseData & {
            releaseId: string;
        });
    }
    class ReleaseBuilt extends Message implements IDomainEvent {
        ReleaseId: string;
        constructor(data: BaseData & {
            releaseId: string;
        });
    }
    class ReleaseFailed extends Message implements IDomainEvent {
        ReleaseId: string;
        Reason: string;
        constructor(data: BaseData & {
            releaseId: string;
            reason: string;
        });
    }
}
