import * as T from '../types';
import { AddressReceipt } from './AddressReceipt';
declare const UpdateServiceInterfacesProof: unique symbol;
export type UpdateServiceInterfacesReceipt = {
    [UpdateServiceInterfacesProof]: never;
};
export type ServiceInterfacesReceipt = Array<T.AddressInfo[] & AddressReceipt>;
export type SetServiceInterfaces<Output extends ServiceInterfacesReceipt> = (opts: {
    effects: T.Effects;
}) => Promise<Output>;
export type UpdateServiceInterfaces = (effects: T.Effects) => Promise<null>;
export type SetupServiceInterfaces = <Output extends ServiceInterfacesReceipt>(fn: SetServiceInterfaces<Output>) => UpdateServiceInterfaces;
export declare const NO_INTERFACE_CHANGES: UpdateServiceInterfacesReceipt;
export declare const setupServiceInterfaces: SetupServiceInterfaces;
export {};
