import { TagOpts, TagRefs, NestedTags } from 'riot';
import { default as RiotWrapperImpl } from './RiotWrapper';
import { default as WeakWrapperImpl } from './WeakWrapper';
import { WrapperExtensions } from '../../';
/** Definitions of extension methods for {@see extend} */
export interface Extension {
    [name: string]: Function;
}
/**
 * Extend exsisting wrapper APIs.
 *
 * **EXPERIMENTAL**
 */
export declare function extend(extension: Extension): void;
export interface RiotWrapper<TOpts extends TagOpts = TagOpts, TRefs extends TagRefs = TagRefs, TTags extends NestedTags = NestedTags> extends RiotWrapperImpl<TOpts, TRefs, TTags>, WrapperExtensions {
}
export interface WeakWrapper extends WeakWrapperImpl, WrapperExtensions {
}
