import { MatDialogRef } from '@angular/material/dialog';
import { BillingService } from '@vendasta/billing';
import { Frequency } from '@vendasta/galaxy/frequency';
import { ProductAnalyticsService } from '@vendasta/product-analytics';
import { BehaviorSubject, Observable } from 'rxjs';
import { DialogData } from './edition-selector.types';
import * as i0 from "@angular/core";
interface State {
    editions: Edition[];
    window: Window;
}
interface Edition {
    editionId: string;
    name: string;
    price: number;
    currency: string;
    frequency: Frequency;
}
interface Window {
    leftIndex: number;
    rightIndex: number;
}
export declare const windowSize = 4;
export declare class EditionSelectorComponent {
    private readonly dialogRef;
    private readonly billingService;
    readonly data: DialogData;
    private readonly snowplowService;
    state$: Observable<State>;
    window$$: BehaviorSubject<Window>;
    windowSize: number;
    constructor(dialogRef: MatDialogRef<EditionSelectorComponent>, billingService: BillingService, data: DialogData, snowplowService: ProductAnalyticsService);
    shiftCarousel(window: Window, direction: number): void;
    selectEdition(editionId: string): void;
    compareEditions(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EditionSelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EditionSelectorComponent, "ng-component", never, {}, {}, never, never>;
}
export {};
