import type { ReactElement } from 'react';
import { type CreateOrganisationRequest, type BusinessIdentifierType } from '@/services/api/adminApi';
export interface OrganisationFormData {
    name: string;
    legalName?: string;
    countryCode: string;
    businessIdentifierType: BusinessIdentifierType;
    businessIdentifier: string;
    vatNumber?: string;
    phone?: string;
    email?: string;
    website?: string;
    isFromRegistry: boolean;
    address: {
        street: string;
        street2?: string;
        postalCode: string;
        city: string;
        state?: string | null;
        country: string;
        countryCode: string;
    };
}
interface CreateOrganisationFormProps {
    /** Form data (controlled) */
    readonly data: OrganisationFormData;
    /** Callback when form data changes */
    readonly onChange: (data: OrganisationFormData) => void;
    /** Callback when tenant name should be updated (optional, for TenantCreatePage) */
    readonly onTenantNameSuggested?: (name: string) => void;
    /** Whether the form is in a compact modal layout */
    readonly compact?: boolean;
    /** Whether form submission was attempted (shows validation errors) */
    readonly submitted?: boolean;
    /** Additional class names */
    readonly className?: string;
}
/**
 * Shared form component for creating organisations.
 * Used by both TenantCreatePage and TenantDetailPage modal.
 */
export declare function CreateOrganisationForm({ data, onChange, onTenantNameSuggested, compact, submitted, className, }: CreateOrganisationFormProps): ReactElement;
export declare function createInitialOrganisationData(): OrganisationFormData;
export declare function toCreateOrganisationRequest(data: OrganisationFormData): CreateOrganisationRequest;
export {};
//# sourceMappingURL=CreateOrganisationForm.d.ts.map