import { PriceCompanyFeedAccessAttr } from '../../interfaces/price-company-feed-access-attr.interface';
import { NonSourceFeedName, PricingLogic } from '../../enum/feed.enum';
import { CompanyFeedAccessRepository } from './company-feed-access.repository';
export declare class CompanyFeedAccess implements PriceCompanyFeedAccessAttr {
    CompanyAccessId?: string;
    CompanyCode: string;
    FeedName: string;
    Status: string;
    PricingLogic: PricingLogic;
    CreatedById: number;
    CreatedAt?: Date;
    UpdatedById: number;
    UpdatedAt?: Date;
    protected static _Repo: CompanyFeedAccessRepository;
    constructor(accessAttr?: PriceCompanyFeedAccessAttr);
    static init(dbTransaction: any, CompanyAccessId?: string): Promise<CompanyFeedAccess>;
    save(dbTransaction: any): Promise<void>;
    static hasAccessToFeed(dbTransaction: any, feedName: NonSourceFeedName, companyCode: string): Promise<boolean>;
    static getAccessibleFeeds(dbTransaction: any, companyCode: string): Promise<NonSourceFeedName[]>;
    static validateFeedAccess(dbTransaction: any, feedName: NonSourceFeedName, companyCode: string): Promise<void>;
    static getCompaniesWithAccessToFeed(dbTransaction: any, feedName: NonSourceFeedName): Promise<string[]>;
    static getAllFeedAccessConfiguration(dbTransaction: any): Promise<Record<string, string[]>>;
    static getPricingLogic(dbTransaction: any, feedName: NonSourceFeedName, companyCode: string): Promise<PricingLogic>;
}
