import { Null, Enum, Option, Text } from '@polkadot/types';
import { Content as IContent } from '../interfaces';
import { IpfsCid } from '../..';
export declare class None extends Null {
}
export declare class Raw extends Text {
}
export declare class IPFS extends Text {
}
export declare class Hyper extends Text {
}
export declare type ContentEnum = None | Raw | IPFS | Hyper;
declare type ContentEnumValue = {
    None: None;
} | {
    Raw: Raw;
} | {
    IPFS: IPFS;
} | {
    Hyper: Hyper;
};
export declare class Content extends Enum implements IContent {
    constructor(value?: ContentEnumValue);
    get isNone(): boolean;
    get isRaw(): boolean;
    get isIpfs(): boolean;
    get isHyper(): boolean;
    get asHyper(): Hyper;
    get asRaw(): Raw;
    get asIpfs(): IPFS;
}
declare type IpfsContentValue = IpfsCid | null;
export declare class OptionContent extends Option<Content> {
    constructor(value: ContentEnumValue | Null);
}
export declare class OptionIpfsContent extends OptionContent {
    constructor(value?: IpfsContentValue);
}
export declare class IpfsContent extends Content {
    constructor(value?: IpfsContentValue);
}
export {};
