import { ITrackingData } from '../../../context';
export interface ConnectorFunctions {
    goToApps: () => void;
    redirectToAdmin: (id: string) => void;
    sendTrackingEvent: (event: string, data?: ITrackingData) => void;
}
export interface EmailBody {
    messageId: string;
    element: HTMLElement;
}
export type ObserverData = {
    element: HTMLElement;
    messageId?: string | null;
    legacyMessageId?: string | null;
};
export type SetButtonContainersFn = (containers: Record<string, ObserverData>) => void;
export type ObserveParams = {
    setComposeButtonContainers?: SetButtonContainersFn;
    setEmailButtonContainers?: SetButtonContainersFn;
    setSubjectButtonContainers?: SetButtonContainersFn;
};
export interface Observer {
    observe: (params: ObserveParams) => void;
    destroy: () => void;
}
export declare enum LogStatusEnum {
    NOT_LOGGED = "NOT_LOGGED",
    PENDING = "PENDING",
    LOGGED = "LOGGED",
    ERROR = "ERROR",
    UNAUTHENTICATED = "UNAUTHENTICATED",
    PAUSED = "PAUSED"
}
export type Entity = {
    app: string;
    entityType: string;
    displayValue: string;
    cardId?: string;
    formId?: string;
};
export type SelectedEntity = Pick<Entity, 'displayValue' | 'entityType'> & Partial<Entity>;
export type EntityGroup = {
    type: string;
    entities: (Entity | SelectedEntity)[];
};
export type SearchForm = {
    id: string;
    searchObject: string;
};
export type SearchEntity = {
    externalResourceId: string;
    name: string;
};
export type CheckedEntity = Entity & SearchEntity;
export type CheckedEntityRecords = Record<string, CheckedEntity>;
export type SearchResult = SearchEntity & SearchForm;
export declare enum ConnectorStatus {
    ENABLED = "enabled",
    UNAUTHENTICATED = "unauthenticated",
    DISABLED = "disabled"
}
export type LogSettings = {
    enabled: boolean;
    connectorId: string;
    connectorStatus: `${ConnectorStatus}`;
    logoUrl: string;
    connectorName: string;
};
export type MessageLogStatus = {
    logged: number;
    failed: number;
    total: number;
    pending: number;
};
export interface FeedbackData {
    feedback_type: string;
    comment?: string;
    positive_feedback?: boolean;
    option?: string;
}
//# sourceMappingURL=index.d.ts.map