import { type ReactNode } from 'react';
export interface LicenseInfo {
    productId: string;
    companyId: string;
    edition: string;
    status: string;
    activatedAt: string | null;
    expiresAt: string;
    daysUntilExpiration: number;
    isValid: boolean;
    isInTrial: boolean;
    trialDaysRemaining: number;
    isReadOnlyMode: boolean;
    enabledFeatures: string[];
    limits: LicenseLimits;
}
export interface LicenseLimits {
    users: number;
    storageGb: number;
    apiCallsPerDay: number;
    custom: Record<string, number>;
}
export interface LicenseActivationResult {
    success: boolean;
    errorMessage?: string;
    license?: LicenseInfo;
}
interface LicenseContextType {
    license: LicenseInfo | null;
    isLoading: boolean;
    error: string | null;
    isFeatureEnabled: (feature: string) => boolean;
    isReadOnlyMode: boolean;
    refreshLicense: () => Promise<void>;
    activateLicense: (key: string) => Promise<{
        success: boolean;
        error?: string;
    }>;
}
export declare function LicenseProvider({ children }: {
    children: ReactNode;
}): import("react/jsx-runtime").JSX.Element;
export declare function useLicense(): LicenseContextType;
export {};
//# sourceMappingURL=LicenseContext.d.ts.map