import { AxiosResponse } from 'axios'; import Archivable, { ArchivedUpdatedEvent } from './shared/archivable'; import Entity from './shared/entity'; import { Event } from './shared/eventstore-client/EventstoreClient'; import { Fields } from './shared/fields'; import { ServiceClientWithEventstore } from './shared/service-client/ServiceClientWithEventstore'; export interface MessageResponse { message: string; } export interface PresentationProperties { name: string; data: Fields; tags?: string[]; } export interface GetPresentationsResponse { presentations: Presentation[]; continuationToken?: string; } export interface GetPresentationsRequest { limit?: number; continuationToken?: string; allowArchived?: boolean; } export interface Presentation extends Entity, PresentationProperties, Archivable { } export declare type UpdatePresentation = Partial; export declare type CreatePresentation = PresentationProperties; export declare type PERMISSIONS = typeof DELETE | typeof GET_ALL | typeof CREATE | typeof UPDATE | typeof SET_ARCHIVED | typeof GET_EVENTS_ANY | typeof GET_EVENTS_CREATED | typeof GET_EVENTS_UPDATED | typeof GET_EVENTS_DELETED | typeof GET_EVENTS_ARCHIVED_UPDATED; export declare const CREATE = "PRESENTATION:CREATE"; export declare const DELETE = "PRESENTATION:DELETE"; export declare const UPDATE = "PRESENTATION:UPDATE"; export declare const GET_ALL = "PRESENTATION:GET_ALL"; export declare const SET_ARCHIVED = "PRESENTATION:SET_ARCHIVED"; export declare const GET_EVENTS_ANY = "PRESENTATION:GET_EVENTS:ANY"; export declare const GET_EVENTS_CREATED = "PRESENTATION:GET_EVENTS:CREATED"; export declare const GET_EVENTS_DELETED = "PRESENTATION:GET_EVENTS:DELETED"; export declare const GET_EVENTS_UPDATED = "PRESENTATION:GET_EVENTS:UPDATED"; export declare const GET_EVENTS_ARCHIVED_UPDATED = "PRESENTATION:GET_EVENTS:ARCHIVED_UPDATED"; export declare const PERMISSION_NAMES: { CREATE: string; DELETE: string; UPDATE: string; GET_ALL: string; SET_ARCHIVED: string; GET_EVENTS_ANY: string; GET_EVENTS_CREATED: string; GET_EVENTS_DELETED: string; GET_EVENTS_UPDATED: string; GET_EVENTS_ARCHIVED_UPDATED: string; }; export interface CreatedEvent extends Event { type: 'CREATED'; data: Presentation; } export interface UpdatedEvent extends Event { type: 'UPDATED'; data: UpdatePresentation; } export interface DeletedEvent extends Event { type: 'DELETED'; } export declare type PresentationEvents = CreatedEvent | DeletedEvent | UpdatedEvent | ArchivedUpdatedEvent; export declare class PresentationClient extends ServiceClientWithEventstore { get(id: string): Promise>; getAll(input?: GetPresentationsRequest): Promise>; create(createPresentation: CreatePresentation): Promise>; update(id: string, updatePresentation: UpdatePresentation): Promise>; delete(id: string): Promise>; setArchived(id: string, archived: boolean): Promise>; }