import { Network } from '../types/network.interface';
import { AppDefinitionObject, AppGroup, AppLinks, AppAction, AppTag, PresentationConfig } from './app.interface';
export declare const appDefinition: <T extends AppDefinitionObject>(definition: T) => T;
declare class AppDefinitionToken {
    address: string;
    network: Network;
}
declare class AppSupportedNetwork {
    readonly network: Network;
    readonly actions: AppAction[];
}
export declare class AppDefinition {
    constructor(definitionRaw: AppDefinitionObject);
    readonly id: string;
    readonly name: string;
    readonly description: string;
    readonly url: string;
    readonly links: AppLinks;
    readonly keywords: string[];
    readonly tags: AppTag[];
    readonly groups?: Record<string, AppGroup>;
    readonly presentationConfig?: PresentationConfig;
    readonly supportedNetworks?: AppSupportedNetwork[];
    readonly token?: AppDefinitionToken;
}
export {};
