import type { IcrcAnyRequestedScopes, IcrcCallCanisterRequestParams } from '../types/icrc-requests';
import type { Origin } from '../types/post-message';
import { type RpcId } from '../types/rpc';
import { type ReadyOrError } from '../utils/timeout.utils';
interface Request {
    id: RpcId;
    popup: Window;
    origin: Origin;
}
export declare const retryRequestStatus: ({ popup, id, isReady, timeoutInMilliseconds, intervalInMilliseconds }: Omit<Request, 'origin'> & {
    isReady: () => ReadyOrError | 'pending';
    timeoutInMilliseconds: number;
    intervalInMilliseconds?: number;
}) => Promise<ReadyOrError | 'timeout'>;
export declare const requestStatus: ({ id, ...rest }: Request) => void;
export declare const requestSupportedStandards: ({ id, ...rest }: Request) => void;
export declare const permissions: ({ id, ...rest }: Request) => void;
export declare const requestPermissions: ({ id, params, ...rest }: Request & {
    params: IcrcAnyRequestedScopes;
}) => void;
export declare const requestAccounts: ({ id, ...rest }: Request) => void;
export declare const requestCallCanister: ({ id, params, ...rest }: Request & {
    params: IcrcCallCanisterRequestParams;
}) => void;
export {};
