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 {};
