import { TransactionResult } from '@lidofinance/lido-ethereum-sdk';
import { CsmSDKModule } from '../common/class-primitives/csm-sdk-module.js';
import { WithToken } from '../common/index.js';
import { SpendingSDK } from '../spending-sdk/spending-sdk.js';
import { AddKeysProps, EjectKeysByArrayProps, EjectKeysProps, MigrateKeysProps, NormalizeQueueProps, RemoveKeysProps } from './types.js';
export declare class KeysSDK extends CsmSDKModule<{
    spending: SpendingSDK;
}> {
    private get moduleContract();
    private get ejectorContract();
    addKeysETH(props: AddKeysProps): Promise<TransactionResult>;
    addKeysStETH(props: AddKeysProps): Promise<TransactionResult>;
    addKeysWstETH(props: AddKeysProps): Promise<TransactionResult>;
    addKeys(props: WithToken<AddKeysProps>): Promise<TransactionResult>;
    private parseProps;
    private getPermit;
    removeKeys(props: RemoveKeysProps): Promise<TransactionResult>;
    ejectKeys(props: EjectKeysProps): Promise<TransactionResult>;
    ejectKeysByArray(props: EjectKeysByArrayProps): Promise<TransactionResult>;
    getEjectFeePerKey(): Promise<bigint>;
    migrateToPriorityQueue(props: MigrateKeysProps): Promise<TransactionResult>;
    normalizeQueue(props: NormalizeQueueProps): Promise<TransactionResult>;
}
//# sourceMappingURL=keys-sdk.d.ts.map