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; export interface AWSAppSyncRealTimeProviderOptions { appSyncGraphqlEndpoint?: string; authenticationType?: ResolvedGraphQLAuthModes; query?: string; variables?: DocumentType; apiKey?: string; region?: string; libraryConfigHeaders?(): Promise | Headers>; additionalHeaders?: CustomHeaders; additionalCustomHeaders?: Record; authToken?: string; } interface DataObject extends Record { data: Record; } interface DataPayload { id: string; payload: DataObject; type: string; } export declare class AWSAppSyncRealTimeProvider extends AWSWebSocketProvider { constructor(); getProviderName(): string; subscribe(options?: AWSAppSyncRealTimeProviderOptions, customUserAgentDetails?: CustomUserAgentDetails): import("rxjs").Observable>; protected _prepareSubscriptionPayload({ options, subscriptionId, customUserAgentDetails, additionalCustomHeaders, libraryConfigHeaders, }: { options: AWSAppSyncRealTimeProviderOptions; subscriptionId: string; customUserAgentDetails: CustomUserAgentDetails | undefined; additionalCustomHeaders: Record; libraryConfigHeaders: Record; }): Promise; protected _handleSubscriptionData(message: MessageEvent): [boolean, DataPayload]; protected _unsubscribeMessage(subscriptionId: string): { id: string; type: string; }; protected _extractConnectionTimeout(data: Record): number; protected _extractErrorCodeAndType(data: any): { errorCode: number; errorType: string; }; } export {};