import { IProjectRunnerOptions } from '../runtime/node/InteropInterfaces.js';
import { Kind as HttpProjectKind, HttpProject, IHttpProject } from '../models/HttpProject.js';
import Proxy, { IProxyResult } from './Proxy.js';
import { IProjectExecutionLog } from '../models/ProjectExecution.js';
interface ProxyInit {
    kind: typeof HttpProjectKind;
    /**
     * Runner options.
     */
    options: IProjectRunnerOptions;
    /**
     * A signal to be sent to the proxy bindings to abort the request on demand.
     */
    signal?: AbortSignal | null;
}
export interface IHttpProjectProxyInit extends ProxyInit {
    project: IHttpProject;
}
export interface IHttpProjectStoreProxyInit extends ProxyInit {
    kind: typeof HttpProjectKind;
    /**
     * Project key
     */
    pid: string;
    /**
     * The parent organization key.
     */
    organization: string;
}
/**
 * Runs requests from an HTTP project read from the store.
 */
export default class HttpProjectProxy extends Proxy {
    project?: HttpProject;
    options?: IProjectRunnerOptions;
    protected configureStore(init: IHttpProjectStoreProxyInit, token: string, baseUri: string): Promise<void>;
    protected configureProject(init: IHttpProjectProxyInit): Promise<void>;
    configure(init: IHttpProjectProxyInit | IHttpProjectStoreProxyInit, token?: string, baseUri?: string): Promise<void>;
    execute(): Promise<IProxyResult<IProjectExecutionLog>>;
}
export {};
//# sourceMappingURL=HttpProjectProxy.d.ts.map