import { Address } from 'gill';
import { NosanaClient } from '../index.js';
export type staticAccounts = {
    rewardsReflection: Address;
    rewardsVault: Address;
    rewardsProgram: Address;
    jobsProgram: Address;
};
export declare abstract class BaseProgram {
    private _staticAccounts;
    private _initializingAccounts;
    /**
     * Gets the static accounts, initializing them if needed.
     */
    protected getStaticAccounts(): Promise<staticAccounts>;
    private initializeStaticAccounts;
    protected readonly sdk: NosanaClient;
    constructor(sdk: NosanaClient);
    protected abstract getProgramId(): Address;
}
