import { C as CODES, P as PENDING, E as ERROR_CODES, a as Props } from './main-c235008f.js';
export { l as listenResize } from './main-c235008f.js';
import * as vue from 'vue';
import { PropType, Ref } from 'vue';

declare const _default: vue.DefineComponent<{
    color_scheme: {
        type: PropType<"light" | "dark">;
        default: "light" | "dark";
    };
    href: {
        type: PropType<string>;
        required: true;
    };
    lazy: {
        type: PropType<boolean | undefined>;
        default: boolean | undefined;
    };
    mobile: {
        type: PropType<boolean | undefined>;
        default: boolean | undefined;
    };
    num_posts: {
        type: PropType<number>;
        default: number;
    };
    order_by: {
        type: PropType<"time" | "reverse_time">;
        default: "time" | "reverse_time";
    };
    lang: {
        type: PropType<string>;
        default: string;
    };
    origin: {
        type: PropType<string>;
        default: string;
    };
    no_socket: {
        type: PropType<boolean>;
        default: boolean;
    };
    active: {
        type: PropType<boolean>;
        default: boolean;
    };
    no_popup: {
        type: PropType<boolean>;
        default: boolean;
    };
    service: {
        type: PropType<string>;
        default: string;
    };
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
    [key: string]: any;
}>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, Readonly<vue.ExtractPropTypes<{
    color_scheme: {
        type: PropType<"light" | "dark">;
        default: "light" | "dark";
    };
    href: {
        type: PropType<string>;
        required: true;
    };
    lazy: {
        type: PropType<boolean | undefined>;
        default: boolean | undefined;
    };
    mobile: {
        type: PropType<boolean | undefined>;
        default: boolean | undefined;
    };
    num_posts: {
        type: PropType<number>;
        default: number;
    };
    order_by: {
        type: PropType<"time" | "reverse_time">;
        default: "time" | "reverse_time";
    };
    lang: {
        type: PropType<string>;
        default: string;
    };
    origin: {
        type: PropType<string>;
        default: string;
    };
    no_socket: {
        type: PropType<boolean>;
        default: boolean;
    };
    active: {
        type: PropType<boolean>;
        default: boolean;
    };
    no_popup: {
        type: PropType<boolean>;
        default: boolean;
    };
    service: {
        type: PropType<string>;
        default: string;
    };
}>>, {
    color_scheme: "light" | "dark";
    lazy: boolean | undefined;
    mobile: boolean | undefined;
    num_posts: number;
    order_by: "time" | "reverse_time";
    lang: string;
    origin: string;
    no_socket: boolean;
    active: boolean;
    no_popup: boolean;
    service: string;
}>;

type MayBeRef<T> = T | Ref<T>;
declare function useEmbed(el: MayBeRef<HTMLIFrameElement | {
    $el: HTMLIFrameElement;
} | undefined>): {
    code: Ref<{
        code: CODES | PENDING;
        message?: string | undefined;
    }>;
    loading: Ref<boolean>;
    error: Ref<(Error & {
        code: ERROR_CODES;
    }) | undefined>;
};
declare function useEmbedSize(el: MayBeRef<HTMLIFrameElement | {
    $el: HTMLIFrameElement;
} | undefined>): {
    width: Ref<number>;
    height: Ref<number>;
};
declare function useEmbedHeight(el: MayBeRef<HTMLIFrameElement | {
    $el: HTMLIFrameElement;
} | undefined>): Ref<number>;
declare function setPropValue(el: MayBeRef<HTMLIFrameElement | {
    $el: HTMLIFrameElement;
} | undefined>, props: Partial<Props>, origin?: string): Promise<void>;
declare function setPropValue<T extends keyof Props>(el: MayBeRef<HTMLIFrameElement | {
    $el: HTMLIFrameElement;
} | undefined>, prop: T, value: Props[T], origin?: string): Promise<void>;

export { _default as EmbedFbCmt, setPropValue, useEmbed, useEmbedHeight, useEmbedSize };
