import { Observable } from 'rxjs/Observable';
import { Photo } from './interfaces';
import { IChannel } from './eventChannel';
import 'rxjs/add/operator/pluck';
import 'rxjs/add/operator/distinctUntilChanged';
export interface Photo {
    key: string;
    assetId: string;
    height: number;
    width: number;
    size: number;
    mimetype: string;
    originalAssetId?: string;
    originalAssetMetadata?: {
        height: number;
        width: number;
        size: number;
        mimetype: string;
    };
}
export declare class EventSource {
    private ds;
    private publicInfo$;
    private security$;
    private pagesVisibility$;
    private pagesConfig$;
    private faqPage$;
    private registryPage$;
    private observeRegistryHasItems$;
    private observeRegistryPageShouldDisplay$;
    private schedulePage$;
    private storyPage$;
    private travelPage$;
    private vipPage$;
    private eventAclRole$;
    private rsvpOverrides$;
    private moments$;
    private engagementMoments$;
    private moments;
    private engagementMoments;
    init(dataSource: any): void;
    getDatasource(): any;
    observePublicInfo(): Observable<any>;
    observeSecurity(): Observable<any>;
    observePagesVisibility(): Observable<any>;
    observePagesConfig(): Observable<any>;
    observeFaqPage(): Observable<any>;
    observeRegistryPage(): Observable<any>;
    observeRegistryHasItems(): Observable<any>;
    observeRegistryPageShouldDisplay(): Observable<any>;
    observeSchedulePage(): Observable<any>;
    observeStoryPage(): Observable<any>;
    observeEventAclRole(): Observable<any>;
    observeTravelPage(): Observable<any>;
    observeVipPage(): Observable<any>;
    rsvpOverrides(): Observable<any>;
    observeMoments(): Observable<any>;
    observeEngagementMoments(): Observable<any>;
    pluckPublicInfo(key: Array<string>): Observable<any>;
    pluckSecurity(key: Array<string>): Observable<any>;
    pluckData(data: Observable<any>, key: Array<string>): Observable<any>;
    observePrimaryPhoto(data: Observable<any>): Observable<Photo>;
    observePrimaryPhotoHorizontal(data: Observable<any>): Observable<Photo>;
    getMomentsChannel(): IChannel;
    getEngagementMomentsChannel(): IChannel;
}
