'use client';

import { default as React } from 'react';
export interface InvitationData {
    id: string;
    token: string;
    email: string;
    organizationId: string;
    organizationName: string;
    organizationLogo?: string;
    roleId: string;
    roleName: string;
    invitedBy: string;
    invitedByName?: string;
    invitedByAvatar?: string;
    expiresAt: string;
    message?: string;
    customFields?: Record<string, any>;
    redirectUrl?: string;
}
export interface InviteAcceptanceProps {
    token?: string;
    onAcceptSuccess?: (result: {
        organizationId: string;
        userId: string;
    }) => void;
    onDeclineSuccess?: () => void;
    onError?: (error: Error) => void;
    className?: string;
    style?: React.CSSProperties;
}
export interface InvitePreviewProps {
    invitation: InvitationData;
    onAccept?: () => void;
    onDecline?: () => void;
    isLoading?: boolean;
    className?: string;
}
export interface InviteAcceptFormProps {
    invitation: InvitationData;
    onSubmit: (userData: {
        firstName?: string;
        lastName?: string;
        password?: string;
    }) => void;
    isLoading?: boolean;
    requiresSignUp?: boolean;
    className?: string;
}
export interface InviteStatusProps {
    status: 'validating' | 'valid' | 'accepted' | 'declined' | 'expired' | 'invalid' | 'error';
    invitation?: InvitationData;
    error?: string;
    className?: string;
}
export declare const InviteAcceptance: {
    (props: InviteAcceptanceProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export declare const InvitePreview: {
    (props: InvitePreviewProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export declare const InviteAcceptForm: {
    (props: InviteAcceptFormProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export declare const InviteStatus: {
    (props: InviteStatusProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export declare const InvitationComponents: {
    InviteAcceptance: {
        (props: InviteAcceptanceProps): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    InvitePreview: {
        (props: InvitePreviewProps): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    InviteAcceptForm: {
        (props: InviteAcceptFormProps): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    InviteStatus: {
        (props: InviteStatusProps): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
};
//# sourceMappingURL=invitations.d.ts.map