import { Org } from '@salesforce/core';
import { Result } from 'neverthrow';
import ScratchOrg from '../ScratchOrg';
import { PoolConfig } from './PoolConfig';
import { PoolError } from './PoolError';
export declare abstract class PoolBaseImpl {
    protected hubOrg: Org;
    constructor(hubOrg: Org);
    execute(): Promise<ScratchOrg | ScratchOrg[] | Result<PoolConfig, PoolError> | void>;
    protected abstract onExec(): Promise<ScratchOrg | ScratchOrg[] | Result<PoolConfig, PoolError> | void>;
}
