import React from 'react';
import { type CreateOrganisationRequest, type BusinessIdentifierType, type OrganisationListItemDto } from '@/services/api/adminApi';
interface UseTenantCreateFormProps {
    readonly organisationIdFromUrl: string | null;
    readonly onOrganisationLoaded?: (org: OrganisationListItemDto) => void;
}
export interface UseTenantCreateFormReturn {
    selectedOrganisation: OrganisationListItemDto | null;
    setSelectedOrganisation: React.Dispatch<React.SetStateAction<OrganisationListItemDto | null>>;
    availableOrganisations: OrganisationListItemDto[];
    orgSearchQuery: string;
    setOrgSearchQuery: React.Dispatch<React.SetStateAction<string>>;
    orgSearchLoading: boolean;
    lookupLoading: boolean;
    lookupError: string | null;
    lookupSuccess: boolean;
    isFromRegistry: boolean;
    handleLookup: () => Promise<void>;
    orgName: string;
    setOrgName: React.Dispatch<React.SetStateAction<string>>;
    orgLegalName: string;
    setOrgLegalName: React.Dispatch<React.SetStateAction<string>>;
    orgCountryCode: string;
    setOrgCountryCode: React.Dispatch<React.SetStateAction<string>>;
    orgBusinessIdType: BusinessIdentifierType;
    setOrgBusinessIdType: React.Dispatch<React.SetStateAction<BusinessIdentifierType>>;
    orgBusinessId: string;
    handleBusinessIdChange: (value: string) => void;
    orgVatNumber: string;
    setOrgVatNumber: React.Dispatch<React.SetStateAction<string>>;
    orgPhone: string;
    setOrgPhone: React.Dispatch<React.SetStateAction<string>>;
    orgEmail: string;
    setOrgEmail: React.Dispatch<React.SetStateAction<string>>;
    orgWebsite: string;
    setOrgWebsite: React.Dispatch<React.SetStateAction<string>>;
    addrStreet: string;
    setAddrStreet: React.Dispatch<React.SetStateAction<string>>;
    addrStreet2: string;
    setAddrStreet2: React.Dispatch<React.SetStateAction<string>>;
    addrPostalCode: string;
    setAddrPostalCode: React.Dispatch<React.SetStateAction<string>>;
    addrCity: string;
    setAddrCity: React.Dispatch<React.SetStateAction<string>>;
    addrState: string;
    setAddrState: React.Dispatch<React.SetStateAction<string>>;
    addrCountry: string;
    setAddrCountry: React.Dispatch<React.SetStateAction<string>>;
    addrCountryCode: string;
    setAddrCountryCode: React.Dispatch<React.SetStateAction<string>>;
    tenantName: string;
    handleNameChange: (value: string) => void;
    slug: string;
    setSlug: React.Dispatch<React.SetStateAction<string>>;
    generateSlug: (value: string) => string;
    buildOrganisationRequest: () => CreateOrganisationRequest;
}
export declare function useTenantCreateForm({ organisationIdFromUrl }: UseTenantCreateFormProps): UseTenantCreateFormReturn;
export {};
//# sourceMappingURL=useTenantCreateForm.d.ts.map