import { ChainSpec } from "./types";
import { HrmpChannelsConfig, Node, Parachain } from "./sharedTypes";
import { ComputedNetwork } from "./configTypes";
export type KeyType = "session" | "aura" | "grandpa";
export type GenesisNodeKey = [string, string, {
    [key: string]: string;
}];
export declare function specHaveSessionsKeys(chainSpec: ChainSpec): boolean;
export declare function clearAuthorities(specPath: string): void;
export declare function addBalances(specPath: string, nodes: Node[]): Promise<void>;
export declare function getNodeKey(node: Node, useStash?: boolean): GenesisNodeKey;
export declare function addAuthority(specPath: string, node: Node, key: GenesisNodeKey): Promise<void>;
export declare function addStaking(specPath: string, node: Node): Promise<void>;
export declare function addCollatorSelection(specPath: string, node: Node): Promise<void>;
export declare function addParaCustom(): Promise<void>;
export declare function addAuraAuthority(specPath: string, name: string, accounts: any): Promise<void>;
export declare function addGrandpaAuthority(specPath: string, name: string, accounts: any): Promise<void>;
export declare function generateNominators(specPath: string, randomNominatorsCount: number, maxNominations: number, validators: string[]): Promise<void>;
export declare function addParachainToGenesis(specPath: string, para_id: string, head: string, wasm: string, parachain?: boolean): Promise<void>;
export declare function changeGenesisConfig(specPath: string, updates: any): Promise<void>;
export declare function addBootNodes(specPath: string, addresses: string[]): Promise<void>;
export declare function addHrmpChannelsToGenesis(specPath: string, hrmp_channels: HrmpChannelsConfig[]): Promise<void>;
export declare function getRuntimeConfig(chainSpec: any): any;
export declare function readAndParseChainSpec(specPath: string): any;
export declare function writeChainSpec(specPath: string, chainSpec: any): void;
export declare function isRawSpec(specPath: string): Promise<boolean>;
export declare function getChainIdFromSpec(specPath: string): Promise<string>;
export declare function customizePlainRelayChain(specPath: string, networkSpec: ComputedNetwork): Promise<void>;
export declare function customizeParachainRawSpec(specPath: string, parachain: Parachain): void;
declare const _default: {
    addAuraAuthority: typeof addAuraAuthority;
    addAuthority: typeof addAuthority;
    changeGenesisConfig: typeof changeGenesisConfig;
    clearAuthorities: typeof clearAuthorities;
    readAndParseChainSpec: typeof readAndParseChainSpec;
    specHaveSessionsKeys: typeof specHaveSessionsKeys;
    writeChainSpec: typeof writeChainSpec;
    getNodeKey: typeof getNodeKey;
    addParaCustom: typeof addParaCustom;
    addCollatorSelection: typeof addCollatorSelection;
    isRawSpec: typeof isRawSpec;
    getChainIdFromSpec: typeof getChainIdFromSpec;
    customizePlainRelayChain: typeof customizePlainRelayChain;
    customizeParachainRawSpec: typeof customizeParachainRawSpec;
};
export default _default;
