import type { BillingPeriod } from '../../../prisma/enums';
type OnboardingId = string;
export type CreateOrganizationOnboardingInput = {
    createdById: number;
    organizationId?: number | null;
    billingPeriod: BillingPeriod;
    pricePerSeat: number;
    seats: number;
    orgOwnerEmail: string;
    name: string;
    slug: string;
    logo?: string | null;
    bio?: string | null;
    stripeCustomerId?: string;
    stripeSubscriptionId?: string;
    stripeSubscriptionItemId?: string;
    invitedMembers?: {
        email: string;
        name?: string;
    }[];
    teams?: {
        id: number;
        name: string;
        isBeingMigrated: boolean;
        slug: string | null;
    }[];
    error?: string | null;
    isDomainConfigured?: boolean;
    isComplete?: boolean;
};
export declare class OrganizationOnboardingRepository {
    static create(data: CreateOrganizationOnboardingInput): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    }>;
    static findByStripeCustomerId(stripeCustomerId: string): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    } | null>;
    static findById(id: OnboardingId): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    } | null>;
    static findByOrgOwnerEmail(email: string): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    } | null>;
    static markAsComplete(id: OnboardingId): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    }>;
    static update(id: OnboardingId, data: Partial<CreateOrganizationOnboardingInput>): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    }>;
    static findByOrganizationId(organizationId: number): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    } | null>;
    static findAllBySlug(slug: string): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    }[]>;
    static delete(id: OnboardingId): Promise<{
        error: string | null;
        name: string;
        id: string;
        seats: number;
        teams: import('../../../prisma-client').Prisma.JsonValue;
        logo: string | null;
        bio: string | null;
        slug: string;
        organizationId: number | null;
        stripeCustomerId: string | null;
        billingPeriod: import('../../../prisma-client').$Enums.BillingPeriod;
        createdAt: Date;
        updatedAt: Date;
        isPlatform: boolean;
        createdById: number;
        orgOwnerEmail: string;
        pricePerSeat: number;
        isDomainConfigured: boolean;
        stripeSubscriptionId: string | null;
        stripeSubscriptionItemId: string | null;
        invitedMembers: import('../../../prisma-client').Prisma.JsonValue;
        isComplete: boolean;
    }>;
}
export {};
//# sourceMappingURL=organizationOnboarding.d.ts.map