@expofp/floorplan
Version:
Interactive floor plan library for expos and events
45 lines • 1.68 kB
TypeScript
import { EventItem } from "./EventStore";
import RootStore from "./RootStore";
export declare class SpeakerItem {
readonly id: number;
readonly externalId: string;
readonly name: string;
readonly company: string;
readonly jobTitle: string;
readonly photoFile?: string | undefined;
readonly entity: {
readonly type: "speaker";
};
readonly slug: string;
bookmarked: boolean;
constructor(id: number, externalId: string, name: string, company: string, jobTitle: string, photoFile?: string | undefined, entity?: {
readonly type: "speaker";
});
get displayName(): string;
get fullTitle(): string;
get hasPhoto(): boolean;
get hasCompany(): boolean;
get hasJobTitle(): boolean;
}
export type Speaker = SpeakerItem;
export default class SpeakerStore {
private readonly rootStore;
readonly speakersMap: Map<number, SpeakerItem>;
selectedSpeaker: Speaker | null;
constructor(rootStore: RootStore);
get speakers(): Speaker[];
getSpeakerById(id: number): SpeakerItem | undefined;
getSpeakerBySlug(slug: string): SpeakerItem | undefined;
addSpeaker(speakerData: any): SpeakerItem;
get companies(): string[];
get jobTitles(): string[];
getSpeakersByCompany(company: string): Speaker[];
getSpeakersByJobTitle(jobTitle: string): Speaker[];
getEventsBySpeaker(speakerId: number): EventItem[];
findBySlug(slug: string): Speaker | undefined;
selectSpeaker(speaker: Speaker, focus?: boolean): void;
get bookmarked(): Speaker[];
replaceBookmarked(ids: number[]): void;
clearSelectedSpeaker(): void;
}
//# sourceMappingURL=SpeakerStore.d.ts.map