import { Relayer, StarshipConfig } from '@starship-ci/types';
import { Container, EnvVar, Volume, VolumeMount } from 'kubernetesjs';
import { IGenerator, Manifest } from '../../types';
/**
 * Base class for relayer builders with common functionality
 */
export declare class BaseRelayerBuilder implements IGenerator {
    protected config: StarshipConfig;
    protected relayer: Relayer;
    protected generators: IGenerator[];
    constructor(relayer: Relayer, config: StarshipConfig);
    /**
     * Generate all manifests for the relayer by running sub-generators
     */
    generate(): Manifest[];
    /**
     * Generate common metadata for relayer resources
     */
    protected getCommonMetadata(resourceType: string): any;
    /**
     * Get chain configuration by ID
     */
    protected getChainConfig(chainId: string): import("@starship-ci/types").Chain;
    /**
     * Get chain hostname
     */
    protected getChainHostname(chainId: string): string;
    /**
     * Get image for relayer (custom or default)
     */
    protected getImage(): string;
    /**
     * Generate common volumes for relayers
     */
    protected generateVolumes(): Volume[];
    /**
     * Generate common environment variables
     */
    protected generateCommonEnv(): EnvVar[];
    /**
     * Generate wait init containers for all chains
     */
    protected generateWaitInitContainers(): Container[];
    /**
     * Generate common volume mounts
     */
    protected generateCommonVolumeMounts(): VolumeMount[];
}
