///
import { EventEmitter } from 'events';
import { API } from '@makeflow/types';
import { Events, PowerGlanceEventParams, PowerItemEventParams } from './events';
export interface IServeAdapter extends ServeAdapter {
}
export interface ServeOptions {
host?: string;
path?: string;
port?: number;
}
declare abstract class ServeAdapter extends EventEmitter {
readonly sourceToken?: string | undefined;
readonly options: ServeOptions;
constructor(sourceToken?: string | undefined, options?: ServeOptions);
abstract serve(): void;
abstract middleware(): any;
on(type: TEvent['type'], listener: (event: TEvent['eventObject'], response: TEvent['response']) => void): this;
emit(type: TEvent['type'], event: TEvent['eventObject'], response: TEvent['response']): boolean;
authenticate(source: API.PowerApp.Source | undefined): boolean;
}
export declare function isPowerItemOrPowerNodeEventParams(params: any): params is PowerItemEventParams;
export declare function isPowerGlanceEventParams(params: any): params is PowerGlanceEventParams;
export declare const AbstractServeAdapter: typeof ServeAdapter;
export {};