import { HexString } from '@polkadot/util/types';
import { GearCoreProgramActiveProgram, IGearPages, PausedProgramBlockAndHash } from '../types';
import { GearApi } from '../GearApi';
export declare class GearProgramStorage {
    protected _api: GearApi;
    constructor(_api: GearApi);
    /**
     * ### Get program from chain
     * @param id Program id
     * @param at _(optional)_ Hash of block to query at
     * @returns
     */
    getProgram(id: HexString, at?: HexString): Promise<GearCoreProgramActiveProgram>;
    /**
     * Get list of pages for program
     * @param programId
     * @param gProg
     * @returns
     */
    getProgramPages(programId: HexString, program: GearCoreProgramActiveProgram, at?: HexString): Promise<IGearPages>;
    /**
     * ### Get block number and hash of paused program
     * @param id paused program id
     * @param at _(optional)_ Hash of block to query at
     * @returns
     */
    getPausedProgramHashAndBlockNumber(id: HexString, at?: HexString): Promise<PausedProgramBlockAndHash>;
}
