import { DTOWorkspaceInvitation } from "@supernova-studio/client";
import { UserRole } from "../enums/SDKUserRole";
import { WorkspaceSeatType } from "../enums/SDKWorkspaceSeatType";
export type WorkspaceInvitationRemoteModel = DTOWorkspaceInvitation;
export type WorkspaceInvitationTransportModel = WorkspaceInvitationRemoteModel;
export type WorkspaceInvitationUpdateModel = {
    email: string;
    role: UserRole;
};
export declare class WorkspaceInvitation {
    /** Unique identifier of the invitation */
    id: string;
    /** Email address associated with the invitation */
    email: string;
    /** Date and time when the invitation was created */
    createdAt: Date;
    /** Date and time when the invitation was last resent, or null if never resent */
    resentAt: Date | null;
    /** Role assigned to the user being invited */
    role: UserRole;
    /**
     * Effective role of the user in the workspace, which can be different from the regular role
     * e.g., when the workspace is downgraded.
     */
    effectiveRole: UserRole;
    /** Seat assigned to the user being invited */
    seatType: WorkspaceSeatType;
    /**
     * Effective seat type of the invitation in the workspace, which can be different from the regular role,
     * e.g., when the workspace is downgraded.
     */
    effectiveSeatType: WorkspaceSeatType;
    /** ID of the workspace associated with the invitation */
    workspaceId: string;
    /** User who sent the invitation */
    invitedBy: string;
    constructor(model: WorkspaceInvitationRemoteModel);
    toRemote(): WorkspaceInvitationTransportModel;
    toTransport(): WorkspaceInvitationTransportModel;
    static fromTransport(model: WorkspaceInvitationTransportModel): WorkspaceInvitation;
}
