import { ClubsPluginCategory } from '@devprotocol/clubs-core';
import { type UndefinedOr } from '@devprotocol/util-ts';
import { type Option, type TokenURIWithId, type PostPrimitives, type Posts, type PostOption, type CommentPrimitives, type Comment, type OptionsDatabase, type Reactions, SlotName, Event } from './types';
export type { Option, TokenURIWithId, PostPrimitives, Posts, PostOption, CommentPrimitives, Comment, OptionsDatabase, Reactions, };
export { SlotName, Event };
export declare const getPagePaths: (options: readonly Readonly<{
    readonly key: string;
    readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
}>[], { propertyAddress, adminRolePoints }: Readonly<{
    readonly name: string;
    readonly adminPageVisibility?: boolean | undefined;
    readonly twitterHandle: string;
    readonly description: string;
    readonly url: string;
    readonly propertyAddress: string;
    readonly adminRolePoints: number;
    readonly chainId: number;
    readonly rpcUrl: string;
    readonly options?: import("@devprotocol/clubs-core").ClubsPluginOptions | undefined;
    readonly plugins: readonly Readonly<{
        readonly id: string;
        readonly name?: string | undefined;
        readonly enable?: boolean | undefined;
        readonly options: import("@devprotocol/clubs-core").ClubsPluginOptions;
    }>[];
}>, { getPluginConfigById }: import("@devprotocol/clubs-core").ClubsFactoryUtils) => Promise<{
    paths: string[];
    component: any;
    props: {
        options: readonly Readonly<{
            readonly key: string;
            readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
        }>[];
        feedId: string;
        propertyAddress: string;
        memberships: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
        adminRolePoints: number;
        emojiAllowList: UndefinedOr<readonly string[]>;
    };
}[]>;
export declare const getAdminPaths: (options: readonly Readonly<{
    readonly key: string;
    readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
}>[], config: Readonly<{
    readonly name: string;
    readonly adminPageVisibility?: boolean | undefined;
    readonly twitterHandle: string;
    readonly description: string;
    readonly url: string;
    readonly propertyAddress: string;
    readonly adminRolePoints: number;
    readonly chainId: number;
    readonly rpcUrl: string;
    readonly options?: import("@devprotocol/clubs-core").ClubsPluginOptions | undefined;
    readonly plugins: readonly Readonly<{
        readonly id: string;
        readonly name?: string | undefined;
        readonly enable?: boolean | undefined;
        readonly options: import("@devprotocol/clubs-core").ClubsPluginOptions;
    }>[];
}>) => Promise<({
    paths: string[];
    component: any;
    props: {
        feeds: readonly OptionsDatabase[];
        url: string;
        edit: OptionsDatabase;
    };
} | {
    paths: string[];
    component: any;
    props: {
        options: readonly Readonly<{
            readonly key: string;
            readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
        }>[];
        feeds?: undefined;
        url?: undefined;
    };
} | {
    paths: string[];
    component: any;
    props: {
        feeds: readonly OptionsDatabase[];
        url: string;
        options?: undefined;
    };
})[]>;
export declare const meta: {
    id: string;
    displayName: string;
    description: string;
    category: ClubsPluginCategory;
    previewImages: string[];
    readme: any;
    icon: string;
};
export declare const getApiPaths: (options: readonly Readonly<{
    readonly key: string;
    readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
}>[], config: Readonly<{
    readonly name: string;
    readonly adminPageVisibility?: boolean | undefined;
    readonly twitterHandle: string;
    readonly description: string;
    readonly url: string;
    readonly propertyAddress: string;
    readonly adminRolePoints: number;
    readonly chainId: number;
    readonly rpcUrl: string;
    readonly options?: import("@devprotocol/clubs-core").ClubsPluginOptions | undefined;
    readonly plugins: readonly Readonly<{
        readonly id: string;
        readonly name?: string | undefined;
        readonly enable?: boolean | undefined;
        readonly options: import("@devprotocol/clubs-core").ClubsPluginOptions;
    }>[];
}>) => Promise<({
    paths: string[];
    method: "POST";
    handler: ({ request }: {
        readonly request: Request;
    }) => Promise<Response>;
} | {
    paths: (string | RegExp)[];
    method: "GET";
    handler: import("astro").APIRoute;
})[]>;
export declare const getSlots: (options: readonly Readonly<{
    readonly key: string;
    readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
}>[], __: Readonly<{
    readonly name: string;
    readonly adminPageVisibility?: boolean | undefined;
    readonly twitterHandle: string;
    readonly description: string;
    readonly url: string;
    readonly propertyAddress: string;
    readonly adminRolePoints: number;
    readonly chainId: number;
    readonly rpcUrl: string;
    readonly options?: import("@devprotocol/clubs-core").ClubsPluginOptions | undefined;
    readonly plugins: readonly Readonly<{
        readonly id: string;
        readonly name?: string | undefined;
        readonly enable?: boolean | undefined;
        readonly options: import("@devprotocol/clubs-core").ClubsPluginOptions;
    }>[];
}>, { paths, factory }: import("@devprotocol/clubs-core").ClubsSlotsFactoryUtils) => Promise<{
    slot: string;
    component: any;
    props: {
        navigation: {
            display: string;
            path: string;
        };
    };
}[] | {
    slot: string;
    component: any;
    props: {
        createNavigation: {
            label: string;
            link: {
                display: string;
                path: string;
            };
        };
    };
}[]>;
declare const _default: {
    getPagePaths: (options: readonly Readonly<{
        readonly key: string;
        readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
    }>[], { propertyAddress, adminRolePoints }: Readonly<{
        readonly name: string;
        readonly adminPageVisibility?: boolean | undefined;
        readonly twitterHandle: string;
        readonly description: string;
        readonly url: string;
        readonly propertyAddress: string;
        readonly adminRolePoints: number;
        readonly chainId: number;
        readonly rpcUrl: string;
        readonly options?: import("@devprotocol/clubs-core").ClubsPluginOptions | undefined;
        readonly plugins: readonly Readonly<{
            readonly id: string;
            readonly name?: string | undefined;
            readonly enable?: boolean | undefined;
            readonly options: import("@devprotocol/clubs-core").ClubsPluginOptions;
        }>[];
    }>, { getPluginConfigById }: import("@devprotocol/clubs-core").ClubsFactoryUtils) => Promise<{
        paths: string[];
        component: any;
        props: {
            options: readonly Readonly<{
                readonly key: string;
                readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
            }>[];
            feedId: string;
            propertyAddress: string;
            memberships: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
            adminRolePoints: number;
            emojiAllowList: UndefinedOr<readonly string[]>;
        };
    }[]>;
    getAdminPaths: (options: readonly Readonly<{
        readonly key: string;
        readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
    }>[], config: Readonly<{
        readonly name: string;
        readonly adminPageVisibility?: boolean | undefined;
        readonly twitterHandle: string;
        readonly description: string;
        readonly url: string;
        readonly propertyAddress: string;
        readonly adminRolePoints: number;
        readonly chainId: number;
        readonly rpcUrl: string;
        readonly options?: import("@devprotocol/clubs-core").ClubsPluginOptions | undefined;
        readonly plugins: readonly Readonly<{
            readonly id: string;
            readonly name?: string | undefined;
            readonly enable?: boolean | undefined;
            readonly options: import("@devprotocol/clubs-core").ClubsPluginOptions;
        }>[];
    }>) => Promise<({
        paths: string[];
        component: any;
        props: {
            feeds: readonly OptionsDatabase[];
            url: string;
            edit: OptionsDatabase;
        };
    } | {
        paths: string[];
        component: any;
        props: {
            options: readonly Readonly<{
                readonly key: string;
                readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
            }>[];
            feeds?: undefined;
            url?: undefined;
        };
    } | {
        paths: string[];
        component: any;
        props: {
            feeds: readonly OptionsDatabase[];
            url: string;
            options?: undefined;
        };
    })[]>;
    getApiPaths: (options: readonly Readonly<{
        readonly key: string;
        readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
    }>[], config: Readonly<{
        readonly name: string;
        readonly adminPageVisibility?: boolean | undefined;
        readonly twitterHandle: string;
        readonly description: string;
        readonly url: string;
        readonly propertyAddress: string;
        readonly adminRolePoints: number;
        readonly chainId: number;
        readonly rpcUrl: string;
        readonly options?: import("@devprotocol/clubs-core").ClubsPluginOptions | undefined;
        readonly plugins: readonly Readonly<{
            readonly id: string;
            readonly name?: string | undefined;
            readonly enable?: boolean | undefined;
            readonly options: import("@devprotocol/clubs-core").ClubsPluginOptions;
        }>[];
    }>) => Promise<({
        paths: string[];
        method: "POST";
        handler: ({ request }: {
            readonly request: Request;
        }) => Promise<Response>;
    } | {
        paths: (string | RegExp)[];
        method: "GET";
        handler: import("astro").APIRoute;
    })[]>;
    getSlots: (options: readonly Readonly<{
        readonly key: string;
        readonly value?: import("@devprotocol/clubs-core").ClubsGeneralUnit | undefined;
    }>[], __: Readonly<{
        readonly name: string;
        readonly adminPageVisibility?: boolean | undefined;
        readonly twitterHandle: string;
        readonly description: string;
        readonly url: string;
        readonly propertyAddress: string;
        readonly adminRolePoints: number;
        readonly chainId: number;
        readonly rpcUrl: string;
        readonly options?: import("@devprotocol/clubs-core").ClubsPluginOptions | undefined;
        readonly plugins: readonly Readonly<{
            readonly id: string;
            readonly name?: string | undefined;
            readonly enable?: boolean | undefined;
            readonly options: import("@devprotocol/clubs-core").ClubsPluginOptions;
        }>[];
    }>, { paths, factory }: import("@devprotocol/clubs-core").ClubsSlotsFactoryUtils) => Promise<{
        slot: string;
        component: any;
        props: {
            navigation: {
                display: string;
                path: string;
            };
        };
    }[] | {
        slot: string;
        component: any;
        props: {
            createNavigation: {
                label: string;
                link: {
                    display: string;
                    path: string;
                };
            };
        };
    }[]>;
    meta: {
        id: string;
        displayName: string;
        description: string;
        category: ClubsPluginCategory;
        previewImages: string[];
        readme: any;
        icon: string;
    };
};
export default _default;
