import { Principal } from "@icp-sdk/core/principal";
import type { NnsGovernanceDid } from "../../../declarations";
import type { AccountIdentifier as AccountIdentifierClass, AccountIdentifierHex } from "../../../ledger/icp";
import type { NeuronVisibility, Vote } from "../../enums/governance.enums";
import type { E8s, NeuronId } from "../../types/common";
import type { Account, ClaimOrRefreshNeuronRequest, DisburseToNeuronRequest, FollowRequest, FolloweesForTopic, ListProposalsRequest, MakeProposalRequest, ManageNeuronRequest, ProposalId } from "../../types/governance_converters";
export declare const fromAccountIdentifier: (accountIdentifier: AccountIdentifierHex) => NnsGovernanceDid.AccountIdentifier;
export declare const fromListNeurons: ({ neuronIds, includeEmptyNeurons, includePublicNeurons, neuronSubaccounts, pageNumber, pageSize, }: {
    neuronIds?: NeuronId[];
    includeEmptyNeurons?: boolean;
    includePublicNeurons?: boolean;
    neuronSubaccounts?: NnsGovernanceDid.NeuronSubaccount[];
    pageNumber?: bigint;
    pageSize?: bigint;
}) => NnsGovernanceDid.ListNeurons;
export declare const fromManageNeuron: ({ id, command, neuronIdOrSubaccount, }: ManageNeuronRequest) => NnsGovernanceDid.ManageNeuronRequest;
export declare const fromListProposalsRequest: ({ includeRewardStatus, beforeProposal, excludeTopic, includeStatus, limit, includeAllManageNeuronProposals, omitLargeFields, returnSelfDescribingAction, }: ListProposalsRequest) => NnsGovernanceDid.ListProposalInfoRequest;
export declare const fromClaimOrRefreshNeuronRequest: (request: ClaimOrRefreshNeuronRequest) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toClaimOrRefreshRequest: ({ memo, controller, }: {
    memo: bigint;
    controller?: Principal;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toSplitRawRequest: ({ neuronId, amount, memo, }: {
    neuronId: NeuronId;
    amount: E8s;
    memo?: bigint;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const fromDisburseToNeuronRequest: (request: DisburseToNeuronRequest) => NnsGovernanceDid.ManageNeuronRequest;
export declare const fromMakeProposalRequest: (request: MakeProposalRequest) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toRegisterVoteRequest: ({ neuronId, vote, proposalId, }: {
    neuronId: NeuronId;
    vote: Vote;
    proposalId: ProposalId;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toMakeProposalRawRequest: (request: MakeProposalRequest) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toManageNeuronsFollowRequest: ({ neuronId, topic, followees, }: FollowRequest) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toDisburseNeuronRequest: ({ neuronId, toAccountIdentifier, amount, }: {
    neuronId: NeuronId;
    toAccountIdentifier?: AccountIdentifierClass;
    amount?: E8s;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toDisburseMaturityRequest: ({ neuronId, percentageToDisburse, toAccountIdentifier, toAccount, }: {
    neuronId: NeuronId;
    percentageToDisburse: number;
    toAccountIdentifier?: AccountIdentifierHex;
    toAccount?: Account;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toSetFollowingRequest: ({ neuronId, topicFollowing, }: {
    neuronId: NeuronId;
    topicFollowing: Array<FolloweesForTopic>;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toRefreshVotingPowerRequest: ({ neuronId, }: {
    neuronId: NeuronId;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toMergeMaturityRequest: ({ neuronId, percentageToMerge, }: {
    neuronId: NeuronId;
    percentageToMerge: number;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toStakeMaturityRequest: ({ neuronId, percentageToStake, }: {
    neuronId: NeuronId;
    percentageToStake?: number;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toSpawnNeuronRequest: ({ neuronId, percentageToSpawn, newController, nonce, }: {
    neuronId: NeuronId;
    percentageToSpawn?: number;
    newController?: Principal;
    nonce?: bigint;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toAddHotkeyRequest: ({ neuronId, principal, }: {
    neuronId: NeuronId;
    principal: Principal;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toRemoveHotkeyRequest: ({ neuronId, principal, }: {
    neuronId: NeuronId;
    principal: Principal;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toIncreaseDissolveDelayRequest: ({ neuronId, additionalDissolveDelaySeconds, }: {
    neuronId: NeuronId;
    additionalDissolveDelaySeconds: number;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toSetDissolveDelayRequest: ({ neuronId, dissolveDelaySeconds, }: {
    neuronId: NeuronId;
    dissolveDelaySeconds: number;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toJoinCommunityFundRequest: (neuronId: NeuronId) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toAutoStakeMaturityRequest: ({ neuronId, autoStake, }: {
    neuronId: NeuronId;
    autoStake: boolean;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toLeaveCommunityFundRequest: (neuronId: NeuronId) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toSetVisibilityRequest: ({ neuronId, visibility, }: {
    neuronId: NeuronId;
    visibility: NeuronVisibility;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toMergeRequest: ({ sourceNeuronId, targetNeuronId, }: {
    sourceNeuronId: NeuronId;
    targetNeuronId: NeuronId;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toStartDissolvingRequest: (neuronId: NeuronId) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toStopDissolvingRequest: (neuronId: NeuronId) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toCommand: ({ neuronId, command, }: {
    neuronId: NeuronId;
    command: NnsGovernanceDid.ManageNeuronCommandRequest;
}) => NnsGovernanceDid.ManageNeuronRequest;
export declare const toConfigureOperation: ({ neuronId, operation, }: {
    neuronId: NeuronId;
    operation: NnsGovernanceDid.Operation;
}) => NnsGovernanceDid.ManageNeuronRequest;
