import type { ReactElement } from 'react';
export type ScopeValue = 'global' | {
    tenantId: string;
    tenantSlug: string;
    tenantUserId: string;
    tenantName: string;
};
interface TenantInfo {
    tenantId: string;
    tenantSlug: string;
    tenantName: string;
    tenantType?: string;
}
interface TenantMembership extends TenantInfo {
    tenantUserId: string;
}
interface TenantScopeSelectorProps {
    /** Current scope value */
    readonly value: ScopeValue;
    /** Callback when scope changes */
    readonly onChange: (scope: ScopeValue) => void;
    /** All tenants the admin has access to */
    readonly adminTenants: TenantInfo[];
    /** User's tenant memberships (with tenantUserId for API calls) - optional for backwards compat */
    readonly userTenantMemberships?: TenantMembership[];
    /** Whether the selector is disabled */
    readonly disabled?: boolean;
    /** Show warning when user is not member of selected tenant */
    readonly showNotMemberWarning?: boolean;
    /**
     * Horizontal anchor for the dropdown panel. Use 'right' when the trigger sits
     * near the right edge of its container to avoid pushing the viewport into
     * horizontal overflow. Defaults to 'left' for backwards compatibility.
     */
    readonly align?: 'left' | 'right';
}
/**
 * Selector component for choosing between Global scope (platform-wide)
 * and Tenant scope (tenant-specific roles/permissions).
 * Features: search, B2B/B2C filtering, membership indicators.
 */
export declare function TenantScopeSelector({ value, onChange, adminTenants, userTenantMemberships, disabled, showNotMemberWarning, align, }: TenantScopeSelectorProps): ReactElement | null;
export {};
//# sourceMappingURL=TenantScopeSelector.d.ts.map