import { RequestContext } from '../../../api/common/request-context';
import { ConfigService } from '../../../config/config.service';
import { ChannelService } from '../../services/channel.service';
import { CustomerService } from '../../services/customer.service';
/**
 * @description
 * Handles the assignment of a signed-in Customer to the active Channel.
 *
 * @docsCategory services
 */
export declare class CustomerChannelAssignmentService {
    private configService;
    private customerService;
    private channelService;
    constructor(configService: ConfigService, customerService: CustomerService, channelService: ChannelService);
    /**
     * @description
     * Assigns the active Customer to the active Channel where appropriate. Does not block the
     * request: a Customer the strategy declines to assign may still operate on the Channel for the
     * current session, just without a persisted membership.
     */
    tryAssignToActiveChannel(ctx: RequestContext): Promise<void>;
    private assignToActiveChannel;
}
