import { CustomUserAgentDetails, DocumentType, GraphQLAuthMode } from '@aws-amplify/core/internals/utils'; import { CustomHeaders } from '@aws-amplify/data-schema/runtime'; import { AWSWebSocketProvider } from '../AWSWebSocketProvider'; type ResolvedGraphQLAuthModes = Exclude; interface AWSAppSyncEventProviderOptions { appSyncGraphqlEndpoint?: string; authenticationType?: ResolvedGraphQLAuthModes; query?: string; variables?: DocumentType; apiKey?: string; region?: string; libraryConfigHeaders?(): Promise | Headers>; additionalHeaders?: CustomHeaders; additionalCustomHeaders?: Record; authToken?: string; } interface DataResponse { id: string; payload: string; type: string; } export declare class AWSAppSyncEventProvider extends AWSWebSocketProvider { constructor(); getProviderName(): string; connect(options: AWSAppSyncEventProviderOptions): Promise; subscribe(options?: AWSAppSyncEventProviderOptions, customUserAgentDetails?: CustomUserAgentDetails): import("rxjs").Observable>; publish(options: AWSAppSyncEventProviderOptions, customUserAgentDetails?: CustomUserAgentDetails): Promise; closeIfNoActiveSubscription(): void; protected _prepareSubscriptionPayload({ options, subscriptionId, customUserAgentDetails, additionalCustomHeaders, libraryConfigHeaders, publish, }: { options: AWSAppSyncEventProviderOptions; subscriptionId: string; customUserAgentDetails: CustomUserAgentDetails | undefined; additionalCustomHeaders: Record; libraryConfigHeaders: Record; publish?: boolean; }): Promise; protected _handleSubscriptionData(message: MessageEvent): [boolean, DataResponse]; protected _unsubscribeMessage(subscriptionId: string): { id: string; type: string; }; protected _extractConnectionTimeout(data: Record): number; protected _extractErrorCodeAndType(data: Record): { errorCode: number; errorType: string; }; } export declare const AppSyncEventProvider: AWSAppSyncEventProvider; export {};