/*!
 * Copyright (C) Microsoft Corporation. All rights reserved.
 */
import type { Region } from '@microsoft/power-apps-common/services';
import type { IHttpClient } from './IHttpClient.js';
export interface IPlayerServicesConfig {
    logger: ILogger;
    httpClient: IHttpClient;
    region: Region;
    environmentName: string;
    featureGates: FeatureGates;
    apiVersions: Required<ApiVersions>;
}
export interface IPlayerServiceOptions {
    logger: ILogger;
    httpClient: IHttpClient;
    region: Region;
    environmentName: string;
    featureGates?: FeatureGates;
    apiVersions?: ApiVersions;
}
export type FeatureGates = {
    usePowerPlatformAPI?: boolean;
};
export type ApiVersions = {
    bapRp?: string;
    launchService?: string;
    launchOperations?: string;
    monitoringHubLogAppOpen?: string;
    monitoringHubLogAppNavigate?: string;
    monitoringHubLogDataRequests?: string;
    requestAccess?: string;
    permissions?: string;
    modifyPermissions?: string;
    evaluateEntitlements?: string;
    appExtendedMetadata?: string;
    getPreloadMetadata?: string;
    getPublishMetadata?: string;
    copilotStatus?: string;
    neptune?: string;
    environment?: string;
};
export interface ILogger {
    trackActivityEvent(eventName: string, eventData?: object): void;
    trackErrorEvent(eventName: string, eventData?: object): void;
    trackScenario(name: string, scenarioData?: object): Scenario;
    stringifyError(err: unknown): string | null | undefined;
}
export type Scenario = {
    scenarioId: string;
    complete: (completeData?: object) => void;
    failure: (failureData?: object) => void;
    completeWithError: (completeWithErrorData?: object) => void;
};
//# sourceMappingURL=PlayerServices.types.d.ts.map