import { type Address, type BaseErrorType, type Compute, ConnectorAlreadyConnectedError, type ErrorType, type UserRejectedRequestError } from '@bigmi/core';
import type { Config } from '../factories/createConfig.js';
import type { Connector, CreateConnectorFn } from '../types/connector.js';
import type { ChainIdParameter } from './getConnectorClient.js';
export type ConnectParameters<config extends Config = Config, connector extends Connector | CreateConnectorFn = Connector | CreateConnectorFn, parameters extends unknown | undefined = (connector extends CreateConnectorFn ? Omit<NonNullable<Parameters<ReturnType<connector>['connect']>[0]>, 'isReconnecting'> : never) | (connector extends Connector ? Omit<NonNullable<Parameters<connector['connect']>[0]>, 'isReconnecting'> : never)> = Compute<ChainIdParameter<config> & {
    connector: connector | CreateConnectorFn;
}> & parameters;
export type ConnectReturnType<config extends Config = Config> = {
    accounts: readonly [Address, ...Address[]];
    chainId: config['chains'][number]['id'] | (number extends config['chains'][number]['id'] ? number : number & {});
};
export type ConnectErrorType = ConnectorAlreadyConnectedError | UserRejectedRequestError | BaseErrorType | ErrorType;
export declare function connect<config extends Config, connector extends Connector | CreateConnectorFn>(config: config, parameters: ConnectParameters<config, connector>): Promise<ConnectReturnType<config>>;
