export declare const Kind = "Core#License";
export interface ILicense {
    kind: typeof Kind;
    /**
     * The URL to the license text.
     * Only `url` or `content` can be used at a time.
     */
    url?: string;
    /**
     * The name of the license.
     */
    name?: string;
    /**
     * The content of the license.
     * Only `url` or `content` can be used at a time.
     */
    content?: string;
}
export declare class License {
    kind: string;
    /**
     * The URL to the license text.
     * Only `url` or `content` can be used at a time.
     */
    url?: string;
    /**
     * The name of the license.
     */
    name?: string;
    /**
     * The content of the license.
     * Only `url` or `content` can be used at a time.
     */
    content?: string;
    static fromUrl(url: string, name?: string): License;
    static fromContent(content: string, name?: string): License;
    /**
     * @param input The license definition used to restore the state.
     */
    constructor(input?: string | ILicense);
    /**
     * Creates a new license clearing anything that is so far defined.
     *
     * Note, this throws an error when the license is not a license object.
     */
    new(init: ILicense): void;
    /**
     * Checks whether the input is a definition of a license.
     */
    static isLicense(input: unknown): boolean;
    toJSON(): ILicense;
}
//# sourceMappingURL=License.d.ts.map